3

私は、Android デバイスで HTTP 経由でビデオを再生することになっている Android アプリケーションに取り組んでいます。ビデオ ファイルをホストするサーバーをセットアップする前に、いくつか明確にしておきたいことがあります。

開発者向けドキュメントによると、Android は動画の .mp4 および .3gp コンテナ形式をサポートしています。メディア ファイルに使用される H.263(ビデオ) - AAC LC (オーディオ) オーディオ ビデオ コーデックを使用する場合、URL を MediaPlayer クラスに渡すことでビデオを再生できますか?

ちょっとした実験をして、動画ファイル (.mp4) の 1 つの URL を MediaPlayer クラスに渡したところ、次のエラーが発生しました。

コマンド PLAYER_INIT がエラーまたは情報で完了しました PVMFErrContentInvalidForProgressivePlayback

ドキュメントから、プログレッシブ再生の場合、ビデオのインデックス (moov アトムなど) をファイルの先頭に配置する必要があることがわかりました。

質問:
1. 動画を Android 対応にするにはどうすればよいですか?
2. 私たちが行う必要があるさまざまな考慮事項は何ですか?

助けてください。

ありがとう。

4

2 に答える 2

1

これは、JCodec ( http://jcodec.org ) を使用する ISO BMF ( MP4 ) コンテナーの純粋な Java 実装を使用して実際に実現できます。これには、次のコードを使用します。

MovieBox movie = MP4Util.createRefMovie(new File("bad.mp4"));

new Flattern().flattern(movie, new File("good.mp4"));

「 Flattern」の副作用は、データの前にヘッダーを持つ Web に最適化されたムービー ファイルを作成することです。

コマンド ラインから同様の機能を使用することもできます。

java -cp jcodec-0.1.3-uberjar.jar org.jcodec.movtool.WebOptimize <movie>

JCodec ライブラリは、プロジェクトの Web サイトからダウンロードできます。

于 2013-05-13T07:08:23.837 に答える
0

この質問を Android-developers google group に相互投稿しま​​した。そこにマークが答えた。ありがとうマーク! このスレッドを参照してください

于 2010-07-10T05:25:54.407 に答える