問題タブ [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.
android - Android: デコーダーをマルチメディア フレームワークに統合する方法
最近、ビデオデコーダーをAndroidに移植しました。また、サーフェスビューに出力をダンプし、ネイティブ API を使用して出力を確認しました。次のタスクは、再生、一時停止、ストリーミングなど、つまりメディア プレーヤーのその他の機能を実装することです。これらの機能はすべて android マルチメディア フレームワークで既に定義されているため、これを行うと手直しが必要になります。デコーダーをプラグインとして作成し、Android のマルチメディア フレームワークに統合できると聞きました。同じことについてグーグルで検索しましたが、同じことに関する情報はほとんど見つかりませんでした。したがって、上記の問題に対するいくつかの関連リンクまたは解決策を提案するよう読者にお願いします。お返事をお待ちしております。
c++ - .data.rel.ro+0x8 エラー: 'android::MediaSource の typeinfo' への未定義の参照
ndk-build を使用して Android で JNI ソースをコンパイルしているときに問題を解決できません。エラーの原因となっているクラスは次のとおりです。
ここでは、すべての仮想メソッドが純粋なMediaSource
クラスで定義されています。さて、コンパイルすると、次のエラーが発生しました。
同様の問題でスタックオーバーフローのリンクを調べましたが、解決できません。どんな方向でも感謝します。
ありがとう。
android - stagefright プラグインの作成方法
Stagefright
ビデオデコーダーを(Androidのマルチメディアフレームワーク)に統合するタスクがあります。の新しいプラグインの作成について、次のことを検索して見つけましたStagefright
。
新しい形式のサポートを追加するには、次のことを行う必要があります。
コンテナーがまだサポートされていない場合は、新しい Extractor クラスを開発します。
StageFright
コアがデータを読み取るために必要なインターフェイスを実装する新しい Decoder クラスを開発します。ファイルの新しい Decoder に読み取るファイルの MIME タイプを配列
OMXCodec.cpp
で関連付けます。kDecoderInfo
上記のデータは、私がネットで見つけたすべてです。現在、ファイルを入力として受け取り、Android のネイティブ API を使用して画面にレンダリングするシンプルなアプリがあります。どなたか今後の進め方を教えてください。そして、これらすべてOMXCodec.cpp
と他のすべてがどこから現れ、私のプロジェクトのどのディレクトリにそれらを置くべきですか。同じことに関する解決策を提供してください。前もって感謝します。
android - stagefright を使用して OMXCodec の複数のインスタンスを作成することは可能ですか?
libstagefright.so
Androidフォンでメディア操作に使用したい。この ページに記載されている例を調べました。私は同じことを実装しようとしています。この実装を複数の OMXCodec
インスタンスでテストしているときに、出力バッファーが互いに競合します。
私はEclipseでAndroidプロジェクトを開発し、libstagefright
JNIでリンクしました。2 つのクラスCustomDataSource
(派生するMediaSource
) とを追加しましCustomOmxDecoder
た。CustomDataSource
クラスは のすべての仮想メソッドを実装しますMediaSource
。CustomOmxDecoder
クラスでは、メソッドを呼び出しますOMXCodec::Create
。次に、の個別のインスタンスを持つ 2 つのスレッドを作成しましたCustomOmxDecoder
。このインスタンスを使用してProcessNextFrame
、メインvideoDecoder->read()
メソッドを呼び出すメソッドを呼び出します。これが私の設定です。
さて、上記の設定でアプリを実行すると。OMXCodec
両方のソースのフレームをデコードしますが、表面にレンダリングすると、競合する出力が表示されます。両方のソースのデコードされたバッファが何らかの形で内部的に噛み合っているようです。2 つの h264 デコーダーを同時に作成しています。ここで何が問題になる可能性がありますか?に関連できますMediaBufferGroup
か?call を呼び出した後、 buffer inを取得しCustomDataSource
、 buffer in を解放しCustomOmxDecoder
ます。ProcessNextFrame
videoDecoder->read()
どんな提案も素晴らしいでしょう。ありがとう。
android-ndk - OMXCodec::onEvent -- OMX の不正なパラメータ
OMXCodec
を通じて使用しようとしていますStagefright
。ICS
Android のバージョンのコードを実装しましCustomDataSource
た。派生する 2 つのクラスと、メソッドを呼び出して読み取り操作を実行して h264 フレームをデコードするクラスMediaSource
があります。ソフトウェア デコーダーを搭載したデバイスでこの実装をテストしたところ、正常に動作しました。ここで、ハードウェア h264 デコードを使用して Android フォンで同じ実装を実行しようとすると、読み取り呼び出しでエラーが返されます。エラーは次のとおりです。CustomOmxCodec
OMXCodec::Create
omx.google.video.avc
0x80001005
ですOMX_ErrorBadParameter
。-1103
読み取り操作でエラーコードを取得します。さまざまなパラメーターを試しましたが、成功しませんでした。
完全なログは次のとおりです。
これに関する方向性に感謝します。
gstreamer - Stagefright vs Gstreamer
What are the advantages of using gstreamer over stagefright? Could anyone please point out the difference.
android - カスタム ラッパー コーデックの Android への統合
カスタムの「ラッパー」ビデオ コーデックを開発し、Android に統合する必要があります (現在は JB、後で ICS)。SIM からいくつかのカスタム復号化キーを使用したいと考えています (聞かないでください!)。最善の方法 (暗号化されていない他のメディアと一緒に動作し、標準のメディア プレーヤーなどを使用できるようにする) は、独自の MIME タイプを定義し、それをカスタム ラッパー コーデックにリンクすることです。復号化してから、データを実際のコーデックに渡します。(ファイルタイプは今のところだとしましょう.mp4
。)
(別の方法として、独自のメディア プレーヤーを作成することもできますが、メディアを他のメディアと一緒にシームレスに表示したいので、その方法は避けたいと考えています)
私はこのガイドに従おうとしてきました: デコーダーをマルチメディア フレームワークに統合する方法
OMX Core の登録に問題があります -
libstagefright.so
Android ソースから入力してビルドできますmake stagefright
が、ガイドではlibstagefrighthw.so
JB に適していると思われる を使用するように指示されていますが、これをビルドする方法がわかりません。make stagefright
私が何か間違ったことをしていない限り、使用から構築されているようですか?もう 1 つの問題は、カスタム ラッパー コーデックを登録したとしても、実際のコーデックにデータを渡す方法がわからないことです。
誰か提案があれば(または赤ちゃんに段階的な指示を与えることができます!)、本当に感謝します-概念実証の締め切りは非常に厳しく、コーデックやメディアフレームワークについてはほとんど知りません...
どうもありがとう。(ps drm やアナログ ホールなどについての泥棒争いにはなりたくありません.., ありがとう)
android - Android 4.0 以降の OMX-IL HW ネイティブ側からのデコード
Android 4.1 以降の HW デコードに Android ネイティブ コードと OMX-IL (おそらく stagefright を使用) を使用することは可能ですか (OMXCodec のインスタンスを作成することをお勧めします)。しかし、クライアント アプリケーションから独自のサーフェスの割り当てと処理を行いたいと考えています。OMXCodec::Create は ANAtiveWindow を想定していますが、それをバイパスしてデコード関数を使用したいだけで、バッファ/eglSurface を渡してデコードされたフレーム出力を取得します。どんな助けでも大歓迎です!
h.264 - StageFright.so に直接アクセスして、Android の JNIlayer から H.264 ストリームをデコードします
Android 2.3以降でレイヤーからストリームlibstagefright.so
をデコードするために直接アクセスする方法はありますか?H.264
JNI
stream - 舞台恐怖症の上にいくつかのサンプルまたはリソースを与えることができますか?
私は最近アンドロイドを勉強しています.StagefrightでTSストリームをデコードしたいのですが、stagefrightがビデオファイルまたはストリームをどのように処理するかを知りたいのですが、stagefrightについてはほとんど知りません.stagefrightの上のサンプル、プロジェクト、またはリソースを提供できますか?ありがとう