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