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)
動画が長いほど変換に時間がかかります。
短い動画は比較的高速に変換されますが、長い動画はそれに比例して時間がかかります。
実行環境によりますが、大きく長いファイルの場合、元の動画の大きさ以上に時間がかかります。