基于moviepy的自动剪辑脚本

1705833061808

auto_clip是一个命令行工具
可以根据yaml配置文件进行自动视频剪辑

GitHub:https://github.com/lingjianrui/auto_clip

夸克:https://pan.quark.cn/s/de6934f15d5c

autogen

根据script.yaml文件 创建剪辑工程

script.yaml 例子

test_script.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
编号: 森咖啡-script1
工程: 森咖啡
标题: 快乐氛围
配音: zh-CN-YunxiNeural
字体: yishu.ttf
字号: 80
脚本:
- 镜头: 猫
内容: 森咖啡为您创造愉快的氛围就像与小猫玩耍一样快乐充满每一个角落
- 镜头: 大厅
内容: 在这个温馨的大厅中幸福的氛围伴随着香浓的咖啡让您的心情愉悦起来
- 镜头: 卡座2
内容: 舒适的卡座营造出宜人的快乐氛围让您与亲友共度美好的时光
- 镜头: 卡座1
内容: 在舒适的卡座中与亲友共享美味咖啡每一刻都充满了快乐和欢笑
- 镜头: 门头
内容: 当您需要一份快乐森咖啡的大门随时为您敞开让您进入快乐的世界
  1. 内容中不能包含任何特殊字符,标点符号
  2. 镜头中必须是素材中的tag标签
  3. 配音使用的是edge_tts,所以声音类型可以去看edge_tts的官方文档
  4. 字体是去 素材/字体 搜索, 应该确保有响应的字体在 这个目录里

engine

根据指定的剪辑工程目录,进行自动剪辑
主要解析cookbook.yaml文件

cookbook.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
影片:
- BGM:
文件: Different.mp3
音量: 0.5
内容顺序:
- 保留全部音频: false
固定镜头名称: ''
固定镜头文件名称: ''
固定镜头片段: ''
固定音频音量: 0
是否随机: true
随机镜头时长: 5.99
随机镜头类别: 猫
- 保留全部音频: false
固定镜头名称: ''
固定镜头文件名称: ''
固定镜头片段: ''
固定音频音量: 0
是否随机: true
随机镜头时长: 6.04
随机镜头类别: 大厅
- 保留全部音频: false
固定镜头名称: ''
固定镜头文件名称: ''
固定镜头片段: ''
固定音频音量: 0
是否随机: true
随机镜头时长: 5.58
随机镜头类别: 卡座2
- 保留全部音频: false
固定镜头名称: ''
固定镜头文件名称: ''
固定镜头片段: ''
固定音频音量: 0
是否随机: true
随机镜头时长: 5.97
随机镜头类别: 卡座1
- 保留全部音频: false
固定镜头名称: ''
固定镜头文件名称: ''
固定镜头片段: ''
固定音频音量: 0
是否随机: true
随机镜头时长: 7.13
随机镜头类别: 门头
字幕:
字体: yishu.ttf
字号: 80
文件: 森咖啡-script1.srt
颜色: white
影片封面: ''
标题: 快乐氛围
片尾:
文件: 片尾.mp4
音量: 1
编号: 森咖啡-script1
音频:
文件: 森咖啡-script1.wav
音量: 0.8
素材文件前缀: 森咖啡

Python3.9.2

如何运行

1
python autogen.py --script test_script.yaml --project project_folder  

会在project_folder中生成cookbook.yaml 以及 配音 和 字幕 文件

1
python engine.py --project project_folder --assets assets_folder  

指定工程目录project_folder 和 素材目录生成视频