32802


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）形式に変換しようとしています。併せてご参考にしていただければ幸いです。よろしくお願いいたします。


CC BY-SA 3.0
2017-02-06T02:44:43.877
32417
2017-02-20T05:03:27.137
2017-02-06T03:50:50.743
20526
20526
question
ffmpeg windows-10
NVENCを使用したh.264エンコードにおけるビットレートの実質上限を突破できないか


解決しました。ありがとうございました。  
以下のコマンドにより、60Mbps付近で変換を行うことができました。

[code]

    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 （書き出し先ファイル名）
    
[/code]

@yohjp さん、非常に参考になりました。ありがとうございました。


CC BY-SA 3.0
2017-02-20T05:03:27.137
32802
2017-02-20T05:03:27.137
20526
32417
answer