我正在尝试使用FFMpeg编写可流式传输(分段?)的mp4文件。但是,
以AAC-LC MP4测试文件为例,将其保存为
-f mp4
格式的FFMpeg默认行为不是这种类型。以AAC-LC MP4测试文件为例,将其保存为
aac_lc_in.m4a
并运行以下ffmpeg
命令:ffmpeg -y -i aac_lc_in.m4a -strict -2 -codec copy -f mp4 aac_lc_out.m4a
结果是一个非流式文件(将其放在服务器上并尝试在浏览器中加载它。只有在完全下载后才开始)。这在原始文件中不会发生,可以在下载完成之前启动。
我还尝试使用mp4
格式参数:
-movflags frag_keyframe+empty_moov
-movflags faststart+frag_keyframe
-movflags faststart+frag_keyframe+empty_moov
-movflags faststart+rtphint+frag_keyframe
-movflags rtphint+frag_keyframe
-movflags rtphint+frag_keyframe -rtpflags latm
但是没有什么能够改变。即使输出文件看起来与原始文件非常相似(包括文件格式框、样本表格框等),生成的文件也不能流式传输。