Skip to content
/ VidMix Public

Video mixing tool, which can generate rhythm-synchronized mixed-cutting works by specifying BGM and multiple video directories.

License

Notifications You must be signed in to change notification settings

TobyQu/VidMix

VidMix

命令行视频混剪工具,能通过指定BGM和多个视频目录,生成节奏同步的混剪作品。

功能特点

  • 音频节拍检测和关键点识别
  • 视频场景自动分割和质量评估
  • 基于音乐节奏的智能视频片段选择
  • 自动视频合成和BGM融合
  • 视频时长自动适配BGM长度
  • 视频开场淡入和结尾淡出特效
  • 自动保持16:9标准宽高比
  • 智能过滤低分辨率视频
  • 优先选择与BGM匹配度高的片段
  • 保留视频原声并与背景音乐混合
  • 图形用户界面支持,操作更直观

安装

# 克隆仓库
git clone https://github.com/your-username/vidmix.git
cd vidmix

# 创建虚拟环境(使用uv)
uv venv

# 激活虚拟环境
source .venv/bin/activate

# 安装依赖
uv pip install -e .

使用方法

命令行模式

基本用法:

vidmix --bgm path/to/music.mp3 --video-dirs path/to/videos path/to/more/videos

所有选项:

vidmix --bgm path/to/music.mp3 --video-dirs path/to/videos --output my_mashup.mp4 --audio-mix 0.8 --min-clip 2.0 --max-clip 6.0 --audio-sync-offset 0.2

图形界面模式

启动图形界面:

python run_gui.py

或者如果已安装:

vidmix-gui

参数说明

  • --bgm: 指定BGM音频文件路径(必需)
  • --video-dirs: 指定一个或多个视频目录(必需)
  • --duration: 指定最终视频时长,单位为秒(可选,默认使用BGM长度)
  • --output: 指定输出文件路径(可选,默认为output.mp4)
  • --audio-mix: 指定BGM与原始音频的混合比例,0-1之间(可选,默认0.7)
  • --min-clip: 指定最小片段长度(可选,默认1.5秒)
  • --max-clip: 指定最大片段长度(可选,默认5秒)
  • --audio-sync-offset: 指定音频同步偏移量(可选,默认0秒)。正值使音频提前,负值使音频延迟。

示例

创建一个与BGM等长的混剪:

vidmix --bgm music/dance.mp3 --video-dirs videos/party videos/vacation

创建一个指定长度的混剪,调整音频混合比例:

vidmix --bgm music/epic.mp3 --video-dirs videos/action --duration 180 --audio-mix 0.9 --output epic_mashup.mp4

新增特性

  • 图形用户界面: 支持直观的图形操作界面,无需记忆命令行参数
  • 音频同步微调: 支持调整音频与视频的同步偏移量
  • 16:9比例适配: 自动调整视频为标准16:9比例,适合电影素材的黑边处理
  • 淡入淡出效果: 视频开场自动添加淡入效果,结尾添加淡出效果
  • 分辨率筛选: 自动过滤低于720p的视频片段
  • BGM匹配优化: 改进的算法能优先选择与BGM情绪和节奏最匹配的视频片段
  • 视频时长跟随BGM: 视频长度默认与BGM保持一致,不再需要手动设置

依赖项

  • librosa: 音频分析库
  • moviepy: 视频编辑库
  • opencv-python: 计算机视觉库
  • scenedetect: 视频场景分割库
  • pydub: 音频处理库
  • numpy: 科学计算基础库
  • tqdm: 进度条显示库
  • PySide6: Qt 框架的Python绑定,用于GUI

许可证

MIT

贡献

欢迎提交问题、功能请求和贡献代码。

About

Video mixing tool, which can generate rhythm-synchronized mixed-cutting works by specifying BGM and multiple video directories.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published