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

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

関連記事

Ffmpegで複数動画ファイルを無劣化で結合したり、無劣化で切り出したりする

いつまで経ってもffmpegのコマンドが覚えられないヤガーです。 というわけで、今回もよく使うコマンドをご紹介、というか自分用メモ。 このごろイベントの撮影やライブ配信をしていて、固定カメラで動画を長 …

YouTube HD Suite v3.5.4(YouTube仕様変更対応)Google Chromeへのインストール方法

YouTubeの内部仕様変更により動作不良になっていましたので、YouTube HD Suiteのアップデートを行いました。対応が遅れまして申し訳ありません…。 インストールは下記URLか …

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

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

no image

rss2json:RSS(XML)からJSONに変換する方法まとめ(てかYahoo!Pipesでいいじゃん?)

いまさらかもしれないけどね。 ■Perlな方法  ・[JSON] コイツ、速いぞ! きっとFirefoxのXMLパーサが遅いんだ。 Kawa.netブログ(川崎有亮)/ウェブリブログ  ・[JSON] …

AmaQuick v2.0.0公開(デザインを一新、複数テンプレートやコピー補助、レビュー関連キーワード追加)

ブロガー・アフィリエイター必須のAmazonアソシエイト補助ツール「AmaQuick」を久しぶりに更新しました。久しぶり…というか調べたら約1年ぶりですよ(笑)すみません更新遅くて。今回は …

スポンサードリンク

スポンサードリンク