我正在尝试将 mythtv 录制的 mpg (mpeg2) 文件转换为可流式传输的mp4 文件。转换为 mp4 很简单,但是,必须先转换整个文件才能使用。即使使用将“mov atom”放在文件开头以进行快速流式传输的转换工具,也需要在此之前对整个 mp4 进行编码。
我在 avconv 文档中读到“mov/mp4/ismv muxer 支持碎片化”。它可以在文件的开头放置一个“假”mov atom,然后在整个文件的每个关键帧处放置一个新的,这样视频就可以在转码或转换中断时进行流式传输。
我相信我已经按照 avconv 说明 ( http://libav.org/avconv.html#MOV_002fMP4_002fISMV ) 了解如何转换文件,但继续收到指示编码器不理解参数的错误。下面是我的命令,以及它生成的错误输出。我已经筋疲力尽了谷歌和我自己寻找答案并且出现了空白,因此将不胜感激任何帮助。
系统运行 ubuntu 12.04x64,avconv 版本 0.8.1-4:0.8.1-0ubuntu1。
命令:
avconv -i 1081_20111227200000.mpg -f mp4 -movflags frag_keyframe+empty_moov -c:v libx264 -c:a copy output.mp4
Run Code Online (Sandbox Code Playgroud)
错误:
[mp4 muxer @ 0x36772e0] [Eval @ 0x7fffeddb69b0] Undefined constant or missing '(' in 'frag_keyframe'
[mp4 muxer @ 0x36772e0] Unable to parse option value "frag_keyframe+empty_moov"
[mp4 muxer @ 0x36772e0] Error setting option movflags to value …Run Code Online (Sandbox Code Playgroud)