youtubeの動画ダウンロードブックマークレット New-2010/03

YouTubeの動画を簡単にダウンロードするためのブックマークレットですが、またまたまた YouTube の仕様が変わって利用不能になっていたので調査して修正しときました
だだ、この手のやつって多分数ヶ月でまたダメになると思うんですよねぇー…

既にブックマークレットを登録している方はそのまま使えると思います
変化が無い場合は一度キャッシュをクリア(履歴のクリア)等を処理してみて下さい
Javascript が新しいバージョンに置き換わらないとダメです
目安は
MP4:iPod 480x360 → MP4:iPhone 480x360
に変わっていればオケ!

まだブックマークレットを未登録の場合は下記のボタンで登録できます

動画ダウンロード用リンク追加処理

上記のボタン右クリックして「お気に入りに追加」しちゃって下さい
(左クリックしてもダメよ!)

したら、お気に入りの登録になるんでそのまま登録してね
この作業は1度だけやったらあとは登録したブックマーク使うだけ
「追加しようとしているお気に入りは、安全でない…」などとぬかしやがるけど無視して「はい」です
(Firefoxの場合は「このリンクをブックマーク」です)

と、ここまでやったら後はYouTubeで動画を探して、目的の動画が見つかったらそのページで先に登録したお気に入りから「動画ダウンロード用リンク追加処理」を選ぶだけ

そしたら、YouTubeの画面に下記のようにダウンロード用のリンクが追加されるんで、クリックするだけでダウンロードできるようになる
対応してない動画形式は [NG] となる

ついでといっては何ですが myTubeLife も新バージョンに対応させておきました
起動すると勝手にバージョンアップするはずです
myTubeLife は動画をダウンロードするアプリケーションプログラムです

注意:
2010年より日本の著作権法が改正され、著作権で保護されている動画のダウンロードは禁止されました
動画ダウンロードブックマークレット及び myTubeLife の利用はあくまで自己責任でおねがいします
JJは一切関知しませんのであしからず
結構グレーなんで興味のあるかたはこのあたりを見てみてね


こっから先は開発メモなんで興味あるひとだけね!

以前のバージョンのベースは、プロクシとなる CGI をサーバにおいて動画キャッシュファイルを見つけダウンロードしてました
つまり、サーバにて動画IDからトークンを見つけ、更にそれを元にしてダウンロードURLを取得していました

今回(2月位?)の YouTube の仕様変更で、どうやら IP 毎にトークンが変わるように変更になったみたいです
なので、サーバで処理するとトークンはサーバIPのトークンとなってしまうためダウンロードできくなってました
情報はこのあたりです

http://jinko.slmame.com/e824724.html

実はこのトークン、動画再生ページに Flash のパラメタとして Javascript 部分に埋め込まれています
ページのソースを開いて「SWF_ARGS」で検索してみると見つけることができます

もともとこのブックマークレットは「youtube_downloadable_links_ex.js」ってJavascript を本体として動いていたので、これを改修しローカル内でトークンを取得するように変更しました

全部 Javascript でやっても良かったのですが、あまり大幅に構成を変えたくなかったので、プロクシ用の CGI は動画の存在チェックを行い、トークンを除いた動画取得URLを組み立てるように変更しました

どちらもソース公開しておきますので、自前のサーバに設置したい方は適当に修正して使って下さい

まずはプロクシCGI 「checkHoge.cgi

ブックマークレットから呼び出している Javascript 「youtube_downloadable_links_ex.js