先日、FFmpeg で動画変換を試しました。
実際にやってみると、変換に時間がかかることが判明...
調べたところ、GPU を使うと高速変換できることが分かったので、Intel CPU 内蔵 GPU の QSV を使うことにしました。
Intel Quick Sync Video - Wikipedia
Intel Quick Sync Video(インテル クイックシンクビデオ、QSV)とはIntelによって開発されたハードウェアによるビデオエンコード・デコード技術の名称である。
QSV で変換
QSV を使ったハードウェアエンコーダ例
$ ffmpeg -hwaccel_output_format qsv -i sample.MTS -filter:v yadif -tune film -q:v 18 -preset veryfast -c:v h264_qsv -c:a copy -movflags faststart -look_ahead 0 sample.mp4
※拡張子 .MTS
は AVCHD 形式の動画ファイルになります。
(AVCHD は、私が普段使っているビデオカメラ HDR-CX670 の標準形式)
ソフトウェアエンコーダ(非 QSV)の場合は、こんな感じ。
$ ffmpeg -i sample.MTS -tune film -crf 18 -preset veryfast -filter:v yadif -c:a copy -movflags faststart sample.mp4
コンテナフォーマットの変更
これは QSV 使ってませんが、コンテナフォーマットだけを変更して時短することもできます。
# MPEG2 -> MPEG4 にコンテナだけ変える(動画コーデック・音声コーデックともに無変換)
$ ffmpeg -i sample.mpg -vcodec copy -acodec copy sample.mp4