Cytrogen 的个人博客

万圣节恶魔的领地

马上订阅 Cytrogen 的个人博客 RSS 更新: https://cytrogen.icu/atom.xml

ffmpy3 批量合并 ts 文件

2023年1月21日 09:37

如何使用 Python 的 ffmpy3 包来批量合并 ts 文件至单个 mp4 文件。

开始阅读前,需要知道:
  • ffmpy3 是 FFmpeg 的 Python 包装器
  • ffmpy3 根据提供的参数和选项来编译 FFmpeg 命令行

ffmpy3 使用

安装 ffmpy3 包

使用 pip 来安装:

pip install ffmpy3

ffmpy3 简单例子

import ffmpy3ff = ffmpy3.FFmpeg (    inputs = {'输入文件': '参数1'},    outputs = {'输出文件': '参数2'})

最终得出结果相当于在终端里输入:

FFmpeg 参数1 -i 输入文件 参数2 输出文件

批量合并 ts 文件

路径构造

├───文件夹│    Python文件.py│    file.txt│    文件A.ts│    文件B.ts│    文件C.ts│    文件D.ts...

file.txt

在 file.txt 内部写下 ts 文件名:

file '文件A.ts'file '文件B.ts'file '文件C.ts'file '文件D.ts'

注意:

  1. 使用单引号,而非双引号,后者会导致报错!
  2. 引号内的路径使用相对路径

Python 文件

使用这段代码来批量合并 ts 文件:

ff = ffmpy3.FFmpeg(        inputs={f'file.txt': '-f concat'},        outputs={f'文件名.mp4': '-c copy'})ff.run()

上述代码相当于在终端中输入:

FFmpeg -f concat -i file.txt -c copy 文件名.mp4