Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

Bookmarklet 小技集 開発実績

動画を楽しもう!(YoutubeのFLVの在処とダウンロード用ブックマークレット)

投稿日:


前に作った富豪的なブックマークレットが一時的にダウンロードできない状態になった(現在は復旧)。
・動画を楽しもう!(Youtubeの動画を片っ端からダウンロードするブックマークレット)
原因は恐らく、ダウンロードに使用していたGoogle Videoのサーバが混んでいたか、障害でも起こっていたんだと思う。
ちなみにFLVのURLはこんな感じ。

http://cache.googlevideo.com/get_video?video_id=ビデオID

で、上のURLはGoogleがYoutubeを取り込んだ後にできた、キャッシング機能だと思うのでYoutube自体のものではない。というわけでネットを色々調べていると、下記URLでダウンロード可能という情報がたくさんでてきた。

http://youtube.com/get_video?video_id=ビデオID

でも、実はこのURLでは現在ダウンロードできない。ってか試したけどできなかった。恐らくYoutube側がダウンロードしにくいような工夫をしたのだろう。
そこで、現在Youtube自身が使っているURLを調べようとパケットキャプチャーしてみたところ(…するなよ)下記のURLである事が分かった。

http://youtube.com/get_video?video_id=ビデオID&t=ハッシュキー?
http://www.youtube.com/get_video?video_id=ビデオID&t=ハッシュキー?
http://jp.youtube.com/get_video?video_id=ビデオID&t=ハッシュキー?

ドメイン部分(wwwとかjpとか)は動作上あまり関係ないみたい(ローカライズしてるだけで仕組みは一緒?)。
一目瞭然だけど、「t」っていうパラメータが増えている。これがないとアクセスできない。
・・・と、ここまではただの情報。続きで「t」の取得方法とブックマークレットを紹介します。

謎のハッシュキー「t」の取得方法

もちろん、URLには含まれていないのでHTMLソースを眺めていたんだけど意外とあっさり見つかった。

var swfArgs = {hl:'ja',BASE_YT_URL:'http://jp.youtube.com/',video_id:'sZ_P8gYrJsY',l:'482',t:'OEgsToPDskI61hCfleWC8LuGh0VY5old',sk:'9YE0gEX15t-hQ4BeGYuDwAC'};

ご丁寧にJSONオプジェクトにまとめられていたよ!
という事はこんな感じで呼び出せちゃう。

javascript:alert(swfArgs.t);

YoutubeのFLVダウンロード用ブックマークレット

上記踏まえブックマークレットを作りました。
>Youtube FLV DL
毎度ながら、上記リンクをブックマークして下さい。
一応ソースも書いとくけど、

javascript:(function(){location.href='/get_video?video_id='+swfArgs.video_id+'&t='+swfArgs.t})();

そこはかとなく簡単。
冒頭で書いた通り、ドメインによる差が特にないっぽいので、呼び出すURLからドメイン部分省略しちゃった。
■使い方
・Youtubeの再生画面に行く(http://www.youtube.com/watch?v=ビデオID)
・ブックマークレット実行
・ダウンロードダイアログが開くので「hogehoge.flv」とか拡張子に「.flv」を付けて保存

まとめ

今回(も)、HTMLから情報をさらっているので、Youtubeがリニューアルをしたりしてコード体系が変わったら動かなくなる可能性があります。不具合見つけたらご連絡下さい。
それから、ストリーミングコンテンツのダウンロードは今後違法になるかもしれません。
この辺りの話は別のエントリーに書こうと思うので今回はふれませんが。
このブックマークレットを使うか、使わないかは、あなた次第です・・・

・Youtube でHD動画に対応しているか確認する裏技見つけた
・動画を楽しもう!(HandBrake 0.9.3 でYoutubeのHD動画からDocomo P905i用動画変換)
・YoutubeでHD動画がダウンロード可能か判別する方法と、作ったAPIとブックマークレット
・動画を楽しもう!(Youtubeでダウンロード可能なファイル形式が一目瞭然になるGreasemonkey)
・動画を楽しもう!(YoutubeでHD動画など全形式でダウンロードできるブックマークレット)
・動画を楽しもう!(YoutubeをMP4でダウンロードするもっと簡単なブックマークレット)
・動画を楽しもう!(Adobe Media Playerは超便利なYoutubeダウンローダーだった!)
・動画を楽しもう!(YoutubeのFLVの在処とダウンロード用ブックマークレット)
・動画を楽しもう!(ustreamの録画した動画(Past Clips)のFLVを片っ端からダウンロードするブックマークレット)
・動画を楽しもう!(Youtubeの動画を片っ端からダウンロードするブックマークレット)
・動画を楽しもう!(HandBrakeの最新版0.9.0を試してみる)
・動画を楽しもう!(インターネット編)
・動画を楽しもう!(MacでDVDコピー編)
・動画を楽しもう!(WindowsでDVDコピー編)

-Bookmarklet, 小技集, 開発実績

執筆者:


  1. 匿名 より:

    早速使用してみました。期待通りでした、解析ご苦労様です。
    適度な使用を心がけます

  2. yager より:

    >名無しさん
    適度がどのくらいか良く分かりませんが、ご利用は計画的に。

comment

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

関連記事

Ust DL v2.2.0 (新デザイン対応)

9月にUstreamの新デザインが適用されたようで、新デザインの録画URLではUst DLが正常に動いていないようでした(古いIDなど旧デザインで表示されるページは問題なし)。これに対応する形で、バー …

第11回:引用(blockquote)を簡単にするブックマークレット

前に書いたリンクタグを生成するブックマークレットにも関連するんだけど、ブログを書く上で頻繁に行う引用の手順を簡単にしてくれるブックマークレットを作ってみようと思う。 通常は、引用するサイトの「URL」 …

「ツイッター 会社と仕事はこう変わる」でツイポーートが掲載されました

全然知らなかったのですが、今月1日に発売のムックでツイポーートを紹介していただきました。ありがとうございます!

no image

見ているページのHTMLソースを表示するブックマークレット(Yahoo!Pipes版)

この辺のエントリーに触発されてブックマークレット作りました。 ・URLを渡すとページの内容(htmlソース)をJSONPとかで取得できるAPIをYahoo! Pipesで作った(管理人日記) &#82 …

何曜日の何時ころがピークなのか分かりやすいヒートマップ的な分布を出すSQL

ご無沙汰しております。ヤガーです。 すっかりエンジニア的な投稿をしなくなってしまったんですが、食っていかないといけないわけでずっとプログラム書き続けております(笑) 昨今ではプログラミングはどんどん高 …

スポンサードリンク

スポンサードリンク