import os from natsort import natsorted

获取当前脚本所在目录

dir_path = os.path.dirname(os.path.realpath(file))

存储当前文件夹下的所有 mp4 文件路径

L = [] for root, dirs, files in os.walk(dir_path): files = natsorted(files) for file in files: # 只处理 mp4 文件 if os.path.splitext(file)[1] == '.mp4': file_path = os.path.join(root, file) L.append(file_path)

生成 ffmpeg 命令

commands = [] for l in L: commands.append(f'ffmpeg -i "{l}" -vcodec copy -acodec copy -bsf:v h264_mp4toannexb "{os.path.join(dir_path, os.path.splitext(l)[0] + '.ts')}"')

concat_command = f'ffmpeg -i "concat:{'|' .join([os.path.join(dir_path, os.path.splitext(i)[0] + '.ts') for i in L])}" -acodec copy -vcodec copy -bsf:a aac_adtstoasc "{os.path.join(dir_path, 'output.mp4')}"'

rm_command = f'rm "{os.path.join(dir_path, '*.ts')}"'

执行 ffmpeg 命令

for command in commands: os.system(command)

os.system(concat_command) os.system(rm_command)

print('完事了!')

Python3 代码:将 MP4 文件合并为单个 MP4 并生成 TS 文件,所有文件保存在源目录

原文地址: https://www.cveoy.top/t/topic/nzIv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录