問題タブ [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 - stagefright CameraSource::read は、Samsung Galaxy S2 で小さなフレーム (20 バイト) を返します
カメラでキャプチャされたフレームを取得してエンコードし、最終的に RTP/RTSP を使用して送信しようとしています。
キャプチャを行うには、stagefright の CameraSource クラスを使用しています。画面上のプレビュー (Java から渡された Surface) は素晴らしいです。しかし、フレームを抽出しようとすると、20 バイトのフレームが得られます。
私は何を間違っていますか?
android - クラッシュを防ぐために、Android でサポートされているオーディオ エンコーダーを検出する「指定されたオーディオ エンコーダー 2 が見つかりません」
Android デバイスが必須のオーディオ エンコーダーをサポートしていない場合は、次のようになります: (X=エンコーダーの数値インデックス)
E/MediaProfiles(4048): 指定されたオーディオ エンコーダー X が見つかりません A/AudioSource(4048): Frameworks/base/media/libstagefright/AudioSource.cpp:58 CHECK(channels == 1 || channels == 2) が失敗しました。A/libc(4048): 0xdeadbaad (code=1) での致命的なシグナル 11 (SIGSEGV) ネイティブ コード。反応する例外はありません。アプリは強制終了です。
AAC AMR-NB と AMR-WB が実際にサポートされている場合、Android >3.x デバイスをクエリする方法はありますか? ドキュメント ( http://developer.android.com/guide/appendix/media-formats.html ) によると、これらはコア メディア フォーマットであり、常にサポートされています。(主要ブランドの)一部の実際の一般的な電話はそうではありません。
MediaCodec.createByCodecName(String name)
および
Get supported Codec for Android device
は API16=Android 4.1 でのみ機能しますが、問題のデバイスは 4.0.x です。また、AMR-NB と AAC も記載されていません。
android - OpenCORE または StageFright を使用して、Android でビデオをエンコードまたはデコードできますか?
この Android フレームワークは、1 つの Android アプリのエンコードおよびデコード機能を開発する機能を提供しますか?
ビデオのエンコードとデコードの機能を提供する MediaCodec という名前の 4.1 の高レベル API が 1 つあることは知っていますが、そのメディア フレームワークの 1 つをコーデックへのアクセスに Stagefright として実際に使用しているかどうかはわかりません。
MediaCodec API を使用するよりも、そのフレームワークの 1 つを直接使用してエンコードまたはデコードする利点はどれですか?
たぶん私は非常に混乱していますが、Androidビデオでのエンコードに関するプロジェクトを作成する必要があり、誰かが私を助けてくれれば、これにより良いオプションを選択する必要があります...
android - ICS での HLS サポート
セキュアな m3u8 を再生する必要がある ICS オペレーティング システムがインストールされた特定のハードウェアがあります (IOS が処理するのと同じようにキー ファイルを使用します)。
早送り、巻き戻し、オンザフライでのストリームの操作、広告の表示など、さまざまな方法で再生を制御する必要があります。
Android プレーヤーを使用して .ts ファイルを再生できる場合、これはすべて解決できると考えています。このようにして、一度に多くの m3u8 にアクセスし、独自の (プロキシとして機能する) を作成し、ts ストリームをプレーヤーに提供できます。多くの m3u8 ts ストリームを操作して、オンザフライで結合することもできます。
それが可能かどうかを理解する必要がありますか?Stagefright フレームワークは内部でどのように処理されていますか? 誰でも Stagefright フレームワークの知識を持っていますか?
ハードウェアで再生したいだけで、他の OS サポートは必要ありません。
android - AndroidでStagefrightを使用するには?
アプリケーションでビデオ ファイルを再生したい.ts
のですが、どうにもなりません。Androidでそれができるかどうかは疑問です。
フレームワークについて聞いたことがあります。アプリケーションでどのように使用できるか、ファイルを再生できるかどうかStagefright
教えてください。Stagefright
.ts
または、ファイルを再生する他の方法はあり.ts
ますか?
ありがとう
android - Android - デバイス/メーカー間での Stagefright フレームワークの一貫性
Stagefright
メーカーやデバイス間 での使用において何らかの保証された一貫性はありますか?
AndroidStagefright
は 2.x で導入されましたが、メーカーが Android に変更を加えるのを妨げているものはありますか? ICS の時点で、Android は(少なくとも一部の) のネイティブ API サポートを正式に追加OpenMAX AL 1.0.1
しましたが、古いデバイスをサポートできるようにしたいと考えています。
SEI
H.264 ビデオから( ) ユーザー データを取得しよNAL
うとしています。取得するための最良の方法を見つけようとしています。Stagefright
それを行う適切な方法はありますか、それともデバイス間で保証されていませんか?
android - Androidでlibstagefrightを介してHWデコーダーを使用するには、MP4再生の代わりにフレームベースデコード用のメタデータでkKeyAVCCに何を設定しますか?
libstagefright を使用して h264 圧縮フレームをデコードしようとしています。MP4 ファイルがありません。代わりに、フレームごとにデコードしたいと考えています。リンクからサンプルを調べています. このサンプルでは、ffmpeg を使用して mp4 ファイルを解析します。ffmpeg の avcodeccontext を使用して、必要なメタデータを設定および検索します。ここで、kKeyAVCC、kKeyWidth、kKeyHeight、kKeyIsSyncFrame、および kKeyTime を設定します。これらの各パラメーターについては明確ではありません。それで、私が知りたいのは、これらすべてのパラメータを設定する必要があるかどうかだけですか? これらのパラメータの目的と、フレームごとのデコード用のメタデータ用に設定するものは何ですか。kKeyTime を設定しないと、omxcodec がメディアバッファの読み取り時にクラッシュします。また、読み取り操作が成功した場合、MediaBuffer の派生読み取りメソッドで設定したメタデータ値を取得していません。フレームのビデオ寸法と INFO_FORMAT_CHANGED のエラー コードを取得します。
android - StageFright API にアクセスして h264 ビデオをデコードし、Android (Gb および ICS) のアプリケーション層からレンダリングする方法
StageFright API にアクセスして h264 ビデオをデコードする方法と、Android のアプリケーション層 (GB、ICS) から Surfaceflinger API を使用してデコードされたデータ ( YUV420 になります) をレンダリングする方法についてのアイデアを提供するサンプル コードはありますか。
android - Android:ネイティブのサーフェスを使用しようとしたときにmSurfaceのjava.lang.NoSuchField例外が発生しました
ネイティブコードからサーフェスのバッファをフィードしたい。したがって、SurfaceViewのSurfaceHolderのgetSurfaceメソッドからサーフェスを取得します。今私が欲しいのは、画像をレンダリングするためにネイティブからフィードバッファにそれを使用することです。SurfaceClinger/Surface.hを含めました。しかし、mSurfaceプロパティを取得しようとすると、mSurfaceに対してjava.lang.NoSuchFieldExceptionというエラーがスローされます。この点に関する提案は役に立ちます。
コードスニペット:
ありがとう。
android - IOMX を使用してコンポーネント名とモデルをリストしているときにエンコーダーが見つかりませんでしたが、Android は H264 でエンコードされたフレームで .mp4 ファイルを記録できます
ここに示すように、メディアプレーヤーサービスとバインドすることにより、IOMX を使用して Android デバイスでサポートされているすべてのコーデックを一覧表示しようとしています。コードが機能し、コンポーネントのリストを取得しました。しかし、エンコーダ コンポーネントがないことがわかりました。すべてのデコーダ コンポーネントのみがリストされました。次に、Android が提供する組み込みのカメラ アプリケーションに移動し、mp4 ファイル形式で保存されたビデオの録画を開始しました。VLCプレーヤーからmp4ファイルのコーデック情報を確認すると、「H264 mpeg4 part10 avc」と表示されていました。ここで私の疑問が生じます。h264/avc エンコーディング用のコンポーネントがリストされていない場合、Android はどのようにフレームを h264 形式でエンコードできますか?
なにか提案を?ありがとう。