背景と判断の流れ(先に全体像)

PCの空き容量が10GBを切っており、先に動画ファイルを圧縮して容量を確保する必要があった。
複数の動画をまとめて処理するために圧縮用のバッチを作って試したところ、40分程度の動画1本に80分近くかかり、この待ち時間に毎回付き合うのはコスパが悪すぎると感じた。

設定を細かく詰める方向ではなく、実行環境の前提そのものを見直した方が早いと判断し、最終的にGPUを使う方式に切り替えた。

結論

処理内容そのものではなく、「CPUで処理する前提」がボトルネックだった。
実行環境と制約を整理した上でGPUを使う方式に切り替えた結果、
40〜50分の動画が数分程度で処理できるようになり、待ち時間を前提に作業を組み立てる必要がなくなった。


やりたかったこと / 課題


前提・環境

※ 後から再現できる粒度を意識して整理した


試したこと

案1:CPU前提での動画圧縮

まずは一般的な設定で動画を圧縮するバッチを作成し、動作確認を行った。

結果


案2:CPU前提のまま調整

結果


ダメだった理由 / 捨てた判断


最終的に選んだ方法

実行環境を整理し、GPUアクセラレーションが利用可能かを確認した。
CPUで処理する前提をやめ、GPUの専用回路を使う方式に切り替えた。

ffmpeg -i input.mp4 \
  -c:v hevc_qsv -global_quality 24 -preset medium \
  -c:a copy output.mp4

結果


注意点・補足

まとめ