問題タブ [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 - FFMpeg Android Stagefright SIGSEGV エラー (h264 デコード)
Android 2.3 以降でh264ファイルをYUVにデコードする必要があります。私が理解しているように、 OpenMAX IL実装へのアクセスを閉じた後、Stagefrightと通信する必要があります。これが唯一の方法です。私はこの問題のためにFFmpeg 0.10を使用し(そして0.9/0.9.1を試しました..)、NDK7でコンパイルしました(そして同じ結果でNDK6bも試しました):
ハードウェア: Beagleboard-Xm + TI Android 2.3 (公式)
したがって、次のコマンドを入力すると、480p でエラーが発生します: ffmpeg -i /sdcard/Video/480p.mp4
停止 (シグナル) ffmpeg -i /sdcard/Video/480p.mp4
ADB Logcat からの完全な Android「回答」: http://pastebin.com/76JLgtXX
Android 開発者の皆さん、このエラーの意味と対処方法を知っている人はいますか? DSP ウィンドウを大きくしようとしましたが、うまくいきませんでした。「stagefright /sdcard/Video/480p.mp4」などのコマンドは正常に機能します。
PSさらに、いくつかの大きなファイル(720p)でAndroidの回答が次にあることがわかりました:
[libstagefright_h264 @ 0xd479b0] デコードに失敗しました: 80000000
android - FFmpeg-10 を使用した Android での H264 HW デコード
ffmpeg には既に (libavcodec/libstagefright.cpp) が含まれており、StageFright フレームワークを介して H264 のハードウェア デコードをサポートすると主張していることに気付きました。(tools/build_libstagefright) に従って共有ライブラリをビルドしました。しかし、実際の H264 フレームのデコードを行うと、Stagefright_init() で失敗するようです。この新機能の使用に成功した人はいますか? 前もって感謝します。
android - Android - 自分のプロジェクトにネイティブの StageFright 機能を含める
私は現在、オーディオを録音し、AAC としてエンコードし、ストリーミングし、ストリームを受信し、AAC をデコードし、オーディオを再生するという逆の処理を行う必要があるアプリケーションを開発しています。
MediaRecorderを使用して AAC (MP4 コンテナーにラップ) を正常に記録し、 AudioRecordクラスを使用してオーディオを正常にアップストリームしました。ただし、オーディオをストリーミングするときにオーディオをエンコードできる必要がありますが、これらのクラスはどれもそれを行うのに役立たないようです。
少し調べたところ、この問題を抱えているほとんどの人がffmpegのようなネイティブ ライブラリを使用することになることがわかりました。
しかし、Android には既にStageFrightが含まれているため、エンコードとデコードを実行できるネイティブ コード (たとえば、AAC エンコードとAAC デコード) が含まれているため、アプリケーションでこのネイティブ コードを使用する方法はありますか? どうやってやるの?
ネイティブ コードでいくつかの JNI クラスを実装するだけでよければ、すばらしいことです。さらに、これは Android ライブラリであるため、ライセンスの問題はまったくありません (間違っていたら訂正してください)。
android - Android Gingerbread で libmedia_jni から独自の libmediaplayerservice ライブラリにアクセスする方法
デフォルトでは、android Gigerbread 2.3 は PV_Player (opencore ライブラリ) を使用します。システムのbuild.propファイルにパッチを当てる必要があるだけの解決策が1つ見つかりましたが、システムにパッチを適用したくありません。StageFright プレーヤーを使用する Android メディア フレームワークを使用して、独自のライブラリを作成したいと考えています。libmediaplayerservice がプレーヤーの選択を決定することを知っています。メディアフレームワークを見てください
Androidフレームワークに従ってライブラリを作成したい -
しかし問題は、libmedia が libmediaplayerservice ライブラリと直接対話せず、libmediaplayerservice ライブラリに直接依存していないことです。そのため、stagefright プレーヤーを作成できません。libmedia は、Binder IPC メカニズムを介して libmediaplayerservice ライブラリと通信します。libmedia ソース ライブラリにパッチを適用して、libmediaplayerservice ライブラリにアクセスし、StageFright プレーヤーを作成できるようにする方法と、オープンコア ライブラリの代わりに StageFright レコーダーなどにアクセスできるようにする方法を教えてください。
android - Windows Media Player では、Android で作成された MPEG-TS ファイルを再生できません。
StageFright レコード サンプル (frameworks/base/cmds/stagefright/record) をテストして、mpeg2 TS ファイルを作成しました。Android のデフォルトの Media Player では再生できますが、Windows Media Player や MPlayer では再生できません。助言がありますか?
元のレコード サンプル ソースを変更して、MP4 ファイルではなく MPEG-TS ファイルを作成したことに注意してください。
android - Android MediaPlayer.prepare()は、API> 2.3の場合に非常に長い時間がかかります(StageFrightが原因ですか?)
(この質問は、AndroidのMediaPlayerが再生用のライブストリームを準備するのになぜこれほど時間がかかるのかということに部分的に関連しています。 )
android MediaPlayerを使用して、さまざまなデバイスで次のオーディオストリームを再生しようとしました:http://newsstream1.publicradio.org。
最後に、prepare()メソッドの期間が2.2未満のデバイス(1秒未満)と2.2を超えるデバイス(最大30秒かかる場合があります...)の間に大きな違いがあることに気付きました。
基盤となるオーディオフレームワークに関連していますか?(OpenCore VS StageFright)
誰かがすでにそれを経験しましたか?そして、StageFrightメディアプレーヤーでmp3ストリームを読み取るためのより良い解決策を知っていますか?
android - Androidでハードウェアアクセラレーションによるビデオデコードを使用するにはどうすればよいですか?
自己定義のプロトコルをテストするには、研究プロジェクト用にハードウェアアクセラレーションによるH.264デコードが必要です。
Webで検索を行っているので、Androidでハードウェアアクセラレーションによるビデオデコードを実行する方法をいくつか見つけました。
- ffmpeg libstagefright(libstagefrightの概要)を使用するか、ここのようにOSでlibstagefrightを直接使用します。
- 特定のハードウェアプラットフォームでOpenMaxを使用します。サムスンデバイスについてはこちら、クアルコムキンギョソウシリーズについてはこちら
- 一部の人々はPVplayerに言及しました、
一部の人々は、クアルコムの人たちが明らかに成功している間、libstagefrightが唯一の方法であると「言います」 。
現在、どちらの方法で機能するかわかりません。私は今少し混乱しています。すべてがうまくいくなら、私は確かにハードウェアに依存しない方法を好むでしょう。
Galaxy Tab 7.7(3.2&Enxyos)でH / Wアクセラレーションのビデオプレーヤーをいくつかテストしたので、VLC、Mobo、Rock、vplayer、rock、moboは正常に動作し、VLCは動作せず、vplayerにはレンダリングがあるようですパフォーマンスを犠牲にするバグ。
とにかく、私はRockplayerで「操作」を実行し、data \ data \ com.redirecting \ rockplayer内のすべての.soライブラリを削除しました。ソフトウェアのデコードは、ハードウェアのデコードが正常に機能しているときにクラッシュします。彼らはどうやってそれをしたのだろうか。ハードウェアアクセラレーションはハードウェアプラットフォームに依存しないように思われます。
誰かがこの問題を釘付けにすることができますか?または、追加情報やより詳細な情報を参照してください。
android - Androidブラウザメディアプレーヤー(stagefright?)に表示されたメディア名
Androidブラウザーが再生可能なメディアファイルを開くと、組み込みの(stagefright?)メディアプレーヤーが開いてストリーミングします。このメディアのタイトルは、URLに基づいてプレーヤーダイアログに表示されます。
この場合のURLはhttp://10.0.37.195/waug_mp3_128k
。メディアプレーヤーは、パスの最後の部分をタイトルとして使用するだけです。
表示されるタイトルを変更することはできますか?
Content-Disposition
ヘッダーを試しましたが、効果がありませんでした。
android - ffmpeg androidを使用してメディアファイルのハードウェアデコードを使用するには?
ソフトウェアデコードと思われるデコードにffmpegを使用するメディアプレーヤーアプリケーションをAndroidで開発しています。高解像度の動画がスムーズに再生されないので、ハードウェアデコードに切り替えたいです。私は libstagefright がそれを行うことを知りました。しかし、libstagefright を使用してそれを実装する方法は? サンプルやドキュメントはありますか。libstagefright の使用を手伝ってください。
android - Androidでフレームデータを取得する方法
最近、私はアンドロイドアプリを開発したいです、私はビデオを再生するためのMediaPlayerを開発しました.ビデオが再生されたら、各フレームの画像データを取得し、いくつかの処理を行ってから画面にレンダリングしたい.提案がありますか?アドバイスありがとうございます!