問題タブ [stagefright]

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 に答える
12355 参照

android - Android: デコーダーをマルチメディア フレームワークに統合する方法

最近、ビデオデコーダーをAndroidに移植しました。また、サーフェスビューに出力をダンプし、ネイティブ API を使用して出力を確認しました。次のタスクは、再生、一時停止、ストリーミングなど、つまりメディア プレーヤーのその他の機能を実装することです。これらの機能はすべて android マルチメディア フレームワークで既に定義されているため、これを行うと手直しが必要になります。デコーダーをプラグインとして作成し、Android のマルチメディア フレームワークに統合できると聞きました。同じことについてグーグルで検索しましたが、同じことに関する情報はほとんど見つかりませんでした。したがって、上記の問題に対するいくつかの関連リンクまたは解決策を提案するよう読者にお願いします。お返事をお待ちしております。

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

c++ - .data.rel.ro+0x8 エラー: 'android::MediaSource の typeinfo' への未定義の参照

ndk-build を使用して Android で JNI ソースをコンパイルしているときに問題を解決できません。エラーの原因となっているクラスは次のとおりです。

ここでは、すべての仮想メソッドが純粋なMediaSourceクラスで定義されています。さて、コンパイルすると、次のエラーが発生しました。

同様の問題でスタックオーバーフローのリンクを調べましたが、解決できません。どんな方向でも感謝します。

ありがとう。

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

android - stagefright プラグインの作成方法

Stagefrightビデオデコーダーを(Androidのマルチメディアフレームワーク)に統合するタスクがあります。の新しいプラグインの作成について、次のことを検索して見つけましたStagefright

新しい形式のサポートを追加するには、次のことを行う必要があります。

  • コンテナーがまだサポートされていない場合は、新しい Extractor クラスを開発します。

  • StageFrightコアがデータを読み取るために必要なインターフェイスを実装する新しい Decoder クラスを開発します。

  • ファイルの新しい Decoder に読み取るファイルの MIME タイプを配列OMXCodec.cppで関連付けます。kDecoderInfo

上記のデータは、私がネットで見つけたすべてです。現在、ファイルを入力として受け取り、Android のネイティブ API を使用して画面にレンダリングするシンプルなアプリがあります。どなたか今後の進め方を教えてください。そして、これらすべてOMXCodec.cppと他のすべてがどこから現れ、私のプロジェクトのどのディレクトリにそれらを置くべきですか。同じことに関する解決策を提供してください。前もって感謝します。

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 投票する
2 に答える
3911 参照

gstreamer - Stagefright vs Gstreamer

What are the advantages of using gstreamer over stagefright? Could anyone please point out the difference.

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

android - カスタム ラッパー コーデックの Android への統合

カスタムの「ラッパー」ビデオ コーデックを開発し、Android に統合する必要があります (現在は JB、後で ICS)。SIM からいくつかのカスタム復号化キーを使用したいと考えています (聞かないでください!)。最善の方法 (暗号化されていない他のメディアと一緒に動作し、標準のメディア プレーヤーなどを使用できるようにする) は、独自の MIME タイプを定義し、それをカスタム ラッパー コーデックにリンクすることです。復号化してから、データを実際のコーデックに渡します。(ファイルタイプは今のところだとしましょう.mp4。)

(別の方法として、独自のメディア プレーヤーを作成することもできますが、メディアを他のメディアと一緒にシームレスに表示したいので、その方法は避けたいと考えています)

私はこのガイドに従おうとしてきました: デコーダーをマルチメディア フレームワークに統合する方法

  1. OMX Core の登録に問題があります - libstagefright.soAndroid ソースから入力してビルドできますmake stagefrightが、ガイドではlibstagefrighthw.soJB に適していると思われる を使用するように指示されていますが、これをビルドする方法がわかりません。make stagefright私が何か間違ったことをしていない限り、使用から構築されているようですか?

  2. もう 1 つの問題は、カスタム ラッパー コーデックを登録したとしても、実際のコーデックにデータを渡す方法がわからないことです。

誰か提案があれば(または赤ちゃんに段階的な指示を与えることができます!)、本当に感謝します-概念実証の締め切りは非常に厳しく、コーデックやメディアフレームワークについてはほとんど知りません...

どうもありがとう。(ps drm やアナログ ホールなどについての泥棒争いにはなりたくありません.., ありがとう)

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

android - Android 4.0 以降の OMX-IL HW ネイティブ側からのデコード

Android 4.1 以降の HW デコードに Android ネイティブ コードと OMX-IL (おそらく stagefright を使用) を使用することは可能ですか (OMXCodec のインスタンスを作成することをお勧めします)。しかし、クライアント アプリケーションから独自のサーフェスの割り当てと処理を行いたいと考えています。OMXCodec::Create は ANAtiveWindow を想定していますが、それをバイパスしてデコード関数を使用したいだけで、バッファ/eglSurface を渡してデコードされたフレーム出力を取得します。どんな助けでも大歓迎です!

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

h.264 - StageFright.so に直接アクセスして、Android の JNIlayer から H.264 ストリームをデコードします

Android 2.3以降でレイヤーからストリームlibstagefright.soをデコードするために直接アクセスする方法はありますか?H.264JNI

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

stream - 舞台恐怖症の上にいくつかのサンプルまたはリソースを与えることができますか?

私は最近アンドロイドを勉強しています.StagefrightでTSストリームをデコードしたいのですが、stagefrightがビデオファイルまたはストリームをどのように処理するかを知りたいのですが、stagefrightについてはほとんど知りません.stagefrightの上のサンプル、プロジェクト、またはリソースを提供できますか?ありがとう