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

android - Android 4.0 以降の RTP サーバー

上記の Android 4.0+ に取り組んでいます。

RTP を使用してカメラのビデオを Window PC にライブ ストリーミングし、MPEG-2 をエンコードする方法を分析中です。

  1. Android 4.0以降ですぐに利用できる「rtp-server」はありますか?

  2. 以下は true です:: 「Android プラットフォームではストリーミング プロトコルがサポートされていないため、ライブ オーディオ/ビデオを Android 対応デバイスにストリーミングすることが困難です。」ウェブサイトから抜粋

  3. 現在、ffmpeg ライブラリの ffserver を使用して分析しましたが、FPS は 5 未満で、非常に遅いです。より多くの FPS を持つ他のソリューションを調査した人はいますか?

  4. StageFright を使ってみた人はいますか?カメラから生データをキャプチャし、それをstagefrightフレームワークに送信してエンコードし、RTPを使用してストリーミングします??

どうもありがとう。

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

android - ffmpeg の stagefright コーデックで出力 colospace を選択します

私はここに来たばかりなので、まず第一に、これは素晴らしいコミュニティだと言いたいです:-)。それでは、私の質問から始めましょう。

現在、組み込みシステム (freescale imx6 および exynos 4412 ベースのプロセッサ) を使用しています。主なアイデアは、Android 用の HD ビデオ (1080p) を使用した voip アプリを開発することです。ビデオは、H264 ハードウェア Web カメラ (logitech c920) を介してキャプチャされます。今まで、私は ffmpeg の libstagefright コーデックを使用することができました。それは非常にうまく動作し、高速ですが、多くの人が抱えている問題があります。「色空間変換」。

コードでわかるように、

出力色空間形式を取得できますが、私の質問は次のとおりです。

他の出力カラースペース形式を定義できますか? どのように?

stagefright を介してこのタスクを実行できた場合 (ベンダーがこの方法でハードウェア アクセラレータを提供するため)、OpenGL を介してこのタスクを実行するときの色空間変換時間のペナルティを克服できます。

ありがとうございました!

よろしく

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

android - コーデックを Android マルチメディア フレームワークに統合する

現在 Android マルチメディア フレームワークでサポートされていないカスタム コーデックがあります。コーデックのソース コードを使用して、新しいフォーマット用のシンプルなビデオ プレーヤー アプリを作成しました。しかし今、私はそれをアンドロイドのマルチメディアフレームワークに統合したいと考えています。

投稿の助けを借りて:

デコーダーをマルチメディア フレームワークに統合する方法

必要な基本を知ることができました。まず、コーデックを Jelly Bean 以降のバージョンに統合する必要があります。したがって、上記の投稿に続いて、Android ソース コードをダウンロードし、上記の投稿で指定されているように、コード スニペットにデコーダー情報を追加しました。media_codecs.xmlそのコード スニペットを以下に示します。

上記のことをしたら、

  • 私が考えているのは、android ソース ツリーのどのディレクトリにcustomDecoderのソース コードを追加する必要があるかということです。
  • customDecoderコードを追加したら、ソースコードをコンパイルするためにコマンド/ makeファイルを書き込む場所を指定する必要があります。
  • 最後に、すべてが正常にビルドおよびコンパイルされたら、Android エミュレーターでの統合をテストする場合、実行する手順は何ですか。

私の質問について何か知っている専門家は、彼らに答えてください。

前もって感謝します。

-よろしく

サム

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

android - MediaCodec API を使用してカスタム デコーダーを呼び出す方法

Androidに移植され、スタンドアロンアプリケーションとして正常に動作しているビデオデコーダーがありますが、このコードをAndroidマルチメディアフレームワークに統合したいと考えています。したがって、このコードを Android のメディア フレームワークに追加しました。つまり、 に追加しましたroot/media/libstagefright/codecs/myDecoder

Android.mkデコーダーのソース コードを追加して配置した myDecoder フォルダーの下に書き込みました。コンパイルは成功し、エミュレーターで実行できます。

今、Android の新しいMediaCodecAPI を使用すると、Android ソースで利用可能なコーデックにアクセスして使用できることを読みました。

私の質問は、デコーダーを Android ソースコードに統合したことです。

デコーダーを使用して入力ストリームをデコードし、デバイス画面にレンダリングすることはできますか?

私のデコーダには、ストリームをデコードするために呼び出される関数があります。この関数は、入力ストリームのパスをパラメーターとして受け取ります。

MediaCodecAPIの要件に合わせて、デコーダのソース コードを変更する必要があります。

同じことに関するヘルプは、私にとって本当に役に立ちます。

-よろしく。

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

android - Android: OMXCodec を MediaSource として使用すると、MPEG4Writer が起動に失敗する

バイト配列バッファからビデオをエンコードしようとしています。そのためにMPEG4Writer、ネイティブ コードの API を使用しています。

データを提供するカスタムMediaSourceクラスを作成OMXCodecしましたMPEG4Writer

mVideoOutSource私のカスタムMediaSourceクラスomxEncMetaは次のとおりです。

しかし、start()メソッドを呼び出すと、エラー コードが返されますUNKNOWN_ERROR

MPEG4Writer代わりに、カスタムに直接渡そうとするとMediaSource(ラップせずにOMXCodec正常に開始されますが、最終的にはエラーで記録が停止します(約12フレーム後)。これは、カスタムが実際のフレームに関する情報のみを提供するMissing codec specific dataためだと思いますMediaSourceコーデック形式については何もありません。

で何かが欠けていると確信していますが、何がわからないのですか...エンコーディングOMXCodecのカスタムの実例を教えてくれる人はいますか? MediaSourceまたは、これがまったく機能しない理由についてのヒントを教えてください。
さらに情報が必要な場合は、お尋ねください。

編集:私はAPI 14に対してこれを開発しているのでMediaCodec、API 16から使用することを提案しないでください:)

編集:これが私が始めている方法ですMPEG4Writer


これは logcat ( adb logcat OMXClient:V OMXCodec:V *:W)の出力です。

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

android - MediaCodec は、デコードのために着信パケットを切り捨てますか?

MediaCodecffmpeg でエンコードされた h264 パケットをデコードするために使用しています。ffmpeg でデコードすると、フレームは正常に表示されます。ただし、MediaCodecハードウェア デコーダーでデコードすると、フレームの中央に黒いバーが表示されることがあります。これは、エンコーディング ビットレートが十分に高く設定されている場合 (たとえば 4000000 以上) にのみ発生し、特定AVPacketのサイズが 95000 程度を超えるようになります。MediaCodec(または基礎となるデコーダー)がフレームを切り捨てているようです。残念ながら、ビットレートを下げられないほどの品質が必要です。フレームが他の場所で切り捨てられていないことを確認し、MediaFormat.KEY_MAX_INPUT_SIZEより高い値に設定しようとしました.

誰かがこの問題に遭遇したか、それを回避する方法を知っていますか?

OpenGL でレンダリングし、Galaxy S4 でデコードしたランダム ピクセルの画像を添付しました。

忙しい猫