問題タブ [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 2.3.3 での h264 raw ストリームのデコード
「古い」Androidバージョンで生のh264ストリームをデコードしようとしています。MediaPlayer クラスを試しましたが、ストリーム形式をサポートしていないようです。
市場の他のCam Viewerアプリでストリームを見ることができるので、おそらくNDKを使用してそれを行う方法があるに違いないと思います.
OpenMAX と Stagefright について読んだことがありますが、ストリーミングに関する実際の例が見つかりませんでした。
誰かが私を正しい方向に向けてもらえますか?
また、「frameworks/av/include/media/stagefright/MediaSource.h」やその他のソースについていくつかの場所で読んでいますが、通常の SDK にも NDK にもないようです。このソースはどこにありますか? 別のSDKはありますか?
前もって感謝します。
更新: rtsp 接続を受信しています。
android - 次の関数のインデックスは何ですか?
なぜこの関数が必要なのMP3Extractor
ですか?
android - 異なるスマートフォンでの Videoview の動作 (別のステージ フライトを使用)
同じアクティビティで複数のビデオビューで rtsp ストリームを再生するためにビデオビュー (または MediaPlayer) を使用すると、互換性の問題が発生します。
ここでこの問題に関する別の質問を開きましたが、異なる電話で同じソフトウェアをテストして動作するため、それが私のコードではないことがわかりました。
RTSP セットアップの logcat Info メッセージを表示すると、各電話で stagefright (Android マルチメディア フレームワーク) の実装が異なることがわかります。
ここで異なる android バージョンと異なる stagefright があることがわかりますが、複数の rtsp は Lg でのみ失敗します (エラーhereを参照)。もう 1 つの興味深い点は、Lg のみが RtspEngine を使用し、その他は ARTSPConnection を使用することです。
アプリケーションにネイティブ stagefright の使用を強制する方法はありますか (デバイス上に存在する場合) ?
アプリケーションはこの互換性の問題をどのように管理できますか? 一部のブランドの携帯電話と互換性のないアプリを開発することは合理的ではありません
android - 私のアンドロイドにstagefrightをインストールする方法は?
端末エミュレータのコマンドラインからオーディオファイルを再生するために必要な「stagefright」と呼ばれる Android に付属していると思われるこのサウンドプログラムについて聞いています。私がそれについて聞いた情報源の 1 つは、次のとおりです。コマンド ラインから Stagefright を使用するにはどうすればよいですか?
問題は --- Android デバイス (Aesus Nexus 7) でよく確認しましたが、そこにはありません。(「stagefright」がないか、コマンドライン インターフェイス プログラムが見つからないかのいずれかです。) どうすればインストールできますか --- できない場合は、オーディオ ファイルを再生できるようにするために他にインストールできるものはありますか?ターミナルエミュレータのコマンドラインから?
コマンドラインからオーディオファイルを再生できないことが深刻な制限であるため、これをお願いします。
android - libstagefright の MediaBuffer を正しく使用するには?
私:
- 作成します
android::MediaBufferGroup
。 buf_group.add_buffer(new android::MediaBuffer(bufsize));
初期化時に複数で埋めます。buf_group->acquire_buffer(&buffer)
どこかに送信するためのバッファーが必要な場合に実行します。buffer->data()
データを格納する実際のメモリ位置を取得し、メタデータを使用およびset_range
設定してから、バッファを他のコンポーネントにフィードするために使用します。- その他のコンポーネント
release
はバッファであり、それらを MediaBufferGroup に戻します。
動作しますが、確実ではありません。取得したバッファdata()
が NULL を返すこともあれば、プログラムがクラッシュすることもありますrelease()
...
MediaBufferGroup を適切に使用するには? 同期を使用する必要がありますか?
android - Android Kitkat 4.4.2: アダプティブ プレイバックが SurfaceFlinger に与える影響
SOの適応再生に関するこの一般的な質問に出くわしました。Android
Kitkat
ただし、以下のような特定のクエリがあります。
codec
および関連するフレームワークへの影響を理解できます。ただし、完全には理解できない特定の点が 1 つあります。
アダプティブ プレイバックの場合、コーデックはそのmetadata
出力ポートを使用します。このポートは基本的に、基になるバッファ ハンドル (おそらくハンドル) を抽象化してパッケージ化しますgralloc
。解像度が変更された場合、ハンドル属性を直接codec
更新し、ポート設定を変更せずgralloc
にバッファをクライアントに送り返すと思います。OMX
私の最初の質問は次のとおりです。私の理解と仮定は正しいですか?
もしそうなら、Surfaceflinger
/SurfaceTexture
は受信ペイロードがフォーマットされていることをどのように認識し、基盤となる実装からどのようにandをmetadata
取得するのでしょうか?width
height
gralloc
この問題をよりよく理解するのに役立つ関連情報源を教えてください。
よろしくお願いします。
android - Android MusicPlayer は Stagefright または opencore を使用します
media.stagefright.enable-player
が設定されている場合true
、デバイスは を使用することを読みましたStagefright
。私のデバイスでは、build.prop
私が見る
下で疲れたとき
メディアプレーヤーが接続するサーバーソケットをホストしました
私が得るログは
今、私の疑問は、それが設定されているにもかかわらず、どのように私を示しているUser-Agent: stagefright/1.1
のですか?media.stagefright.enable-player = false
build.prop
どちらが使用されているかを判断する方法ではない場合、どのように検出できますかopencore or stagefright ?