基于 ffmpeg 实现合并视频
ffmpeg是一个强大的多媒体处理工具,支持视频文件的合并。
列出目录下所有MP4文件
import os
import glob
# 当前目录
directory = os.getcwd()
directory = "/directory/to/mp4/*"
# 列出目录下所有MP4文件
files = glob.glob(directory)
# 排序
files.sort()
# 追加到文件
with open("mylist.txt", "a") as f:
for file in files:
if file.endswith('.mp4'):
f.write("file '"+file+"'\n")
这将生成一个名为mylist.txt的文件,内容类似于:
file 'video1.mp4'
file 'video2.mp4'
file 'video3.mp4'
ffmpeg 合并视频
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4
参数说明:
-f concat
: 指定输入格式为concat,用于连接多个文件。
-safe 0
: 允许使用相对路径的文件列表。
-i mylist.txt
: 指定输入文件列表。
-c copy
: 直接复制视频和音频流,不进行重新编码,因此速度非常快。
output.mp4
: 输出文件的名称。