H.264(Intel Quick Sync)コーデックを使用してBandicamでゲームプレイを記録しているときに、FFmpegについて知りました。残念ながら、私のビデオの1つがAVIラッパーに記録されてしまい、それをある程度ロスレスな方法でMP4にトランスコードしたかったのです
ラッパーを変更したい理由は、Adobe Premiere Pro CC 2017がどういうわけかAVIをうまく処理できず、ラッパーとしてH.264とMP4を使用してエクスポートすると、ビデオ全体が壊れているように見えるためです。
そこで、FFmpegを取得し、次のコマンドを使用してビデオをトランスコードしようとします。
_ffmpeg -i vid.avi -c:v h264_qsv -crf 10 -r 50 -c:a aac -b:a 192k -ac 2 vid.mp4
_
黄色で表示されるエラーは次のとおりです。
Codec AVOption crf (Select the quality for constant quality mode) specified for output file #0 (vid.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
H.264(Intel Quick Sync)がCRFをサポートしていると確信しています。または、H.264(QSV)とlibx264を混同して、明らかにCRFをサポートしている可能性があります。
この周りに何かありますか? FFmpegver。 20170921-183fd30、64ビット、静的。
編集:回避策rnは、libx264に戻って、faster
、veryfast
、またはsuperfast
を実行することですが、IntelQuickを使用してかなりの時間を節約したいと思います。同期します。
QSVエンコーダーにはCRFと呼ばれるパラメーターがありません。同等のレート制御方法はLA_ICQです。
https://software.intel.com/en-us/articles/common-bitrate-control-methods-in-intel-media-sdk :
X264のデフォルトのレートコントロール(FFmpegのデフォルトのh264実装)はCRFです。これにより、ビットレートの変動によって目標の品質レベルを維持できます。 Media SDKのICQとLA_ICQは、このクラスのアルゴリズムに最適です。
それを呼び出すには、次の形式のコマンドが必要です。
ffmpeg -i in.mp4 -c:v h264_qsv -global_quality 10 -look_ahead 1 out.mp4
look_ahead
は1
である必要があります。 global_quality
の値は1〜51です。値が小さいほど品質が高くなります。 〜25は、x264 CRF23と同等である必要があります。