問題タブ [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 に答える
1691 参照

android - Android ソース コードでカスタム デコーダーを呼び出す方法

ソフトウェア HEVC デコーダーを Android ソース コードに追加しようとしています。libstagefright.soファイルを生成したいと考えています。

他の同様の質問を参照しましたが、あまり役に立ちませんでした。以下の質問やリファレンス ガイドでは、明確なイメージを得ることができませんでした。

1) コーデックを Android マルチメディア フレームワークに統合します。

2) カスタム デコーダーを統合して、Android で再生し、同時に fps を表示します。

3) 新しいデコーダーを追加するために OMX コアを登録する方法。

新しいカスタム デコーダーを Android に統合する手順を教えてください。

今、media_codecs.xml と{ "OMX.google.h265.decoder" , "hevcdec" , "video_decoder.hevc" }SoftOMXPlugin.cpp ファイルに を追加しました。

新しい形式を Android ソース コードに追加するには、他にどのファイルを編集する必要がありますか? デコーダのソース コードを呼び出す関数はどれですか (softomxcplugin ソース ファイルはデコーダを呼び出しますか?)。

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

android - Android MediaCodec はハードウェア コーデックを使用しますか?

Android で使用されているコーデックと混同していMediaCodecますか?

以下のリンクから:

MediaCodecハードウェアエンコーディングに使用されていることがわかりました。

しかし、その後、私が見ると

Google Summit 2012 での Dave Burke による「Android の新しい低レベル メディア API」プレゼンテーションは、HAL レイヤーを使用してMediaCodec新しいコーデックを導入するためのアーキテクチャを提供するフレームワークです。OMX IL[間違っていたら訂正してください。] つまり、ハードウェア コーデックまたはソフトウェア コーデックのいずれかになります。

ハードウェアコーデックが使用されているかどうかを確認するにはどうすればよいですか?

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

c++ - Android MediaPlayer / Stagefright が RTSP サーバーから SDP を読み取ってクラッシュする

Android の MediaPlayer クラスを使用して RTSP ストリームを再生しようとしています。これを実現するために、MediaPlayer は stagefright というネイティブ ライブラリを呼び出します。このライブラリとメディア フレームワーク全体が、次のエラーでクラッシュします。

したがって、エラーが何であるかは明らかですnalType.7であるはずのときにアサートが失敗しますが、代わりに22に評価されます.なぜこれが理解できません. コンテキストとして、RTSP ストリームの SDP にsprop-parameter-setsは、base64 でエンコードされた一連のバイトである属性が含まれています。nalTypebase64-decoding の結果の最初のバイトを参照しているようsprop-parameter-setsです。この場合、これは base64 でエンコードされたバージョンです。

デコードすると、次のようになります。

APacketSource.cpp以下は、Android 4.4 ソース コードからの関連する抜粋です。

マスクされた後の最初のバイト 0x67 は、0x07 に評価されます。どういうわけか、0x16 に評価されます。これがなぜなのかはわかりませんが、nal->data().

ログに出力されるスタックトレースを提供できますが、それは非常に大きく、関連性があるかどうかわかりません。このアサートが失敗するのはなぜですか?

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

android - Jelly bean 4.1.1 ボート DM3730 でハードウェア エンコーダーを有効にする

問題についての説明が少し長くなることをお許しください。

私はDM3730プロセッサを搭載したカスタムボードを持っており、Androidの手漕ぎボートを構築しています

目的: ハードウェア デコーダーを有効にする。

2.1) そのためには、OMAX-IL インターフェイスが必要です。したがって、TI からダウンロードしたソース コードを調べました。しかし、 OMX 実装を表す hardware/ti/の下にomap3/ ディレクトリが見つかりません。

2.2) したがって、AOSP Jelly Bean Code からダウンロード

2.3) https://source.android.com/devices/media.htmlによると

2.4)次のエントリを保持するようにmedia_codec.xmlを変更しました。

2.5) [注: 私は最新のものを取りました] IE: DVSDKに従って DSP を構築しました

最初に考えて、それが正しいアプローチであるかどうかを確認したいですか? または、私が認識する必要がある他の基盤は何ですか?

どこを打った?

失敗は

3.2 メディア プレーヤーで高解像度ビデオを実行する。以下はlogcatです。

#dspexec -v で試しました

libdspbridge のコードを見ると、デバイス ファイル /dev/dsplink を開き、デバイスをエミュレートします [何をしているのかわかりません] が、デバイスに ioctl を送信するためにエミュレーションが失敗します。

http://androidxref.com/4.1.1/xref/hardware/ti/omap3/dspbridge/libbridge/dsptrap.c

DSPTRAP_Trap は dwResult を -1 として返します。

私の問題がどこにあるかを親切に指摘してください。

アップデート:

発見:

1) dsp-bridge、dsp-link 両方のドライバーが異なり、dsp-link 用に構築された DSP があり、dsp-bridge で試しています。

0 投票する
2 に答える
1558 参照

android - Androidでカメラフレームをmp4にエンコードする方法

Android カメラから640x480 (私には十分) のカメラ プレビュー フレームを取得し、それらにいくつかの変更を加えます。しかし今、それらを新しいMP4ファイルにエンコードする必要があります(オーディオ付き)。

これはどのように可能ですか?ffmpegライセンスが良くないので使えませんStagefrightが、おそらくそれができるはずのフレームワークを見つけました。しかし、私がしなければならないことを行うための公式ドキュメントやチュートリアルは見つかりませんでした。

このフレームワークでそれを行う方法はありますか? コードは必要ありません。正しい方向を示してくれるだけでとてもうれしいです。

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

android - [Android] MediaRecorder の setOutputFile(String path) を引き続き使用できるのはなぜですか?

のマルチプレクサ部分を抽出しようとしているMediaRecorderので、現在 Android 4.2.2 のソース コードを学習していますが、それは重要ではありません。ここで質問があります。程度setOutputFile(String path)ですMediaRecorder.java

の呼び出し結果MediaRecorder.java

しかしStagefrightRecorder.cpp、それは言います

では、どうすれば を使い続けることができるsetOutputFile(String path)でしょMediaRecorderうか? 本当にわかりません。