Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。10(64bit)にてffmpegを使用し、H.264によるMPEG4エンコードを行っています。通常のCPUによるエンコードではエンコード速度に限界があるため、NVENCによるハードウェアエンコードをトライしているのですが、ビットレートを指定してもある一定のビットレート以上の書き出しができず、困っています。(書き出し先ファイル)といった形で60MbpsのMP4ファイルを生成しようとしても、実測で35Mbps付近までしかビットレートが上がりません。NVENCを使用しなければ60Mbpsで書き出しができるので、素人考えで「エンコーダーの仕様なのかな?」と考えているのですが、CPUに比べてNVENCで変換すると実行速度が1/5まで早くなるため、なんとか60Mbpsで書き出しができないものかと悩んでおります。ffmpegを始めたばかりでミスなどもあるかもしれません。忌憚なくご指摘いただければ幸いです。追記:タイトルの編集を頂きありがとうございます。変換元のファイルについて補足説明いたします。sideの3D視聴用の動画データです。bottom(2160x2160)形式に変換しようとしています。併せてご参考にしていただければ幸いです。個の銅バッジ逆質問で申し訳ないのですが「35Mbpsではまだ映像品質的に満足できない」のでしょうか?MP4形式+H.264コーデック圧縮では、ビットレートをそろえるための詰め物データ(=ゴミ)を出力しないため、本質的に必要な情報しか格納されません。3:30ご質問ありがとうございます。簡単に申し上げますと、データを渡す先方から「60Mbps程度で」と指定されているため、60Mbpsで出力しています。現状ではCPUを使うことで60Mbps付近での書き出しができているのでNVENCを使わずにエンコードを行っているのですが、NVENCを使用した場合の処理速度が劇的に早くなるため、NVENCを活用できる方法がないかと探しております。qmax指定が効くかもしれません。4:33コメントありがとうございます。お時間を頂ければ幸いです。4:02試したところ、高レート出力を行うことができました。誠にありがとうございました。ありがとうございました。以下のコマンドにより、60Mbps付近で変換を行うことができました。さん、非常に参考になりました。ありがとうございました。個の銅バッジ1目的は達せられたようで何よりです。H.264エンコーダのQP値(画品質と圧縮率の調整パラメータ)を、値域qmin~qmax間に強制的に制限します。QP値が小さいほど、きれいな映像/高いビットレートになります。一般的にはエンドユーザがQP値を指定するのではなく、目標ビットレートだけを指定すればよいはずなのですが、今回はNVENCレート制御のアルゴリズム特性もあるのか、明示的にQP値の幅を制限すると期待通り動作したようですね。(異なるビットレート帯の出力が欲しければ、別のqmin,qmaxに調整することになります。さん、解説頂きありがとうございます。ご教示頂いたことで、QP値のディフォルト値などを学ぶきっかけとなりました。740を搭載しています)。そこでqmaxの値を調整した結果、20で元データと同様のビットレートになった次第です。ご質問させて頂く事かと思いますが、今後とも皆様何卒よろしくお願いいたします。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。会を開催します🎉コメントで回答する理由を教えてくださいサイトの未翻訳箇所を見つけて、もくもく会で直しましょう関連する質問2ffmpegのエンコード時に起こるエラーについて1djangoを始める時のコードの置き場所について。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。