YouTube の FLV を抜き出すのが簡単になっている件


タケシが PHP やらでごにょごにょやっているとかゆっていたので、簡単に取得できる方法を書いとく。

どうやらすでに内部的にも Google とくっついているようで。これまでだとスクレイピングしないとわからなかった FLV のありかが、クライアントサイドだけでわかるようになっております。

http://www.youtube.com/watch?v=2yDSbFe62E4
こんな YouTube の URL があります。これの FLV のありかは、

http://cache.googlevideo.com/get_video?video_id=2yDSbFe62E4
↑ココです。カンターン。

・・・

あともうひとつ。外部 FLV で遊ぶときの tips。
ふつう。スクレイピングとかしてひっぱってきた外部 FLV とか、ストリーミングサーバーに置いてあって別のサブドメインとかになっているムービーは、セキュリティ制限がかかっていて crossdomain.xml で許可してあげないと Bitmap に draw できません。(一時ハマったことがあるね。なんでやねーんって数時間。)

そんなときでも、アラ不思議。

this._video.attachNetStream(null);
this._bitmap.draw(this._video);
this._video.attachNetStream(this._stream);

こんなふうに一旦 Video から NetStream を detach してあげると draw できるようになります。(null を attachNetStream で detach)これは Papervision3D の VideoStreamMaterial で使われてた手法でございますね。ちょっとバグっぽい動作だと思うので将来にわたって使えるかどうかは微妙。。。

・・・

はい、というわけで。こないだ作ってたいろいろは↑のんを利用していました。

Technorati Tags: , , ,