环境

window10, pycharm2023.1.3

介绍

要将 .ts 文件转换为 .mp4 文件,你可以使用 Python 调用外部程序 FFmpeg,也可以使moviepy,是一个强大的视频编辑库,它允许你轻松地处理视频和音频文件。

一、ffmpeg

1.安装 ffmpeg

window就直接下载安装包安装吧,https://ffmpeg.org/download.html?spm=5176.28103460.0.0.270c5d273Rt4bi 到管网上下载,然后配置到环境变量中,执行ffmpeg看是否有结果。

2.调用 ffmpeg

import subprocess

def convert_ts_to_mp4(input_file, output_file):
    try:
        # 构建 ffmpeg 命令
        command = [
            'ffmpeg',
            '-i', input_file,  # 输入文件
            '-c:v', 'copy',    # 复制视频流,不重新编码
            '-c:a', 'copy',    # 复制音频流,不重新编码
            output_file        # 输出文件
        ]

        # 执行命令
        result = subprocess.run(command, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

        # 打印输出信息
        print("转换成功!")
        print(result.stdout.decode('utf-8'))
        print(result.stderr.decode('utf-8'))

    except subprocess.CalledProcessError as e:
        print(f"转换失败: {e}")
        print(e.stderr.decode('utf-8'))

# 示例使用
input_file = 'input.ts'
output_file = 'output.mp4'
convert_ts_to_mp4(input_file, output_file)

二、moviepy

1.安装 moviepy

pip install moviepy

2.调用 moviepy

from moviepy.editor import VideoFileClip

def convert_ts_to_mp4(input_file, output_file):
    # 读取.ts文件
    clip = VideoFileClip(input_file)
    # 转换并保存为.mp4文件
    clip.write_videofile(output_file, codec='libx264')

if __name__ == '__main__':
    input_ts_file = 'path/to/your/input.ts'
    output_mp4_file = 'path/to/your/output.mp4'
    convert_ts_to_mp4(input_ts_file, output_mp4_file)