【2012/01/03:更新】
Ust DLの公式ページができました。今後の最新情報はこちらをご確認ください。
Ust DL 公式ページ
【2010/04/13:追記】
スクリプトをアップデートしました。もう少し詳しい説明が以下リンク先にあります。
UstreamのRecordedをダウンロードできる「Ust DL」はUserScriptでもイケます
【2010/03/04:追記】
新しい方法を書きましたので、こちらのエントリーを参考にしてください。
UstreamのRecordedをダウンロードするBookmarklet
ちょっと前からwebカメラで手軽にストリーミング配信ができちゃうwebサービス「Ustream.tv」が流行っているみたいです。
Ustream is a platform that provides live interactive video for everyone. Anyone with a camera and an Internet connection can use Ustream to broadcast to a global audience.
via: Ustream.tv
でも、個人的には自分の姿を配信するつもりはないし、他の人がPCに向かっている映像をみても特に面白くないので、たまにtwitterでshimookaさんあたりが「ustream中」とか書いているとチェックするくらいでした。
ところが最近、ustreamで勉強会とかセミナーをストリーミング中継ってのが流行っている(?)らしく、中継しながら録画もできちゃうってんで結構注目しております。
・TAKESAKO @ Yet another Cybozu Labs: Shibuya.pm#8 ustream中継
・うさぎ文学日記 – Ustream.tvは勉強会の必須ツールになった感
前置き長くなりましたが、どうやらUstreamもFLVをダウンロードできるURLが存在する事がわかったので、例のごとくブックマークレットでダウンロードしやすくしてみよっかなぁと思います。
Ustream.tvで録画した動画のFLVのありかとその取得方法
Perlな人はこの辺参照、
・subtech – Bulknews::Subtech – Plagger で ustream FLV ぶっこ抜き
・unknownplace.org – 2007/10/03
もっと簡単な方法無いかなと思ったら、
ここまできたら、おもむろにFirefoxの別のタブ(ウィンドウでもいいけど)のロケーションに http://flash{serverid}.ustream.tv:18881/broadcast/{数字/数字}.flv を打ってリターン
という事らしい。
でも、Firebugで取得してるってコトはJavaScriptでもできるよな?
と思ったのでやってみる。
Ustream.tvで録画した動画をダウンロード可能にするブックマークレット
さっそくですが、完成品です。
>Ustream FLV Download
1)上記リンクをブックマークして下さい。
2)ダウンロードしたい対象のチャンネルのURLを開く
http://ustream.tv/channel/******
3)ブックマークレット発動!
4)「Done!」って出たら成功!
5)Past Clipsのリンク先がFLVになっているので好きなのを保存
5が良く分からないかもしれませんが、以下のようなイメージです。
↓ここで、ブックマークレットを実行すると・・・
このようにサムネイルのリンク先がFLVになるので、わかりやすいです。
あ、変換しちゃうと逆にストリーミングで見たい時に困るかな・・・。
その時は、画面をリロードして下さい。(ゴメンなさい)
ブックマークレットの中身はこんな感じ。
javascript:(function(){w=window;d=document;o=d.getElementById('recordedVideos');t=o.innerHTML;if(a=t.match(/javascript:play.'video','([^']+)','([^']+)','([^']+)','([^']+)'../g)){if(b=t.match(/broadcast.([0-9]+).([0-9]+)/g)){if(a.length==b.length){for(i=0;i<a.length;i++){f=a[i].split(',');fl=f.length-1;t=t.replace(a[i],'http://flash'+f[fl].substring(1,f[fl].length-3)+'.ustream.tv:18881/'+b[i]+'.flv');}o.innerHTML=t;alert('Done!');}}}})();
ついでに、改行とコメント付きものせとく。
javascript: (function(){ w = window; d = document; o = d.getElementById('recordedVideos'); //録画された動画のサムネイルが入る要素 t = o.innerHTML; //サーバーIDが入っているJS関数pray()を正規表現で抜き出す if ( a = t.match(/javascript:play.'video','([^']+)','([^']+)','([^']+)','([^']+)'../g) ) { //ビデオID(と思われるもの)が入っているサムネイル画像パスを正規表現で抜き出す if ( b = t.match(/broadcast.([0-9]+).([0-9]+)/g) ) { //サーバーIDとビデオIDがちゃんと取得できた場合 if( a.length == b.length ) { for ( i=0; i<a.length; i++ ) { f = a[i].split(','); fl = f.length-1; //抜き出したIDを組立てて、JS関数pray()と差し替え t = t.replace(a[i],'http://flash'+f[fl].substring(1,f[fl].length-3)+'.ustream.tv:18881/'+b[i]+'.flv'); } //id=recordedVideosの要素を入れ替え o.innerHTML = t; //無事終了 alert('Done!'); } } } })();
Past Clipsの一覧が入っているdiv要素(id=”recordedVideos”)は、画面ロード後にAjaxやらでHTMLを流し込んでるっぽいので、HTMLソース見ただけでは空っぽなので注意。
まとめ
例のごとく、正規表現が微妙ではあるがね。動けば良し。
IE、FireFox、Safariで動くのは確認しました。(が、抜けはあるかも)
不具合見つけたら報告願います。
それから、UstreamのFLVはコーデックが特殊らしいのでVLCではダメっぽい。
FLV Playerなら大丈夫との事ですが、未確認です。
以下も参考になりそう。
・どんごどんご – 2007-10-03
関連エントリー
・動画を楽しもう!(ustreamの録画した動画(Past Clips)のFLVを片っ端からダウンロードするブックマークレット)
・動画を楽しもう!(Youtubeの動画を片っ端からダウンロードするブックマークレット)
・動画を楽しもう!(HandBrakeの最新版0.9.0を試してみる)
・動画を楽しもう!(インターネット編)
・動画を楽しもう!(MacでDVDコピー編)
・動画を楽しもう!(WindowsでDVDコピー編)
ustream.tvのFLVを落とすブックマークレット
動画を楽しもう!(Ustream.tvで録画した動画「Past Clips」のFLVをダウンロード可能にするブックマークレット) ::: creazy …