0

我正在使用 ffmpeg 将我的视频转换为 mp4 H.264,而不是使用 qt-faststart 将 moov atom 更改为 front,因此我可以流式传输视频。

对于 5-10 分钟的小视频,一切正常,但对于 1-2 小时的大视频,开始播放可能需要很长时间。它加载 6-10mb,然后才开始播放视频。

在 flv 中并非如此,无论视频有多大,它都会立即播放。我该如何解决?

4

1 回答 1

0

这只是格式的性质。moov atom 包含文件中每一帧音频或视频的所有元数据。因此,帧数越多,moov 就越大。通过将所有这些元数据放在一个位置,可以更轻松地在文件中查找。一旦你下载了 moov,播放器就确切地知道文件中的哪个字节请求寻找特定的帧或时间。FLV 文件一次发送一帧,没有帧位置索引,这使得播放器的查找非常困难。

您可以尝试通过确保您的视频不处于可变帧速率并且您没有在元数据中嵌入不必要的数据(例如电影海报)来使 moov 更小。让服务器发送 gzip 流可能会有所帮助,并且 moov 应该可以很好地压缩。

于 2013-09-27T17:38:58.537 回答