2010-07-09 41 views
3

我正在開發Android應用程序,該應用程序應該通過Android設備上的HTTP播放視頻。在我們設置服務器來託管視頻文件之前,只需要澄清幾件事:製作視頻文件Android已準備好通過HTTP進行播放

根據開發者文檔,Android支持.mp4和.3gp視頻容器格式。如果我們使用H.263(視頻) - 用於我們媒體文件的AAC LC(音頻)音頻 - 視頻編解碼器,我們是否可以通過將URL傳遞給MediaPlayer類來播放視頻?

我做了一個小實驗,並通過視頻文件(.MP4)到的MediaPlayer類之一的URL,並得到了以下錯誤:

Command PLAYER_INIT completed with an error or info PVMFErrContentInvalidForProgressivePlayback

從文檔,我才知道,漸進回放時,視頻的索引(例如moov atom)應該在文件的開頭。

問題:
1.我們如何讓視頻適合Android?
2.我們需要做什麼不同的考慮?

請幫忙。

謝謝。

+0

你用什麼軟件來製作你的視頻? – Jorgesys 2010-07-09 15:11:44

+0

不確定;我剛剛收到了一大堆我需要託管的東西 – Samuh 2010-07-10 05:06:07

回答

0

我交叉在Android開發人員谷歌組發佈此問題。馬克在那裏回答。謝謝馬克! See this thread

1

實際上,您可以使用JCodec(http://jcodec.org)使用的ISO BMF(MP4)容器的純Java實現來實現此目的。對於這種使用下面的代碼:「Flattern」是創建有它的頭數據網絡優化的電影文件的

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

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

副作用。

您也可以通過命令行使用類似功能:

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

的JCodec庫可以從項目網站下載。