最初,我试图找到在其他非Mac平台上进行HLS分段的可能方法。
为HLS细分视频涉及以下步骤:
1)将编码视频拆分成段
2)创建仅包含当前节目的片段列表的播放列表(.m3u8)文件,包括每个片段的持续时间(秒)
3)创建一个变体播放列表,其中包含所有演绎的所有播放列表的相对路径,其中包含根据HTTP Live流协议的BANDWITH信息:
该值是每秒位数的十进制整数。它必须是出现或将出现在播放列表中的每个媒体片段(计算包括容器开销)的总比特率的上限。
ffmpeg的最新版本包括分割视频的可能性。但是ffmpeg无法创建m3u8文件。创建简单的播放列表不是问题。但是创建变体播放列表可能是:
因此,Mac上的variantplaylistcreator创建了这些,以某种方式计算比特率并将基于此的值放入BANDWITH标记中。
我尝试了很多不同的方法但是我无法得到与variantplaylistcreator完全相同的数字,而且此时我找不到任何信息它是如何计算这些值以及它使用的算法。 我的数字很接近,但仍然略有不同。
理论上它应该不是问题,但重点是 - 我不确定。 也许BANDWITH信息对于完美无瑕的视频播放应该是精确的,也许它不需要。
无论如何,我真的好奇mutplaylistcreator是如何计算它们的:
答案 0 :(得分:0)
我尝试使用最新版本的Http Live Streaming命令行工具,并将结果与我们当前使用的版本进行比较,并且这个数字略有不同。因此,这些值不必完全准确。
我想我会好的,如果我只是把所有段的平均比特率值...
我稍后会测试这个理论,我希望它会起作用......