制作视频文件Android准备好通过HTTP播放

时间:2010-07-09 10:24:34

标签: android video video-encoding

我正在开发一个Android应用程序,该应用程序应该在Android设备上通过HTTP播放视频。在我们设置服务器来托管视频文件之前,只需要澄清一些事项:

根据开发人员文档,Android支持视频的.mp4和.3gp容器格式。如果我们使用H.263(视频) - 用于我们媒体文件的AAC LC(音频)音频 - 视频编解码器,我们是否可以通过将URL传递给MediaPlayer类来播放视频?

我做了一个小实验并将其中一个视频文件(.mp4)的网址传递给了MediaPlayer类,并收到以下错误:

  

命令PLAYER_INIT已完成   错误或信息   PVMFErrContentInvalidForProgressivePlayback

从文档中,我开始知道对于渐进式播放,视频的索引(例如moov atom)应该位于文件的开头。

问题:
1.我们如何使我们的视频Android准备好?
2.我们需要做出哪些不同的考虑?

请帮忙。

感谢。

2 个答案:

答案 0 :(得分: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优化的电影文件,其标题为 BEFORE 数据。

您还可以在命令行中使用类似的功能:

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

可以从项目网站下载JCodec库。

答案 1 :(得分:0)

我在Android开发者谷歌小组上发布了这个问题。马克回答说。谢谢马克! See this thread