Android MP4 moov mdat问题

时间:2011-08-05 06:32:00

标签: android video mp4

我正在开发应用程序,我必须播放mp4文件的渐进式视频。但是我遇到了PVMFErrContentInvalidForProgressivePlayback错误。我认为那些视频不满足任何这些要求 - “对于3GPP和MPEG-4容器,moov原子必须先于任何mdat原子。”我怎样才能转换那些能满足那种格式的文件呢?那有转换器吗?

3 个答案:

答案 0 :(得分:2)

使用MP4Box-hint开关修复此问题。

答案 1 :(得分:1)

对于GUI版本,在选项菜单下,我选择了“提示rtp / rtsp”。 然后在Mux选项卡中,我添加了带添加按钮的mp4文件。之后按下右下角的Mux按钮。

它在mp4文件的同一目录路径中创建多路复用版本。您可以将保存用于不同的位置。

新创建的文件对我有用,并没有给出PVMFErrContentInvalidForProgressivePlayback错误。

答案 2 :(得分:0)

添加-hint只是在文件末尾添加交错(这还不够)。

您可以使用名为Handbrake(here)的程序,您可以在其中选择“Web Optimize”选项 切换/重新安排 moov mdat atoms的地方,以便逐步下载。

想法是在MP4容器标题和实际电影数据之间切换位置,这样您就可以立即开始流式传输

您可以在此处进一步了解解决方案:How to correctly encode .mp4 files for streaming