Pythonを使って動画のtsファイルをmp4に変換する処理で、ffmpegを使用します。
ffmpegは多くのプラットフォームで利用可能で、動画・音声の変換や編集に広く使用されています。
まず、Pythonで外部コマンドを実行するためにsubprocessモジュールを使用します。
そして、ffmpegを呼び出して.tsファイルを.mp4に変換します。
ffmpegをコマンドラインから使えるようにインストールし、Pythonスクリプト内でsubprocessを使ってffmpegを呼び出します。
import subprocess def convert_ts_to_mp4(input_file, output_file): try: # ffmpegを呼び出して.tsファイルを.mp4に変換 subprocess.run(['ffmpeg', '-i', input_file, '-c:v', 'libx264', '-c:a', 'aac', output_file], check=True) ##画質を落として高速化 ##subprocess.run(['ffmpeg', '-i', input_file, '-c:v', 'libx264', '-crf', '23', output_file], check=True) print("変換が完了しました。") except subprocess.CalledProcessError as e: print("変換中にエラーが発生しました。") print(e) if __name__ == "__main__": input_ts_file = "input.ts" # 変換したい.tsファイルのパスを指定 output_mp4_file = "output.mp4" # 出力ファイル名(.mp4)を指定 convert_ts_to_mp4(input_ts_file, output_mp4_file)
動画が長いほど変換に時間がかかります。
短い動画は比較的高速に変換されますが、長い動画はそれに比例して時間がかかります。
実行環境によりますが、大きく長いファイルの場合、元の動画の大きさ以上に時間がかかります。