1

誰かがSmoothVideo(Silverlight)マニフェストファイルを解析しましたか?

私はそれをフェッチすることができます、私はフォーマットを理解するのに少し助けが必要です。Pythonスクリプトでチャンクをダウンロードして、ストリームが機能しているかどうかをテストしたいと思います。

私はそれを次のようなセクションに取ります: <c d="62680000" /> チャンクIDですか?

次のようなURlフィールドに基づいて、それらを取得するためのパスをどのように計算しますか。 Url="QualityLevels({bitrate})/Fragments(video={start time})/WowzaSessions(421420850).ismv">

私はAppleHLSで同じテストを実行しましたが、これはより単純な形式です。

このフォーマットについて何か助けはありますか?MSはこれを取得するためのドキュメントをあまり持っていないようです。そのすべては、ブラウザで既存のプレーヤーコントロールを使用することに焦点を当てています。

4

1 に答える 1

2

チャンク定義には、要求する開始時間を計算するために使用できるチャンク番号と期間が含まれている必要があります。あなたの例の場合、チャンク番号が欠落しているように見えますが、マニフェストに表示される順序から推測できます。

Smooth Streaming Sampleサイトにアクセスし、fiddlerを使用してリクエストをキャプチャすると、リクエストするマニフェストと、マニフェストとダウンロードされるチャンクの関係を確認できます。

この場合、マニフェストURLはhttp://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/Manifest、異なる品質の8トラックと、それぞれに番号と期間が付加されたチャンク定義を含むビデオストリームを提供します。プレーヤーは、前のチャンクの合計期間に基づいて連続する各チャンクの開始時間を計算しUrl、ストリーム定義の属性に品質と開始時間を.ismURLの末尾に置き換えて要求します。

このリクエストの場合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 に答える