2013-03-25 75 views
1

是否有人解析了一个平滑视频(Silverlight)清单文件?解析平滑视频清单文件?

我可以取它,我只需要一点帮助理解格式。我希望我的python脚本下载一个块来测试流是否正常工作。

我认为它是这样的部分: <c d="62680000" /> 是块ID?

我如何制定出的路径,得到他们,基于URL字段,它是这样的: Url="QualityLevels({bitrate})/Fragments(video={start time})/WowzaSessions(421420850).ismv">

Ive得到了相同的测试苹果HLS工作,虽然这有一个简单的格式。

这种格式的任何帮助? MS似乎没有太多关于获取此文档的文档,它的所有内容都集中在浏览器中使用现有的播放器控件。

+0

而这个文档心不是非常有帮助的请求的特定块:HTTP:// msdn.microsoft.com/en-us/library/ee673442(v=vs.90).aspx – 2013-03-25 11:30:34

+0

那么,客户端以RESTful URL的形式请求片段lile http://video.foo.com/something.ism/ QualityLevels(something)/ Fragments(video = somthing),我可以下载该块,但它的无法播放? – 2013-03-25 11:51:27

回答

2

块定义应该包含块号和持续时间,您可以使用它来计算要请求的开始时间。就你的例子而言,块号似乎已经丢失,尽管你可以通过它们出现在清单中的顺序来推断它们。

如果您访问Smooth Streaming Sample站点并使用fiddler捕获请求,您将能够看到它请求的清单以及清单和下载的块之间的关系。

在这种情况下,清单网址是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) 的情况下,我们能够确定通过用组块的持续时间(20000000分之360000000= 18)将所述起始时间

+0

排序。谢谢您的回答。 – 2013-03-25 15:58:18