要将一个文件夹中所有的*.ts文件合并成一个视频文件,可以使用FFmpeg库来处理。
首先,确保你的系统中已经安装了FFmpeg。
然后,可以使用以下代码来实现:
- import os
-
- # 定义输入文件夹路径和输出文件名
- input_folder = "path/to/input/folder"
- output_file = "path/to/output/file.mp4"
-
- # 使用os模块的walk函数遍历文件夹中的所有文件
- for root, _, files in os.walk(input_folder):
- # 遍历文件夹中的所有文件
- for file in files:
- # 判断文件是否为*.ts文件
- if file.endswith(".ts"):
- # 构建输入文件的路径
- input_file = os.path.join(root, file)
-
- # 使用FFmpeg合并命令将.ts文件合并为.mp4文件
- command = f"ffmpeg -i {input_file} -c copy -bsf:v h264_mp4toannexb -f mpegts temp.ts"
- os.system(command)
-
- # 使用FFmpeg合并命令将所有.temp.ts文件合并为最终的.mp4文件
- command = f"ffmpeg -i \"concat:temp.ts|\" -c copy {output_file}"
- os.system(command)
-
- # 删除临时文件
- os.remove("temp.ts")
请注意替换代码中的input_folder和output_file变量为你自己的路径。
这段代码首先遍历文件夹中的所有文件,如果文件是以.ts结尾的文件,则使用FFmpeg将其转换为.mp4格式的.temp.ts文件。然后使用FFmpeg将所有.temp.ts文件合并为一个最终的.mp4文件,并且删除临时文件。