Pythonで動画サイズを簡単変更|自動化スクリプトで手間いらずの変換方法
Pythonで動画サイズを変更する方法
Pythonとffmpegを組み合わせると、動画のサイズを簡単に変更できます。
これから紹介する方法で、自動的に動画の解析度を変更し、特定の目的に合った動画を作成することができます。
自宅で動画を再生するだけでなく、Pythonの動画サイズ変更スクリプトを使うことによって、多くの動画を一括処理することができるようになります。
必要なツールの準備
ffmpegのインストール
動画編集のコマンドラインツール、ffmpegをインストールします。
Macの場合、Homebrewを使って次のようにインストールします。
brew install ffmpeg
Pythonの準備
次に、Pythonがインストールされていることを確認します。
Pythonからsubprocessを利用してffmpegを呼び出すことで、動画の自動化変換を実現します。
Pythonスクリプトで動画サイズを変更する
動画を指定の解像度に変換するPythonコードを見てみましょう。
Pythonコード例
以下のコードでは、input.mp4を720pに変換しています。
import subprocess
input_file = "input.mp4"
output_file = "output_resized.mp4"
resolution = "1280x720"
command = [
"ffmpeg",
"-i", input_file,
"-vf", f"scale={resolution}",
"-c:a", "copy",
output_file
]
subprocess.run(command)
このコードを実行することで、input.mp4からoutput_resized.mp4という動画ファイルが作成され、解像度が1280×720に変更されます。
コードの解説
このPythonスクリプトの主要な要素を説明します。
-i input.mp4: 入力する動画ファイルを指定します。-vf scale=1280x720: 動画のサイズを1280×720に変更します。-c:a copy: 音声は変換せずコピーします。output_resized.mp4: 出力する動画ファイル名です。
-vfオプションのscaleを使用することで、動画の解像度を指定し、それに応じたサイズ変更が行えます。
様々な設定で動画変換を自在に
サイズ指定のバリエーション
scaleオプションを変えることで、任意のサイズに変更できます。
- HDに変換したい場合は、
"scale=1920:1080"にします。 - SDに変換したい場合は、
"scale=640:480"にします。
アスペクト比を維持する
元のアスペクト比を維持したままサイズ変更したい場合は、scaleにforce_original_aspect_ratioを追加します。
"-vf", "scale=w=1280:h=720:force_original_aspect_ratio=decrease"
進化する動画変換術
Pythonとffmpegを使った動画変換スクリプトを使用することで、いくつかの素晴らしい利点があります。
- 時間や手間を大幅に削減できる
- 大量の動画ファイルを一括変換できる
- 一貫した品質でプロジェクトに適した形式に変換できる
イメージしていたPython動画変換の実行プロセスを、自分のライフスタイルに合わせてカスタマイズすることで、作業が更にスムーズになります。