opencv + H.264 についての質問が多いのですが、詳しい説明はありませんでした。
Visual Studioでopenh264(openh264-1.4.0-win32msvc.dll)とopencv 3.1(ffmpegを有効にしたcmakeのカスタムビルド)を使用しています.H.264圧縮でウェブカメラからのビデオをmp4形式で保存したかったのです
VideoWriter write = VideoWriter("D:/movie.mp4", CV_FOURCC('H', '2', '6', '4'), 10.0, cv::Size(192, 144), true);
openh264 を使用する前に、コンソール ウィンドウに "Failed to load openh264 library : openh264-1.4.0-win32msvc.dll please check your environment and/or download from here: https://github.com/cisco/ " という警告メッセージが表示されました。 openh264/releases " (動画も保存されていませんでした)
そのため、dll をダウンロードし、プログラム ファイル (exe) を含むフォルダーに保存しましたが、プログラムを実行すると、別のエラーが表示されます "[OpenH264] this = 0x0DE312C0, warning: bEnabledFrameSkip=0, bitrate can't be control RC_QUALITY_MODE および RC_TIMESTAMP_MODE でスキップ フレームを有効にしない場合" (現在、ビデオは保存されていますが、サイズが非常に大きくなっています! ビット レートは約 1200 Kbps です)
私にとって、h264 を使用する唯一の目的はファイル サイズを縮小することです。または、コードを介して何らかの方法でビットレートを下げる方法があるかどうか教えてください。
PS: CV_FOURCC() の代わりに -1 を指定してみました。システムに「インストールされたコーデック」ウィンドウが表示されました。ここからさまざまなコーデック パックと h264 をインストールしたにもかかわらず、h264、x264、または h264vfw が見つかりませんでした。
ありがとうございます。それでは、お元気で