« Mixed MediaのIPからスパム | トップページ | 新型iPod? »

2006/04/29

YouTubeのFLVが保存できる理由

ブックマークに追加する

MacromdeiaのFlashコンテンツから呼び出されるFLVファイルは、ローカルに保存出来ないようになっている(とMacromediaの資料を読んで認識している)。
ところが、当ブログの別エントリ「YouTubeをローカルに保存」で紹介したKEEPVIDでは、このFLVファイルが保存できる。

なぜ、FLVファイルが保存できるのかをちょっと調べてみた。

こんな時の調査ツールとして、Firefoxの場合、LiveHTTPHeadersというプラグインがある。
このツールを使って、YouTubeから適当なファイルを視聴したときのヘッダ情報を取得してみた。

Flashコンテンツの取得時には、QueryStringに video_idその他の変数を付加して呼び出しており
GET /player.swf?video_id=b4Knsa(以下略)
という要求に対して

HTTP/1.x 200 OK
.....(略).....
Content-Length: 10425

の応答を返している。さらに、このplayer.swfから、
GET /get_video?video_id=b4Knsa(以下略)という要求が発生しており

HTTP/1.x 303 See Other
.....(略).....
Location: http://youtube-988.vo.llnwd.net/d1/01/22/b4Knsa(途中略).flv

を応答として返している。

ここから、MacromdeiaのFlashストリーミングのようにRTMPプロトコルを使用しているのではなく、単純にHTTPプロトコルでリダイレクトしていたから、このLocationヘッダを解析すれば、そのままダウンロード出来ることになる。
# 単純にLocationヘッダで示されているURLを wgetcurl等でダウンロードすればOK

なお、ステータスコード303はめったに見ないコードなので、調べてみた。
Studying HTTP303 See Otherによると、リダイレクトで要求メソッドを切り替える時に使用するものということらしい。


●お探し物は見つかりましたか?まだの方は以下の検索をご利用下さい。
 
当ブログ内 (within this blog) Web
●当ブログのRSSフィードをお手持ちのRSSリーダーにご登録いただくと、エントリ追加時のみ更新通知が届くため、確認の手間が省けます。よろしければ、どうぞ。
当ブログのRSSフィード
●当ブログの更新情報+α(deliciousのブックマーク他)はTwitter経由でも確認できます。是非フォローしてください。(実はRSSフィードよりも更新が早かったりします)

|

パソコン・インターネット」カテゴリの記事

blog comments powered by Disqus


●Google広告


●その他の広告



トラックバック

この記事のトラックバックURL:

●トラックバックされる方へのご注意
本文中でこのエントリのアドレスを引用してください。引用(言及リンク)がない場合はスパム(迷惑行為)として削除します。
なお、迷惑行為かどうかを人力で判定しているため、トラックバックが反映されるまでに少々、お時間を頂いています。
For foreigners: If you would like to trackback to this entry, please include permlink of this entry in your entry. If your entry doesn't include this permlink, I will delete your trackback as spam.

この記事へのトラックバック一覧です: YouTubeのFLVが保存できる理由:

 
Google