是否有人解析了平滑视频(Silverlight) Manifest文件?
我可以获取它,我只是需要一点帮助来理解格式。我想让我的python脚本下载一个块来测试流是否工作。
我把它看作是这样的部分:<c d="62680000" />
是块id吗?
如何根据URl字段找出获取它们的路径:Url="QualityLevels({bitrate})/Fragments(video={start time})/WowzaSessions(421420850).ismv">
我在Apple HLS上做了同样的测试,不过这个格式更简单。
这个格式有什么帮助吗?微软似乎没有太多的文档来实现这一点,它都集中在如何在浏览器中使用现有的播放器控件。
数据块定义应该包含数据块编号和持续时间,您可以使用它们来计算请求的开始时间。在您的示例中,块号似乎丢失了,尽管您可能可以通过它们在清单中出现的顺序来推断它们。
如果你去到Smooth Streaming Sample站点并使用fiddler捕获请求,你将能够看到它请求的清单以及清单和下载的块之间的关系。
在这种情况下,manifest url是http://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/Manifest
,它给出了一个视频流,包含8个不同质量的轨道和块定义,每个轨道附带一个数字和持续时间。播放器根据前块的累计持续时间计算每个连续块的开始时间,并通过将流定义的Url
属性与质量和开始时间替换为.ism url的末尾来请求它。
在此请求http://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/QualityLevels(2040000)/Fragments(video=360000000)
的情况下,我们可以通过将开始时间除以块持续时间(360000000/20000000=18)来确定请求的特定块