Http Live Streaming EXT-X-STREAM-INF,计算带宽

时间:2012-06-25 20:29:24

标签: video ffmpeg http-live-streaming bitrate

最初,我试图找到在其他非Mac平台上进行HLS分段的可能方法。

为HLS细分视频涉及以下步骤:

1)将编码视频拆分成段

2)创建仅包含当前节目的片段列表的播放列表(.m3u8)文件,包括每个片段的持续时间(秒)

3)创建一个变体播放列表,其中包含所有演绎的所有播放列表的相对路径,其中包含根据HTTP Live流协议的BANDWITH信息:

该值是每秒位数的十进制整数。它必须是出现或将出现在播放列表中的每个媒体片段(计算包括容器开销)的总比特率的上限。

ffmpeg的最新版本包括分割视频的可能性。但是ffmpeg无法创建m3u8文件。创建简单的播放列表不是问题。但是创建变体播放列表可能是:

因此,Mac上的variantplaylistcreator创建了这些,以某种方式计算比特率并将基于此的值放入BANDWITH标记中。

我尝试了很多不同的方法但是我无法得到与variantplaylistcreator完全相同的数字,而且此时我找不到任何信息它是如何计算这些值以及它使用的算法。 我的数字很接近,但仍然略有不同。

理论上它应该不是问题,但重点是 - 我不确定。 也许BANDWITH信息对于完美无瑕的视频播放应该是精确的,也许它不需要。

无论如何,我真的好奇mutplaylistcreator是如何计算它们的:

1 个答案:

答案 0 :(得分:0)

我尝试使用最新版本的Http Live Streaming命令行工具,并将结果与​​我们当前使用的版本进行比较,并且这个数字略有不同。因此,这些值不必完全准确。

我想我会好的,如果我只是把所有段的平均比特率值...

我稍后会测试这个理论,我希望它会起作用......