Flash8からあるFLVPlaybackコンポーネント、先日使ってみてJavaScriptと連動させたりしてたけど、ちょっと駄目な所があったのでMediaPlaybackを使う事にした。
Flash8のドキュメントによると、MediaPlayback古いので推奨しないらしいけどまあ動いてるし大丈夫だと思う。
YouTubeのFLVを外にひっぱりだそうとしてるんだけど
So-net blog:牛猫亭羊。お散歩する霊柩車の別館にして赤の他人丼。:YouTubeのサイトに仕様変更、今までの直リンクは無効により
1. オモテページのURLで表示
http://www.youtube.com/watch?v=zzzz
2. ソッコーで関連メディアのURLを調べる(tパラメタ取得)
http://www.youtube.com/player.swf?video_id=zzzz&t=Hoge
3. FLVファイルのURLをつくってアクセス
http://www.youtube.com/get_video?video_id=zzzz&t=Hoge
という情報を得て、HTML解析してflvファイル取れた…かに見えたけどまだだった。
http://www.youtube.com/get_video?video_id=zzzz&t=Hoge
にアクセスすると、HTTPコード303で.flvファイルのURLにリダイレクトされるのだが、リダイレクト先が2種類ある。
■1.flvにリダイレクト
たとえば
http://www.youtube.com/watch?v=luVcCs0UMB0
とかは、t=Hogeの形式のURLからさらに
http://youtube-662.vo.llnwd.net/d1/05/F0/luVcCs0UMB0.flv
にredirectされるけど、
■2.get_videoにもう一度リダイレクト
http://www.youtube.com/watch?v=BsGbMntwzY8
これはt=HogeのURLから
http://sjl-v56.sjl.youtube.com/get_video?video_id=BsGbMntwzY8
こっちにリダイレクトされる。
拡張子は.flvではないが、HTTPコードは200(普通のコンテンツ)で、
Content-Type: video/flv になっててflvファイルだとわかる。
■FLVPlaybackの仕様?
でも、FLVPlaybackは.flvでないと読み込んでくれない。
MediaPlaybackなら読み込めた。両方とも同じように、playheadTimeやcontentPathなどのプロパティがあったので置き換えはすんなりいけた。
ああ本当に良かった。