命令行视频混剪工具,能通过指定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
欢迎提交问题、功能请求和贡献代码。