名古屋出身ソフトウェアエンジニアのブログ

動画編集用に素材を変換する FFmpeg コマンド集

公開:
更新:

なぜか、年明けから DaVinci Resolve で動画編集の仕事をしています。

DaVinci Resolve で編集中のシークが重かったり、素材の形式に起因する問題等が発生したりしたので、FFmpeg で先に素材を使いやすい形式に変換しておくコマンドをまとめてみました。

この記事での処理内容は、DaVinci Resolve 重視で考えられていますので、ご留意ください。

動画素材自体を直接変換

成果物に使う素材をノンリニア編集に向いている形式へ変換します。 H.264 形式に比べると明らかに編集時のシークが軽いです。

編集ソフトが安全に扱えるように、また扱えない形式を回避するために、予めコーデックを揃えておくこともできます。

現時点では、Windows 環境を含めても Apple ProRes が最も使いやすいと感じます。

Apple ProRes へエンコード

映像自体が商材でないような用途なら、基本的に以下の設定で十分な品質だと思います。

ffmpeg -i INPUT.webm -c:v prores_ks -profile:v hq -c:a alac OUTPUT.mov

最高品質プロファイル 4444xq を使用する場合は以下です。

ffmpeg -i INPUT.webm -c:v prores_ks -profile:v 4444xq -c:a alac OUTPUT.mov

こちらは、アルファチャネルに対応しています。透過情報を含むオーバーレイ用の素材を扱う場合に向いています。ただし、アルファチャネル付き動画自体を再生できるプレイヤーはあまり存在していないです。

DNxHR へエンコード

Apple の柵がない代わりに、ドキュメントが貧弱で、対応ソフトウェアもいまのところ心許ないです。

ffmpeg -i INPUT.webm -c:v dnxhd -profile:v dnxhr_hq -c:a pcm_s24le -ar 48000 OUTPUT.mov

軽量プロキシメディアの作成

最終的に使われる素材としてではなく、高速にシークできるような代替メディアを作成します。

ffmpeg -i INPUT.webm -c:v dnxhd -profile:v dnxhr_lb -vf "scale=1280:720,fps=24000/1001,format=yuv422p" -c:a pcm_s16le -ar 48000 OUTPUT.mov

動画編集ソフトでオリジナル素材に対してリンクすることで、プレビューを高速に行うことができます。

DaVinci Resolve でプロキシメディアをリンクするコンテキストメニュー

ただ、DaVinci Resolve にはプロジェクト内でプロキシメディアを生成する機能があるので、出番はあまりないかもしれません。

APNG を動画形式へ変換(透過情報を含む)

DaVinci Resolve は APNG を動画として扱うことができないので、透過情報対応のある動画フォーマットへ変換します。

ffmpeg -i INPUT_APNG.png -pix_fmt yuva444p10le -c:v prores_ks -profile:v 4444xq OUTPUT.mov