問題タブ [openmax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3726 参照

video - Raspberry Pi 用 Gstreamer ビデオ シンク

gstreamer 1.0がインストールされたRaspberry piボードで作業しています。ボード上でいくつかのパイプラインをテストしていました。しかし、Raspberry pi では、ビデオ シンクが機能していません。次のようなさまざまなビデオシンクを試しましたximagesink, xvimagesink, autovideosink etc

しかし、これらのビデオシンクはどれもビデオを再生できません。

私が得ているエラーは

gstreamer でビデオを表示できるように、Raspberry pi で使用できる他のビデオ シンクはありますか?

Broadcom 2835 用に特別に作成されたビデオ シンクはありますか、または openmax はビデオシンクを提供しますか?

そして、この XvOutput の問題を解決するアイデアはありますか?

0 投票する
1 に答える
1214 参照

android - stagefright を使用して OMXCodec の複数のインスタンスを作成することは可能ですか?

libstagefright.soAndroidフォンでメディア操作に使用したい。この ページに記載されている例を調べました。私は同じことを実装しようとしています。この実装を複数の OMXCodecインスタンスでテストしているときに、出力バッファーが互いに競合します。

私はEclipseでAndroidプロジェクトを開発し、libstagefrightJNIでリンクしました。2 つのクラスCustomDataSource(派生するMediaSource) とを追加しましCustomOmxDecoderた。CustomDataSourceクラスは のすべての仮想メソッドを実装しますMediaSourceCustomOmxDecoderクラスでは、メソッドを呼び出しますOMXCodec::Create。次に、の個別のインスタンスを持つ 2 つのスレッドを作成しましたCustomOmxDecoder。このインスタンスを使用してProcessNextFrame、メインvideoDecoder->read()メソッドを呼び出すメソッドを呼び出します。これが私の設定です。

さて、上記の設定でアプリを実行すると。OMXCodec両方のソースのフレームをデコードしますが、表面にレンダリングすると、競合する出力が表示されます。両方のソースのデコードされたバッファが何らかの形で内部的に噛み合っているようです。2 つの h264 デコーダーを同時に作成しています。ここで何が問題になる可能性がありますか?に関連できますMediaBufferGroupか?call を呼び出した後、 buffer inを取得しCustomDataSource、 buffer in を解放しCustomOmxDecoderます。ProcessNextFramevideoDecoder->read()

どんな提案も素晴らしいでしょう。ありがとう。

0 投票する
3 に答える
7091 参照

android-ndk - OMXCodec::onEvent -- OMX の不正なパラメータ

OMXCodecを通じて使用しようとしていますStagefrightICSAndroid のバージョンのコードを実装しましCustomDataSourceた。派生する 2 つのクラスと、メソッドを呼び出して読み取り操作を実行して h264 フレームをデコードするクラスMediaSourceがあります。ソフトウェア デコーダーを搭載したデバイスでこの実装をテストしたところ、正常に動作しました。ここで、ハードウェア h264 デコードを使用して Android フォンで同じ実装を実行しようとすると、読み取り呼び出しでエラーが返されます。エラーは次のとおりです。CustomOmxCodecOMXCodec::Createomx.google.video.avc

0x80001005ですOMX_ErrorBadParameter-1103読み取り操作でエラーコードを取得します。さまざまなパラメーターを試しましたが、成功しませんでした。

完全なログは次のとおりです。

これに関する方向性に感謝します。

0 投票する
0 に答える
1546 参照

encoding - Raspberry Pi: MJPEG エンコーディング

Pi でビデオを H264 から MJPEG にトランスコードしたいと思います。

概略的には、H264 raw ストリームをパイプに注入し、別のパイプから MJPEG でエンコードされた同じストリームを (リアルタイムで) 取り出すプロセスがあります。現在、H264 を取り込んで MJPEG を吐き出すブラック ボックスは、FFMPEG で作成された単純なトランスコード プログラムです。このアプローチは最新のワークステーションではうまく機能しますが、Raspberry Pi では CPU への負担が大きすぎます。

The Pi は OpenMax を使用したハードウェア H264 デコードをサポートしており、そのままでは MJPEG エンコードをサポートしていないことを私は知っています。

MJPEGハードウェアエンコーディングも行う方法はありますか?

openMax でこの種のトランスコーディングを行う方法の例はありますか?

(このプロジェクトの存在は知っていますが、質問 1 を満たしていません)

0 投票する
1 に答える
347 参照

android - GB の OpenMAX ライブラリを使用して Android アプリを作成しましたが、表示されませんでしたか?

OpenMAX-ALを使用してジンジャーブレッドでAndroidアプリを開発しようとしています。

基本的にopenMAX-ALライブラリはGingerBreadでサポートされていません.そのため、icsのopenmax-alライブラリを使用しています(ソースをビルドすることにより).Gingerパンにインストールした後、そのライブラリを使用してサンプルアプリケーションをエラーなしでコンパイルできました..また、アプリケーションの lib フォルダー内にライブラリをプッシュしようとしましたが、それでも同じエラーが発生しました。

ジンジャーブレッドで openmax-al ライブラリを使用するにはどうすればよいですか。誰かが私にアイデアを提案できますか、私は過去1週間苦労していますか? 前もって感謝します。

よろしくVS

0 投票する
1 に答える
5443 参照

gstreamer - Raspberry Pi で gstreamer を使用して h264 ストリームから jpeg をキャプチャする

Raspberry Pi 用の新しいカメラ アドオンの 1 つがあります。まだ video4linux をサポートしていませんが、1080p h264 ストリームを吐き出す小さなプログラムが付属しています。これが機能することを確認し、ビデオを標準出力にプッシュしました:

このストリームを処理して、最終的にビデオのスナップショットを 1 秒に 1 回取得したいと考えています。

1080p であるため、H264 エンコーディングには rpi のハードウェア サポートを使用する必要があります。これをサポートするアプリは gstreamer だけだと思う​​ので、ffmpeg または avconv を使用したソリューションは機能しません。http://www.trans-omni.co.uk/pi/GStreamer-1.0/build_gstreamerのビルド スクリプトを使用して、gstreamer とハードウェア H264 エンコーディング用のプラグインを作成しましたが、動作しているように見えます。

そのため、stdin でビデオを取得し、1 秒に 1 回新鮮な jpeg を吐き出す gst-launch パイプラインを構築する必要があります。gstreamer の 'multifilesink' シンクを使用してこれを行うことができることを知っているので、次の短いスクリプトを作成して起動します。

問題は、それが機能しないことです: gstreamer は、プリロール状態で永遠に座っているだけで、貴重な jpeg を吐き出すことはありません。

gstreamer の -v フラグを設定した出力が役立つ場合は、http://pastebin.com/q4WySu4Lにあります。

誰かが私が間違っていることを説明できますか?

0 投票する
1 に答える
702 参照

c - OMX.broadcom.video_decode コンポーネントでビデオ フレームの幅とビデオ フレームの高さを設定するにはどうすればよいですか?

生のh264ストリームを受け入れてデコードし、レンダリングに渡すopenmaxを使用して、ビデオプレーヤーパイプラインを試していました。ポートの構成中に、フレームの幅と高さを 1280 * 720 に設定したいのですが、パラメーターの設定中にパラメーター エラーが発生しました。openmax コンポーネントでポートのフレーム幅とフレーム高さを設定する方法、これらのフレームワークの初心者として、私の知識は限られています。幅と高さを設定する前に設定する必要がある他のフィールドはありますか?

これは私がパラメータを設定しようとした方法です

そして、私はエラーを受け取っていました

それが不正なパラメータ エラーです。なぜそれが来るのですか?

0 投票する
1 に答える
166 参照

components - openmax il ソース コンポーネントにはいくつの出力ポートがありますか?

libomxil-bellagio-masterの実装である をテストしていopenmax-ilます。このコードでは、ソース コンポーネント (ソース コード内のパスはlibomxil-bellagio-master/src/base/) に出力ポートが 1 つしかないことがわかりました。

と のファイルがaudioありvideoます。そして、このファイルを分離するファイルリーダーを書きたいと思います。このファイルリーダーにはいくつの出力ポートが必要ですか?

0 投票する
1 に答える
1344 参照

android - openmax avc デコーダーのレイテンシーを短縮するには?

openmax のコーデックを使用して Android ビデオ会議アプリを作成しようとしています。avc デコード用に OpenMAX IL を使用して対処したところ、空のバッファ コマンドを送信してからバッファ完了コールバックを埋めるまでに大きな遅延が発生することがわかりました。私のケースは、B スライスのない 4-cif h.264 エレメンタリ ストリームを扱っています。私のomxの呼び出しシーケンスは次のとおりです。

  1. avc デコーディング ロールの openmax ノードを割り当てます。
  2. ノードの状態をアイドル状態に遷移させます。
  3. ポート定義の構成。
  4. 入力ポートと出力ポートにバッファを割り当てます。
  5. ノードの状態を実行中に遷移させます。
  6. 空のバッファ用に 1 つのスレッドを開始し、フィル バッファ用に別のスレッドを開始します。

ログ出力は、8 フレームのレイテンシーがあることを示しています。空のバッファーから #9 コマンドが送信され、メッセージ FILL_BUFFER_DONE #1 が到着しました。samsung-note2、htc-one-x、およびその他の携帯電話でテストしましたが、すべてデコードの遅延が大きくなっています。

この遅延は、ビデオ会議アプリの受け入れには大きいです。この待ち時間を短縮するのに役立つ人はいますか?

ログ出力は次のようになります。