结合python使用ffmpeg将批量ts文件合成mp4。

一、获取ts文件,如下图所示。

结合python使用ffmpeg将批量ts文件合成mp4。_第1张图片

二、安装 ffmpeg 并配置到环境变量

linux:

apt-get install ffmpeg libavcodec-extra

windows:

1、进入 http://ffmpeg.org/download.html#build-windows下载ffmpeg

结合python使用ffmpeg将批量ts文件合成mp4。_第2张图片

 结合python使用ffmpeg将批量ts文件合成mp4。_第3张图片

 2、解压到文件夹并配置环境变量。

结合python使用ffmpeg将批量ts文件合成mp4。_第4张图片

 结合python使用ffmpeg将批量ts文件合成mp4。_第5张图片

 注意!!配置环境变量需指定到bin文件夹。

打开cmd命令,输入ffmpeg -version测试ffmpeg是否安装成功。结合python使用ffmpeg将批量ts文件合成mp4。_第6张图片

 三、编写一个脚本来获取所有的ts文件,把所有ts文件名称保存到txt文本中。

注意!!!txt文件需要与ts文件在同一目录下。

import os
filePath = "E:\\xyz\\dataset\\test" #ts所在的文件夹
file_list = sorted(os.listdir(filePath))#获得所有ts的名称
with open("E:\\xyz\\dataset\\test\\file_list.txt","w+") as f:#指定保存txt文件的地址
    for file in file_list:
        f.write("file '{}'\n".format(file))#把所有ts名称写如txt文件 格式:file '***.ts'

 结合python使用ffmpeg将批量ts文件合成mp4。_第7张图片

 结合python使用ffmpeg将批量ts文件合成mp4。_第8张图片

 四、在桌面打开cmd窗口执行ffmpeg命令进行合并。

ffmpeg -f concat -safe 0 -y -i E:\xyz\dataset\test\file_list.txt -c copy -strict -2 E:\xyz\dataset\concated.mp4

命令的解释:这里就是将前面的filelist.txt记录的ts视频合并成一个名为concated.mp4的视频。 -f concat:指定该操作是合并操作 -safe 0:用于避免操作输入流的权限问题 -c copy:用于指定输出视频流和输入视频流的编码格式保持一致 -strict -2: 用于避免opus in MP4 support is experimental这个问题。 

结果

结合python使用ffmpeg将批量ts文件合成mp4。_第9张图片

 

完结!!

参考:

实战详细讲解ffmpeg命令的使用(来自一线的经验,视频合并&avi转MP4&补空白音频【收藏下来一定用的到】) - 知乎

你可能感兴趣的:(ffmpeg,python)