Windows画面(連続スクリーンショット)をキャプチャしてx264にエンコードしようとしています。そのために、libavcodecで使用可能なavcodec_encode_video2関数を使用しています。ただし、かなりの時間がかかります。個々のフレームをエンコードする時間は、25〜1800ミリ秒の間で変動します。
画面にビデオを録画して、1080pと720pの両方を試してみました。
これらは私が使用している設定です。これは、4GBのRAMを搭載したWindows7、win32リリースビルドでテストされました。
bit_rate = 2000、width = 1920、height = 1080 qmin = 0、qmax = 0、max_b_frames = 0、frame_rate = 25、pixel_format = YUV 4:4:4。残りの設定はデフォルトであり、avcodec_get_context_defaults3()を使用してフェッチされます。
250フレームのセットで20フレーム(連続してランダムに選択)のサンプルデータ(ミリ秒単位)。{121、106、289、126、211、30、181、58、213、34、245、50、56、364、247、171、254、83、82、229}
アプリケーションの場合、少なくとも15fpsをキャプチャする必要があります。フレームレートを改善するためにオプションを使用できるかどうかを誰かが教えてくれますか?ロスレスでエンコードする必要がありますが、ファイルサイズがいくらか大きくなる可能性があります。
前もって感謝します。