Creazy!

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

Bookmarklet Greasemonkey Ust_DL 小技集 開発実績

動画を楽しもう!(Ustream.tvで録画した動画「Past Clips」のFLVをダウンロード可能にするブックマークレット)

投稿日:


【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 を打ってリターン

via: Clouder::Blogger: ustreamの録画した動画のflvをダウンロードする方法

という事らしい。
でも、Firebugで取得してるってコトはJavaScriptでもできるよな?
と思ったのでやってみる。

Ustream.tvで録画した動画をダウンロード可能にするブックマークレット

さっそくですが、完成品です。
Ustream FLV Download
 1)上記リンクをブックマークして下さい。
 2)ダウンロードしたい対象のチャンネルのURLを開く
   http://ustream.tv/channel/******
 3)ブックマークレット発動!
 4)「Done!」って出たら成功!
 5)Past Clipsのリンク先がFLVになっているので好きなのを保存
5が良く分からないかもしれませんが、以下のようなイメージです。
ustream1
↓ここで、ブックマークレットを実行すると・・・
ustream2
このようにサムネイルのリンク先が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コピー編)

-Bookmarklet, Greasemonkey, Ust_DL, 小技集, 開発実績

執筆者:


  1. id:k-z-h より:

    ustream.tvのFLVを落とすブックマークレット

    動画を楽しもう!(Ustream.tvで録画した動画「Past Clips」のFLVをダウンロード可能にするブックマークレット) ::: creazy …

comment

メールアドレスが公開されることはありません。

関連記事

Topsy API を使ってブログに「つぶやかれ数」を自由にレイアウトする

Twitterの普及にともなって、twitter.com からこのブログにきてくれる人が増えてきました。Twitterとの連携を強化すべく 見ているページをTwitterに投稿するBookmarkle …

さくらのVPSからXSERVERへのサーバー移転に合わせてMovableTypeからWordPressへ移行+SSL化

ご無沙汰しております、ヤガーです。 すっかり更新頻度の減ってしまったテック・ガジェットブログのCreazy!なのですが、2006年5月に開始してから10年以上MovableTypeで動作させてきました …

no image

続:Apple Store のアウトレット品が買える「特別限定販売」ページをいち早くチェックする方法

以前こんなエントリーを書いて、 ・Apple Store のアウトレット品が買える「特別限定販売」ページをいち早くチェックする方法 TumblrにAppleの特別限定販売ページの更新情報を食わせて、T …

「はてブ Fans Ranking」であなたのブログをたくさんブクマしてくれてる人を調べよう

ちょっと、思い付いてこんなの作ってみました。 指定したURL内ページをたくさんブックマークしている、はてなブックマークアカウントのランキングを表示してくれます。

tsudaる 専用Greasemonkey「TweetTheMinutes」

津田さんの著書Twitter社会論の中にあった「tsudaる技術」の解説を読んで、中継としてツイッターを使う場合にある程度登壇者の名前なんかを事前に登録しておいて簡単にツイートできるようにしたら便利か …

スポンサードリンク

スポンサードリンク