質問: Windows 10(64bit)にてffmpegを使用し、H.264によるMPEG4エンコードを行っています。 通常のCPUによるエンコードではエンコード速度に限界があるため、NVENCによるハードウェアエンコードをトライしているのですが、ビットレートを指定してもある一定のビットレート以上の書き出しができず、困っています。 具体的には ffmpeg -i (元ファイル) -vcodec nvenc_h264 -vf stereo3d=sbsl:abl -b:v 60M -s 2160x2160 -r 60 -c:a copy (書き出し先ファイル) といった形で60MbpsのMP4ファイルを生成しようとしても、実測で35Mbps付近までしかビットレートが上がりません。 NVENCを使用しなければ60Mbpsで書き出しができるので、素人考えで「エンコーダーの仕様なのかな?」と考えているのですが、CPUに比べてNVENCで変換すると実行速度が1/5まで早くなるため、なんとか60Mbpsで書き出しができないものかと悩んでおります。 まだffmpegを始めたばかりでミスなどもあるかもしれません。忌憚なくご指摘いただければ幸いです。よろしくお願いいたします。 追記:タイトルの編集を頂きありがとうございます。 変換元のファイルについて補足説明いたします。元ファイルは3840x960のMP4(60MBps、60フレーム、h.264 / AVCコーデック)で、side by sideの3D視聴用の動画データです。これを「同じコーデック・ビットレート・フレーム数」でTop to bottom(2160x2160)形式に変換しようとしています。併せてご参考にしていただければ幸いです。よろしくお願いいたします。
回答: 解決しました。ありがとうございました。 以下のコマンドにより、60Mbps付近で変換を行うことができました。 ``` ffmpeg -i (元ファイル名) -vcodec nvenc_h264 -vf stereo3d=sbsl:abl -b:v 60M -minrate 60M -maxrate 60M -qmin 1 -qmax 20 -s 2160x2160 -r 60 -c:a copy (書き出し先ファイル名) ``` @yohjp さん、非常に参考になりました。ありがとうございました。