2013-03-25 45 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