問題タブ [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でのビデオのデコードとレンダリング
私がする必要があるのは、ビデオフレームをデコードし、台形の表面にフレームをレンダリングすることです。開発プラットフォームとしてAndroid2.2を使用しています
デコードされたフレームにアクセスする必要があるため、メディアプレーヤーサービスを使用していません。
これが私がこれまでに持っているものです:
- デコードされたビデオフレームを抽出するためにstagefrightフレームワークを使用しています。
- 次に、各フレームがYUV420からRGB形式に変換されます
- 変換されたフレームはテクスチャにコピーされ、OpenGLサーフェスにレンダリングされます
- 私はProcessingを使用しており、OpenGL呼び出しを直接使用していないことに注意してください。
だから今私の問題は
- 私はstagefrightでのみmp4ファイルをデコードできます
- レンダリングが遅すぎます。320x420フレームの場合は約100msです。
- オーディオはまだありません。ビデオをレンダリングすることしかできませんが、オーディオフレームの再生を同期する方法がわかりません。
だから私の質問のために...
- 他のビデオフォーマットをサポートするにはどうすればよいですか?私はstagefrightを使用しますか、それともffmpegに切り替える必要がありますか?
- どうすればパフォーマンスを向上させることができますか?少なくとも720pをサポートできるはずですか?
- 処理ではなく、OpenGL呼び出しを直接使用する必要がありますか?これによりパフォーマンスが向上しますか?
- 再生中にオーディオフレームを同期するにはどうすればよいですか?
android - Android StageFright オーディオ ループの問題
MediaPlayer.setLooping(true)
;を使用している Android OS (特に Xoom では 3.2) の最近の更新で大きな問題が発生しています。ループ間にギャップがあるファイル wav
またはファイルをループしなくなりました。ogg
シームレス ループを必要とするアプリケーションがあり、フレームワークを使用して正常OpenCore
に動作しましたが、これを新しいフレームワークで動作させる方法がわかりませんStageFright
。StageFright
新しいバージョンの Android OS を使用してギャップレス オーディオ ループを再生する方法を教えてもらえますか?
android - コマンド ラインから Stagefright を使用するにはどうすればよいですか?
コマンド ラインから Stagefright を使用するにはどうすればよいですか? 出来ますか?
android - StageFright を使用したオーディオ/ビデオの記録とレンダリング
Android でビデオ電話アプリケーションを開発しようとしています。したがって、オーディオとビデオの両方をキャプチャしてレンダリングしたいと考えています。
いくつかの調査の結果、StageFright をこのタスクに使用することは、ハードウェアの独立性が向上するため、OpenMAX を使用するよりも優れていると思います。
StageFright を使用して以下のタスクを達成する方法を教えてください。
- カメラ/マイクから生のビデオ/オーディオを記録する
- 生のビデオ/オーディオをエンコードする
- 圧縮されたビデオ/オーディオをデコードする
- 圧縮されていないビデオ/オーディオを再生します。
StageFright を使用して、タスク 1 と 2 を組み合わせることができると思います。同様に、タスク 3 と 4 も組み合わせることができます。
提案やアイデアはありますか?
android - デコードされたフレームの定義済みバッファで Stagefright を使用する方法は?
ビデオ ファイルを再生する単純な Android アプリケーションを作成したいと考えていますが、表示されたフレーム内の 1 つの色 (選択した色) を別の色 (選択した色) に置き換えます。アプリケーションが URI とデコードされたフレームのバッファを Stagefright に提供できるインターフェイス/API があると想定しているため、アプリケーションは画面に表示される前に表示バッファを変更できます。
誰でも API や、フレームを既に定義済みのバッファにデコードするように Stagefright に指示する方法を教えてもらえますか?
ありがとうございました。
android - codeaurora.org から Gingerbread をコンパイルする OMXCodec.cpp エラー
codeaurora.org の Git リポジトリから Gingerbread の Android ソース コード全体をダウンロードした後、コンパイル エラーが発生します。
/frameworks/base/media/libstagefright の OMXCodec.cpp ファイルに関係しています。
誰かが実行可能な回避策を持っていますか? libstagefright ディレクトリを、ダウンロードした tarball に置き換えましたが、役に立ちませんでした。
android - AndroidStagefrightがビデオフレームレートを設定できません
デバイスからリモートコンピューターにビデオをストリーミングするアプリケーションがあります。フレームレートを設定しようとすると、次のようになります。
私が使用するコードは次のとおりです。
これを修正する方法について何かアイデアはありますか?
android - Android でデフォルトのビデオ バッファ サイズを変更する方法
Gingerbread ではデフォルトのビデオ バッファ サイズが 8 秒に設定されているため、これより短いクリップは再生できないことがわかりました。
ストリーミング MediaPlayer でデフォルトのバッファ サイズを変更する方法はありますか?
shared-memory - postDataTimestamp の null ポインター - CameraSource.cpp (Stagefright)
現在、カメラのデータにアクセスして、アプリケーションからデフォルトのエンコーダーに送信しようとしています。
camerasource.cpp の postDataTimestamp() でカメラから返されたデータにアクセスする必要があります。データ ポインタを確認すると、null であることがわかりました。しかし、postData() では有効なポインターです。
postdatatimestamp() でデータ ポインターを出力しようとすると、「bpMemoryHeap エラーをマップできません」というメッセージが表示されます。なぜこの問題が発生するのかわかりません。
カメラと私のアプリケーションが 2 つの異なるプロセスで実行されているため、このエラーが発生し、postDataTimestamp() で cameraData にアクセスできません。
誰かがこの問題に光を当てることができます..?
ありがとう。
android - Android StageFright ソフトウェア コーデックでの OMX インターフェイスのサポート
Android ソフトウェア コーデック (例: OMX.PV.mpeg4enc
) は OpenMAX (OMX) インターフェイスをサポートしていますか? たとえばOMX_FillThisBuffer
、OMX_EmptyThisBuffer
などの標準の OMX 機能をサポートしていますか? それとも、ハードウェア デコーダのみが OMX インターフェイスをサポートしていますか?