2014-02-10 106 views
7

据我了解,在默认情况下产生的地方时,mp4文件在文件末尾的所有元信息的ffmpeg。 来源:http://www.stoimen.com/blog/2010/11/12/how-to-make-mp4-progressive-with-qt-faststart/ffmpeg可以在文件的开头放置Mp4元信息吗?

我需要做的是创建视频,一次一帧,然后流。如果标题信息位于文件的“结尾”,这是不可能的。但是有可能将此转移到开始阶段或以其他方式解决此问题?我绝对宁愿不必切换到另一个库,而是使用它。我们已经在这个项目上超预算。

编辑:有,因为我在同一时间将一帧中的代码做,很想然后瞬间流它,而不是像命令。

回答

11

ffmpeg在命令行上支持-movflags faststart。有关更多信息,请参阅http://salman-w.blogspot.co.il/2013/08/fast-start-enabled-videos-with-ffmpeg.html

+0

对于我的目的,我必须要在代码中做到这一点,因为我在同一时间将一个框架,并想然后瞬间流它,而不是通过命令行转换,然后流。但是我很欣赏这一点,我会做一些更多的研究,看看我是否可以通过代码。谢谢! – mczarnek

+4

我不认为这可以工作。 'faststart'涉及第二遍将索引(moov原子)移动到文件的开头。此操作可能需要一段时间,并且在各种情况下(如碎片输出)不起作用,因此默认情况下不启用。为什么不使用'mpegts'? –

+1

@mczarnek由于您在编码过程中正在进行流式传输,因此在编码完成之前,所有快速启动所需的信息都不存在,因此这是不可能的。 – Brad

相关问题