SilverlightでYoutube HDを再生する

SilverlightでYouTubeビデオを再生する機能についてのCorey Schumannブログ投稿の記事読んだ後、私はそれを自分でやろうとすることにしました。



Youtubeストリームを使用してMSDNコードギャラリーからSilverlight 3 Video Playerで再生するAsteroid Impactのスクリーンショットを次に示します。

画像

ビデオストリームURLを取得するにはどうすればよいですか?



すぐに予約し、クライアント側のURLを取得しようとしましたが、YouTubeのアクセスポリシーではこれを禁止しています。 それから私は別の行動をとり、必要なURLを返すWCFサービスを作成しました。

  1. www.youtube.com/get_video_info?video_id=」+ videoIDに対してHttpWebRequestを実行します
  2. 答えと簡単な説明を読みます。 返される応答は文字列であり、リクエストのように見えます。

    1. 解析する必要がある答えの必要な部分は、「トークン」と「fmt_map」です。
    2. 価値

      「fmt_map」は「18/640000/9/0/115」のようになります。 最初の番号18または22は、h.264ストリームが利用可能であることを意味し、他の値もありますが、それらは省略します。 最初の数値が6の場合、Silverlightがサポートしていないフラッシュタイプであるため、ストリームは失われません。
  3. 2番目のHttpWebRequestを「 www.youtube.com/get_video.php?video_id= 」に追加します+ videoID +「&t = "+トークン+"&fmt = "+ fmt(使用可能なものに応じて18または22になります)
  4. 応答ヘッダーの「Location」キーに、ビデオストリームURLがあります
これで、このURLをメディアアイテムまたはメディアプレーヤーのソースに割り当てて、ビデオを見ることができます。



パラグラフ4.Cに注目したい。 契約条件に基づき、YouTubeはこの方法でのビデオコンテンツの受信を禁止しています。これは単なる実験です。



All Articles