0

USB デバイスからデータを読み取り、そのデータを uchar 配列に格納されている 24 ビット RGB ピクセルにデコードするアプリケーション (qt c++) があります。

フレームレートは ~10 FPS です。フレームサイズは 128x4096 です。

質問: これらのフレームをリアルタイムで VP8 または h.264 ビデオにエンコードする方法は?

外部プロセスは許可されず、すべてがアプリケーション内で実行される必要があります。

ffmpeg はオプションですが、プロジェクトに含めて使用するにはどうすればよいですか? ドキュメンテーションは控えめに言ってもかなり悪いです。また、x264もオプションですが、ffmpegと同じ質問です。また、非常に高価で、1 ユニットあたり 1 ドルで、最低でも 10000 です。

簡単なガイドは役に立ちますが、存在するとは思えません。

アプリケーションは、Windows および Linux で実行する必要があります。

4

2 に答える 2

0

VP8 SDK の問題は、サンプルが IVF にのみエンコードされることです。そのコーデックは、セキュリティ上の欠陥 (バッファ オーバーフロー) のために Microsoft によってシャットダウンされたようです。結果を確認することさえできない場合、VP8 プロジェクトのセットアップを取得することさえかなり困難です。少なくとも BSD ライセンス スキームを使用しており、おそらく特許に妨げられていません。VP8 SDK には形式を変換するためのルーチンがいくつかありますが、それらはソース ツリーに埋もれています。

言及されていないオプションは Intel Media SDK ですが、それではウィンドウにロックされます。

テオラとディラックもあります。

X264 にはエンコーダーがありますが、商用ライセンスを取得するには費用がかかります。GPLv2 ソース コードは「無料」ではありません。彼らがあなたに何を信じさせようとしているかは気にしません。「Revel - 本当に簡単なビデオ エンコーディング ライブラリ」というプロジェクトもあります。これは、エンコードされた MPEG-4 パート 2 ファイルを取得するためのパスです。H264 は MPEG-4 パート 10 です。H264 は AVC とも呼ばれます。Revel も GPL です。

Ffmpeg は、さまざまなエンコーダー/デコーダーのラッパーを作成しようとする、すべてをキャッチするユーティリティです。x264エンコーダーを併用するとGPLv2になります。

于 2012-10-08T14:19:55.723 に答える