一款基于AI的自动视频剪辑工具,5分钟即可完成传统一天的工作量,亦是一种ai剪辑的方法论
新版本已经发布,现版本将不再维护 MADvolution2_剪辑跃迁
✅ 极速剪辑 - AI自动处理,10分钟完成传统48小时工作量
✅ 全流程解决方案 - 从音乐分析到视频拼接一站式完成
✅ 智能节奏匹配 - 基于音乐节拍的精准画面同步
✅ 模块化架构 - 灵活配置满足不同剪辑需求
✅ 完全开源 - MIT协议自由使用与二次开发
组件 | 要求 |
---|---|
Python | 3.8+ |
FFmpeg | 最新版 |
内存 | 8GB+ |
显卡 | 支持CUDA(可选) |
# 克隆仓库
git clone https://github.com/your-repo/MAD-editor.git
cd MAD-editor
# 安装依赖
pip install -r requirements.txt
# 安装Python依赖
pip install librosa==0.10.1 pydub==0.25.1 matplotlib==3.8.2 numpy==1.26.0
# 安装音频处理工具
# Windows安装ffmpeg
winget install Gyan.FFmpeg
# Linux安装
sudo apt install ffmpeg
- 支持格式: .flac/.mp3/.wav
- 采样率: 推荐44100Hz或48000Hz
- 比特率: 不低于192kbps
# config.py 完整配置
ANALYSIS_SETTINGS = {
'bpm_detection': True, # 启用BPM检测
'beat_sensitivity': 0.8, # 节拍敏感度(0-1)
'segment_length': 15, # 分段长度(秒)
'sample_rate': 44100, # 重采样率
'hop_length': 512, # 分析帧间隔
'n_fft': 2048 # FFT窗口大小
}
# 歌词文件处理
LYRIC_SETTINGS = {
'max_line_chars': 20, # 单行最大字符数
'min_duration': 2.5 # 最小显示时长(秒)
}
- clip_guide_template.py: 自动生成的剪辑指导模板
- beat_timeline.json: 节拍时间轴数据
- analysis_report.html: 可视化分析报告
# config.py 新增AI配置
AI_SETTINGS = {
'model_name': 'gpt-4-turbo', # 使用模型
'temperature': 0.7, # 创意度(0-1)
'max_tokens': 4096, # 最大输出长度
'prompt_version': 'v2.3' # 提示词版本
}
# 标准提示词结构
1. **角色设定**:明确AI作为MAD专家的身份
2. **输入规范**:要求提供音乐分析文件和字幕文件
3. **输出要求**:
- 严格遵循`第X集 mm:ss.ms~mm:ss.ms`时间格式
- 重复歌词差异化处理
- 按三幕剧结构分配剧情
4. **错误防御**:
- 禁止省略任何歌词对应分镜
- 禁止使用未标注的素材
- 预处理:
python prepare_input.py --music 音乐文件 --subtitle 字幕文件
- AI生成脚本:
python generate_script.py --input 分析结果.json --output 分镜脚本.md
- 后处理验证:
python validate_script.py --script 分镜脚本.md
| 时间段 | 歌词内容 | 集数+时间码 | 画面对应内容 |
|--------|----------|----------------|--------------|
| 00:29-00:37 | 电视一直闪... | 第3集 10:48.03~10:55.03 | 灯独自看电视的侧脸 |
| 00:37-00:44 | 你待我的好... | 第5集 15:20.10~15:27.10 | 乐队练习室争吵场景 |
# 安装OpenCV和视频处理依赖
pip install opencv-python==4.8.0 numpy==1.26.0
# 安装FFmpeg (如果尚未安装)
winget install Gyan.FFmpeg # Windows
sudo apt install ffmpeg # Linux
- 格式: MP4/MOV
- 分辨率: 建议1080p或以上
- 帧率: 23.976/24/25/29.97/30/50/60fps
- 编码: H.264/H.265
# auto_cut_video.py 关键参数
CUT_SETTINGS = {
'min_scene_duration': 2.0, # 最小场景时长(秒)
'threshold': 30.0, # 场景变化阈值
'fade_duration': 0.5, # 淡入淡出时长
'output_codec': 'libx264', # 输出编码格式
'output_preset': 'fast' # 编码预设
}
# 基本用法
python 2_mad素材切割/auto_cut_video.py --input 番剧原片/ --output output/
# 高级选项
python 2_mad素材切割/auto_cut_video.py \
--input 番剧原片/ \
--output output/ \
--min-duration 2.0 \
--threshold 25.0 \
--fade 0.3
- 文件名格式: {序号}_{时间码}.mp4
- 元数据文件: cuts_metadata.json
# Windows安装FFmpeg
winget install Gyan.FFmpeg
# Linux安装
sudo apt install ffmpeg
# 验证安装
ffmpeg -version
# video_editor.py 关键参数
EDITOR_CONFIG = {
'transition_style': 'crossfade', # 转场效果
'min_clip_duration': 2.0, # 最小片段时长
'max_clip_duration': 5.0, # 最大片段时长
'output_resolution': (1920, 1080) # 输出分辨率
}
- 视频素材文件名必须以数字开头 (如: "001_场景.mp4")
- 音乐文件格式支持: .flac/.mp3
- 输出目录自动创建
# 音频淡入效果参数
audio_params = {
'fade_in_duration': 2.0, # 淡入时长(秒)
'volume': 0.8, # 背景音乐音量(0-1)
'delay': 0 # 音频延迟(秒)
}
❓ 音乐分析不准确
- 确保输入音频质量良好
- 调整config.py中的敏感度参数
❓ 视频拼接不同步
- 检查素材帧率是否一致
- 重新生成时间轴标记
- Fork本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 发起Pull Request
MIT License - 详见 LICENSE 文件
该项目的潜力不止于此,只需要稍微修改,便可以使用ai用于减轻剪辑时的压力。 在商业项目中可以通过使用ai字幕工具提取不需要的空白内容,提取碎片化的片段。 亦可以在剪辑过程中,您可以让ai裁剪素材并输出合并的内容,为您的剪辑提供灵感,或者轻度剪辑,减轻您的难度。
非常感谢您看到这里,如果您对这个项目感兴趣,欢迎您为我点个⭐,不管怎样,谢谢您!