変換したい
ffmpeg -i input.mp4 -maxrate 63317762 -bufsize 63317762 -map_metadata -1 -vcodec libx265 -c:a copy -crf 28 -color_range 2 output.mp4
変換プロセスを高速化するために cuda を使用するコマンドに変換します。
私は試した
ffmpeg.exe -hwaccel cuvid -i input.mp4 -pix_fmt p010le -c:v hevc_nvenc -preset slow -rc vbr_hq -b:v 6M -maxrate:v 63317762 -bufsize:v 63317762 -c:a aac output.mp4
そしてそれはうまくいかなかった。
私は試した
ffmpeg.exe -hwaccel cuvid -i input.mp4 -c:v hevc_nvenc -preset slow -rc vbr_hq -b:v 6M -maxrate:v 63317762 -bufsize:v 63317762 -c:a aac output.mp4
動作しましたが、ビデオのビットレートは 6M に設定されました。
ffmpeg に、63317762 バイトまでのコンテンツに基づいて推測してもらいたいです。品質とビットレートの適切なトレードオフですが、63317762 バイト未満で、目に見えるブロックの構築やぼやけがないものが必要です。
そしてcuda付き。
どのコマンドがそれを実行しますか?
答え1
FFMpeg はレート制御を行いません。すべてのコーデック実装には独自のレート制御があります。Ffmpeg は、コマンド ラインから選択したエンコーダーにパラメーターを渡すだけです。x264 は制限付き CRF モードをサポートしています。Nvenc はサポートしていません。ビットレートまたは一定のレート係数を選択する必要があります。