要在Python中合并多个TS(Transport Stream)文件为一个MP4文件,你可以使用ffmpeg库,这是一个非常强大的多媒体处理工具。以下是一个简单的步骤和示例代码,展示如何使用ffmpeg命令行工具通过Python来实现这一功能。
首先,确保你的系统中安装了ffmpeg。在大多数操作系统中,你可以通过包管理器来安装它,例如在Ubuntu上可以使用:
sudo apt-get install ffmpeg
然后,你可以使用Python的subprocess模块来调用ffmpeg命令合并TS文件并转换为MP4格式。这里是一个简单的Python脚本示例:
import subprocess
TS文件列表
ts_files = ['file1.ts', 'file2.ts', 'file3.ts']
输出的MP4文件名
output_file = 'output.mp4'
使用ffmpeg合并TS文件
command = ['ffmpeg', '-i', 'concat:' + '|'.join(ts_files), '-c', 'copy', '-bsf:a', 'aac_adtstoasc', output_file]
subprocess.run(command)
这段代码首先定义了一个TS文件列表和输出文件的名称。然后构建了一个ffmpeg命令,使用concat:来指定需要合并的TS文件,-c copy表示复制视频和音频流(不进行编解码),-bsf:a aac_adtstoasc是一个比特流过滤器,用于处理音频,最后指定输出文件名。
运行这个脚本,它会调用ffmpeg,将指定的TS文件合并并转换成一个MP4文件。确保所有的TS文件编码格式相同,以避免合并时出现问题。