使用 -hls_time > 10 制作 hls 文件

Making hls files with -hls_time > 10

我正在构建一个本地应用程序,用于从浏览器观看本地视频,因为一些视频播放超过 1 小时后开始出现延迟,使用 HLS 而不是 .mp4 解决了这个问题。

在我构建的应用程序中,用户通常会向前跳过 10-40 秒。 我的问题是:我应该使用 -hls_time 60 还是只使用 -hls_time 10

会更好

当前代码:ffmpeg -i "input.mp4" -profile:v baseline -level 3.0 -start_number 0 -hls_time 10 -hls_playlist_type vod -f hls "input\index.m3u8"

较长的片段意味着较大的片段大小,因此在搜索后播放器可能需要更长的时间才能恢复,具体取决于可用带宽以及是否已检索到所需的片段。

如果该应用适用于网络条件预计会发生变化的移动设备,您还需要考虑自适应流式传输。在这种情况下,对于较长的片段,您会看到质量切换较差,但您有播放停顿的风险。可以找更详细的文章here.

关于您的 ffmpeg 命令的一些观察:

  • 不要设置 level,因为如果未指定它已经自动计算,您可能会弄错并扰乱设备兼容性检查。
  • 片段仅在关键帧上被剪切,并且它们的持续时间可以大于指定的 hls_time。如果您需要精确的片段持续时间,则需要以所需的间隔插入关键帧。