ffmpeg 4.0 から追加されたエンコーダ。AMF(Advanced Media Framework) SDK を使ったAMD の VCE(Video Coding Engine) を ffmpeg で使う方法。RX470 で試したところ、h264_amf のほうが、hevc_amf よりも VAMFスコアを見る限り高画質でエンコード速度は少し遅く、デコード速度が早くなる。hevc_amf で出力した動画は MPC-HC, VLC で見るととてもシークが遅い。そしてどちらも LAV Video decoder を使うとシーンチェンジ部分や、シーク直後ではビットレートが低いと映像がよく乱れるが、VLC では乱れない。

関連記事
ffmpeg に nvenc(cuda) をインストールする
qsv 対応の ffmpeg をつくる

hardware acceleration の Wiki:HWAccelIntro – FFmpeg

準備

エンコード例

libx264 などで使える、crf, minrate, maxrate は使えないので、b:v でビットレート指定、または qmin, qmax で品質の上下指定、qp_i, qp_p, qp_b で各フレームの品質指定をする。既定値は平均ビットレート 2000kb/s になっている。pass 指定はできないので2パスエンコードはできない。
ffmpeg -i input -vcodec h264_amf -quality quality -acodec copy output.mp4
ffmpeg -i input -vcodec hevc_amf -quality quality -acodec copy output.mkv

可逆圧縮例
ffmpeg -i input -vcodec h264_amf -qmin 0 -qmax 0 -acodec copy output.mp4

h264_amf のオプション

公式ドキュメント PDF:AMF_Video_Encode_API
ffmpeg -h encoder=h264_amf
品質オプションの、quality は 既定値の speed から balanced, quality の順番に画質がよくなる代わりに処理が遅くなる。rc cbr が既定値になっている。

hevc_amf のオプション

公式ドキュメント PDF:AMF_Video_Encode_HEVC_API
ffmpeg -h encoder=hevc_amf
品質オプションの、quality は 既定値の speedbalanced, quality は同じ品質の動画にエンコードされる。rc cbr が既定値になっている。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)