Web公開で最高のVP9品質を得るためのffmpegの設定


2

Apple ProRes 422形式のビデオがあり、Webで公開するためにGoogleのVP9にエンコードする予定です。ソースは次のとおりです。

Stream #0:0(und): Video: prores (apcn / 0x6E637061), yuv422p10le(bt709), 1920x1080, 114644 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 24k tbn, 24k tbc (default)

私の目標は、最高の(合理的な)品質でVP9にエンコードし、オリジナルとほとんど区別できないようにすることです。結果ファイルのサイズは実際の問題ではありません。今、私は次を使用しますが、Chromeのビデオは悪く見えます:

ffmpeg -i Source.mov -c:v libvpx-vp9 -b:v 4M -pix_fmt yuv420p -speed 4 -frame-parallel 0 -threads 2 -c:a libopus -b:a 320K Result.webm

-b:v 4M設定を増やしてみましたが、サイズは上がりますが、品質は上がりません。また、このガイドを試しましたが、おそらく時代遅れであり、満足のいく結果を得ることができません。ところで、私は最新のffmpegソースからコンパイルしました。

どのffmpeg設定を使用する必要がありますか?


しかし、最新のlibvpxはありますか?
-llogan

libvpx-devであるDebianのテスト今バージョン1.5.0-2のあるリポジトリ。
TranslucentCloud

回答:


2

速度4で1パスエンコードを実行しています。これは高速パラメーターですが、最適な品質にはほど遠い状態です。

ガイドは良いようですが、2パスまたは一定/制約のある品質設定を試しましたか?明らかに、例の1000kビットレートを保持しないでください。


そう、昨日はガイドに2回目の試行を行い、成功しました。詳細は私の答えにあります。
TranslucentCloud

2

さて、いくつかの実験の後、質問で言及したガイドが非常に役立つことがわかりました。「一定品質の推奨設定」セクションの手順で成功しました-crf。微調整する必要があるのは設定です。

非常に多くのテストの後-crf 23、結果webmファイルの品質が元のファイルと比較して非常に良好な設定になりました。

正確なffmpegコマンドは次のとおりです。

  1. 最初のパス:

    ffmpeg -i Source.mov -c:v libvpx-vp9 -pass 1 -pix_fmt yuv420p -b:v 0 -crf 15 -threads 2 -speed 4 -tile-columns 6 -frame-parallel 1 -an -y -f webm /dev/null
    
  2. セカンドパス:

    ffmpeg -i Source.mov -c:v libvpx-vp9 -pass 2 -pix_fmt yuv420p -b:v 0 -crf 15 -threads 2 -speed 2 -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 -c:a libopus -b:a 320k -f webm Out.webm
    

何らかの理由で、-threads 2オプションにもかかわらず、最初のパスはすべてのCPUコア(私の場合は2)を使用しませんが、2番目のパスはすべてを使用します。


CRFモードでは、品質をそれほど犠牲にすることなく、2つのパスの使用をスキップできます。
ギャン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.