1

有没有人解析过平滑视频(Silverlight)清单文件?

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

我将其视为以下部分: <c d="62680000" /> 是块ID吗?

我如何根据 URl 字段计算出获取它们的路径,如下所示: Url="QualityLevels({bitrate})/Fragments(video={start time})/WowzaSessions(421420850).ismv">

我已经为 Apple HLS 进行了相同的测试,尽管它的格式更简单。

这种格式有什么帮助吗?MS似乎没有太多关于获得这个的文档,它都集中在使用浏览器中现有的播放器控件上。

4

1 回答 1

2

块定义应包含块编号和持续时间,您可以使用它们来计算请求的开始时间。在您的示例中,似乎缺少块编号,尽管您可以通过它们在清单中出现的顺序来推断它们。

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

在这种情况下,清单 urlhttp://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)

于 2013-03-25T11:51:04.620 回答