問題タブ [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 投票する
3 に答える
2380 参照

android - Android 2.3.3 での h264 raw ストリームのデコード

「古い」Androidバージョンで生のh264ストリームをデコードしようとしています。MediaPlayer クラスを試しましたが、ストリーム形式をサポートしていないようです。

市場の他のCam Viewerアプリでストリームを見ることができるので、おそらくNDKを使用してそれを行う方法があるに違いないと思います.

OpenMAX と Stagefright について読んだことがありますが、ストリーミングに関する実際の例が見つかりませんでした。

誰かが私を正しい方向に向けてもらえますか?

また、「frameworks/av/include/media/stagefright/MediaSource.h」やその他のソースについていくつかの場所で読んでいますが、通常の SDK にも NDK にもないようです。このソースはどこにありますか? 別のSDKはありますか?

前もって感謝します。

更新: rtsp 接続を受信して​​います。

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

android - 次の関数のインデックスは何ですか?

なぜこの関数が必要なのMP3Extractorですか?

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

android - 異なるスマートフォンでの Videoview の動作 (別のステージ フライトを使用)

同じアクティビティで複数のビデオビューで rtsp ストリームを再生するためにビデオビュー (または MediaPlayer) を使用すると、互換性の問題が発生します。

ここでこの問題に関する別の質問を開きましたが、異なる電話で同じソフトウェアをテストして動作するため、それが私のコードではないことがわかりました。

RTSP セットアップの logcat Info メッセージを表示すると、各電話で stagefright (Android マルチメディア フレームワーク) の実装が異なることがわかります。

ここで異なる android バージョンと異なる stagefright があることがわかりますが、複数の rtsp は Lg でのみ失敗します (エラーhereを参照)。もう 1 つの興味深い点は、Lg のみが RtspEngine を使用し、その他は ARTSPConnection を使用することです。

アプリケーションにネイティブ stagefright の使用を強制する方法はありますか (デバイス上に存在する場合) ?

アプリケーションはこの互換性の問題をどのように管理できますか? 一部のブランドの携帯電話と互換性のないアプリを開発することは合理的ではありません

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

android - 私のアンドロイドにstagefrightをインストールする方法は?

端末エミュレータのコマンドラインからオーディオファイルを再生するために必要な「stagefright」と呼ばれる Android に付属していると思われるこのサウンドプログラムについて聞いています。私がそれについて聞いた情報源の 1 つは、次のとおりです。コマンド ラインから Stagefright を使用するにはどうすればよいですか?

問題は --- Android デバイス (Aesus Nexus 7) でよく確認しましたが、そこにはありません。(「stagefright」がないか、コマンドライン インターフェイス プログラムが見つからないかのいずれかです。) どうすればインストールできますか --- できない場合は、オーディオ ファイルを再生できるようにするためににインストールできるものはありますか?ターミナルエミュレータのコマンドラインから?

コマンドラインからオーディオファイルを再生できないことが深刻な制限であるため、これをお願いします。

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

android - libstagefright の MediaBuffer を正しく使用するには?

私:

  1. 作成しますandroid::MediaBufferGroup
  2. buf_group.add_buffer(new android::MediaBuffer(bufsize));初期化時に複数で埋めます。
  3. buf_group->acquire_buffer(&buffer)どこかに送信するためのバッファーが必要な場合に実行します。
  4. buffer->data()データを格納する実際のメモリ位置を取得し、メタデータを使用およびset_range設定してから、バッファを他のコンポーネントにフィードするために使用します。
  5. その他のコンポーネントreleaseはバッファであり、それらを MediaBufferGroup に戻します。

動作しますが、確実ではありません。取得したバッファdata()が NULL を返すこともあれば、プログラムがクラッシュすることもありますrelease()...

MediaBufferGroup を適切に使用するには? 同期を使用する必要がありますか?

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

android - Android Kitkat 4.4.2: アダプティブ プレイバックが SurfaceFlinger に与える影響

SOの適応再生に関するこの一般的な質問に出くわしました。Android Kitkatただし、以下のような特定のクエリがあります。

codecおよび関連するフレームワークへの影響を理解できます。ただし、完全には理解できない特定の点が 1 つあります。

アダプティブ プレイバックの場合、コーデックはそのmetadata出力ポートを使用します。このポートは基本的に、基になるバッファ ハンドル (おそらくハンドル) を抽象化してパッケージ化しますgralloc。解像度が変更された場合、ハンドル属性を直接codec更新し、ポート設定を変更せずgrallocにバッファをクライアントに送り返すと思います。OMX

私の最初の質問は次のとおりです。私の理解と仮定は正しいですか?

もしそうなら、Surfaceflinger/SurfaceTextureは受信ペイロードがフォーマットされていることをどのように認識し、基盤となる実装からどのようにandをmetadata取得するのでしょうか?widthheightgralloc

この問題をよりよく理解するのに役立つ関連情報源を教えてください。

よろしくお願いします。

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

android - Android MusicPlayer は Stagefright または opencore を使用します

media.stagefright.enable-playerが設定されている場合true、デバイスは を使用することを読みましたStagefright。私のデバイスでは、build.prop私が見る

下で疲れたとき

メディアプレーヤーが接続するサーバーソケットをホストしました

私が得るログは

今、私の疑問は、それが設定されているにもかかわらず、どのように私を示しているUser-Agent: stagefright/1.1のですか?media.stagefright.enable-player = falsebuild.prop

どちらが使用されているかを判断する方法ではない場合、どのように検出できますかopencore or stagefright ?