为什么 H.264 视频在 FLV 容器中比在 MP4 容器中快得多?

Got*_*tys 9 video mp4 streaming flv flash-player

我正在开发一个电子管站点,目前遇到了 H.264 格式的问题。我注意到 YouTube 将他们的高清视频放入 MP4 容器中,所以从逻辑上讲,我也这样做了。

接下来,我mod_h264_streaming为 lighttpd安装了流媒体和时间线清理工作。

问题是大文件(> 500MB,分辨率稍高)甚至需要很长时间才能开始缓冲(我读到 Flowplayer 和其他 Flash 播放器需要先下载元数据)。我使用 MP4Box 将 xmov 原子移到文件的前面(我也尝试过 Qt QuickStart),但这没有帮助。

接下来,我读到我需要交错音轨,所以我也这样做了。这没有引起任何变化:视频仍然很慢。

因此,我尝试将完全相同的 H.264 电影放入 FLV 容器中,并且播放缓冲几乎立即开始 - 没有变慢。

那么我在这里错过了什么?为什么我会选择带有模块的 MP4 容器mod_264_streaming,它看起来超慢,而不是内置 lighttpd 的常规 FLV 容器mod_flv_streaming?显然,许多网站选择 MP4 容器,但我不明白为什么。

作为一个附带问题,我尝试使用 HTML5<video>标签来尝试相同的 H.264 MP4 电影,并且擦洗速度非常快!我查看了 lighttpd 的日志文件,我注意到video.mp4?start=234每次清除时间线时Flash 播放器都会附加,而使用本机 HTML5<video>标记的浏览器则没有这样的事情。这是 Flash 的某种限制吗?为什么 Flash 流媒体不能像 HTML5 流媒体一样快?

Rob*_*ans 0

如果您使用 mov 容器,它会开箱即用,无需安装模块或放入 flv 容器中并使用模块。只是我的想法。使用 mov 并添加适当的 mime 类型 - 完成。