基于 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: 输出文件的名称。
