TRASH-NEWS 2008年06月15日の記事一覧

順路
  1. ホーム
  2. 2008年
  3. 06月
  4. 15日 [現在地]
Search?
お知らせ
ここ数日更新が滞っていますが…… (2008/04/13 13:31)
4月より社会人となったため、時間の作り方がいまいちつかめないため、不定期の更新となります。まぁ……ニコニコメーカーでもお楽しみください!
1 2 3

2008年06月15日

2008年06月15日のニュースとネタをお届けします

関連した日付へのリンク
  1. 2008年の記事一覧
  2. 2008年06月の記事一覧
TRASH-NEWSは
I've Soundをこよなく愛するサイトです

2008年06月15日本日のニュースとネタ

3日連続Opera9.5記事。昨日のOpera9.5の感想+不具合記事でご紹介したby edvakf in hatenaさんで面白い記事を見つけました。こちら[ OperaでCacheを効果的に探す方法 ]。

Operaで動画を見ると、所定のフォルダ(例. ユーザーフォルダ\Local Settings\Application Data\Opera\Opera\profile\cache4\)にキャッシュファイルとしてどんどん保存されていきます。YouTubeニコニコ動画でもソレは同じこと。おかげで特別な保存用ソフトなどを使わなくてもキャッシュファイルをあされば動画を自分のPCに保存できるわけです(まぁ大抵のブラウザで同じことが出来ますが)。

ところがOpera9.5からはキャッシュファイルの扱いが変わってしまい、拡張子を削った名前にリネームされてキャッシュされるようになりました。一見しただけではどれが動画のキャッシュファイルかわからなくなってしまったのです。ファイルサイズの大きいものに当たりをつけて、拡張子をつけて再生を試みる……ああ、最近はmp4とflvの2種類あるからどっちの拡張しかわからない!

数万のキャッシュファイルがうごめくフォルダでそんな作業をするのは、はっきり言って超面倒。もっとこう、ニコニコのキャッシュっぽいものを手軽に見つけられないだろうか! そんな要望が起きることを予見してか、どこかのどなたかがOpera:cacheというOpera内蔵のキャッシュフォルダブラウザページ(?)にインクリメントサーチ機能をつけました。キャッシュと一緒に記録されている元URLに対して検索をかけられるようになったのです。どういうことかというと、"nicovideo.jp"というURLで取得したキャッシュファイルだけをピンポイントに表示できるようになったということ。これで当たりをつけやすくなった!

しかしまだ面倒なことには変わりません。どれがなんの動画かわからないし、管理も出来ない! そこで今回僕が作ったのが"ニコニコ動画の動画サーバーから落としたファイルだけを表示してサムネイルも表示させるOpera用スクリプト"。タイトルが長ェ!!

Opera9.5でニコニコ動画のキャッシュを管理しやすくするスクリプト

どういったものかといいますと、キャッシュファイルの元URLに"nicovideo.jp/smile?"(=動画が置いてあるサーバーのURL)を含むキャッシュファイルを抜き出し、そのURLに含まれるニコニコの動画IDを抽出、そのIDからサムネイルをニコニコ動画のサムネイルサーバーから呼び出して表示させる、てなところ。まぁ実際に使ってみたようすをスクリーンショットでアップしましたのでどうぞ。

以下がコード。なお大半の部分は先述のedvakfさんの手によるもの。こちらのリンク先で詳しい解説がなされていますので、まずはそちらをご覧あれ。

Opera9.5でニコニコ動画のキャッシュファイルを管理するスクリプト
<script type='text/javascript'> document.addEventListener('load', function() { for(var i=0; document.links[i]; i++){ document.links[i].target = '_blank'; }; var l = document.getElementsByTagName('tr'); var sf = document.createElement('input'); sf.type = 'text'; sf.defaultValue='検索'; sf.style='margin:0 4px;float:right;'; sf.addEventListener('focus', function(){ if(this.value==this.defaultValue){this.value=''} },false); sf.addEventListener('blur', function(){ if(!this.value){this.value=this.defaultValue} },false); sf.addEventListener('keyup', function(){ var v=this.value; for(var i=0, li; li=l[i]; i++){ var p=li.lastChild.firstChild.innerText; if(p && p.indexOf(v)==-1){ li.style='display: none' }else{ li.style='display: table-row' } } },false); var inp=document.createElement('input'); inp.type='button'; inp.value='サムネイル'; inp.style='float:right;'; inp.addEventListener('click', function(){ var b=/\.(jpe?g|bmp|gif|png|ico|swf|flv)$/i; var f=/\.(swf|flv)$/i; for(var i=0, li; li=l[i]; i++){ var p=li.lastChild.firstChild; var c=li.lastChild.firstChild.innerText; if(li.offsetHeight!=0 && p.childNodes.length<2){ if(b.test(c)){ var stl='float:right; border:1px dotted black; margin:1px; padding:1px;'; if(f.test(c)){ var dv=document.createElement('div'); p.appendChild(dv); dv.innerHTML='<EMBED src='+p.href+'>'; var fh=dv.firstChild; fh.setAttribute('height', 100); fh.setAttribute('width', 100); fh.setAttribute('style', stl+' content:normal; outline:none; color:inherit;') }else{ var image=document.createElement('img'); image.setAttribute('src',p.href); if(!image.height || image.height>100){ image.height='100' }; if(!image.width || image.width>100){ image.width='100' }; image.setAttribute('style', stl); p.appendChild(image) } } } } }, false); var th=document.getElementsByTagName('th')[2]; th.appendChild(inp); th.appendChild(sf); var Nico = document.createElement('input'); Nico.type='button'; Nico.value='ニコニコ抽出'; Nico.style='float:right;margin-right:6px;'; Nico.addEventListener('click', function(){ var v='nicovideo.jp/smile?'; for(var i=1, li, NicoA; li=l[i]; i++){ var p = li.lastChild.firstChild.innerText; if(p && p.indexOf(v)==-1){ li.style = 'display: none' }else{ li.style = 'display: table-row'; li.lastChild.firstChild.href.match(/(m|v)=([0-9]+)/img); if(RegExp.$1 == 'm'){ var VideoMIME = "video/mp4"; }else{ var VideoMIME = "video/x-flv"; } var Nico = RegExp.$2; var Video = 'file://localhost/C:/Documents%20and%20Settings/(ユーザー名)/Local%20Settings/Application%20Data/Opera/Opera/profile/cache4/' + li.firstChild.innerText; li.firstChild.innerHTML = '<a type="' + VideoMIME + '" href="' + Video + '"><img src="http://tn-skr.smilevideo.jp/smile?i=' + Nico + '" width="130" height="100"><br />sm' + Nico + ' (' + VideoMIME + ')</a>' } } }, false); th.appendChild(Nico); },false); </script>

太字部分が僕の追記した部分です。まぁほとんど流用させていただいたということですね!

このコードのなかに1箇所ある(ユーザー名)という部分をあなたのログインユーザー名(Windows的な意味で)に書き換え、改行を全部消したのちC:\Program Files\Opera\locale\ja\ja.lngの"-1713924769"のある部分に上書きしてください(文字コードはUTF-8で保存してください)。↓のような具合です。

C:\Program Files\Opera\locale\ja\ja.lng 890行目あたり
; Used as column titles in the generated cache list page, when the user has ; selected Windows/Special/Cache, or entered the URL opera:cache. -524571995="ファイル名" -299260835="アドレス" -1713924769="サイズ<script type='text/javascript'>document.addEventListener('load',function() {for(var i=0; document.links[i]; i++){document.links[i].target = '_blank';};var l = document.getElementsByTagName('tr');var sf = document.createElement('input');sf.type = 'text';sf.defaultValue='検索';sf.style='margin:0 4px;float:right;';sf.addEventListener('focus',function(){if(this.value==this.defaultValue){this.value=''}},false);sf.addEventListener('blur',function(){if(!this.value){this.value=this.defaultValue}},false);sf.addEventListener('keyup',function(){var v=this.value;for(var i=0, li; li=l[i]; i++){var p=li.lastChild.firstChild.innerText;if(p && p.indexOf(v)==-1){li.style='display: none'}else{li.style='display: table-row'}}},false);var inp=document.createElement('input');inp.type='button';inp.value='サムネイル';inp.style='float:right;';inp.addEventListener('click',function(){var b=/\.(jpe?g|bmp|gif|png|ico|swf|flv)$/i;var f=/\.(swf|flv)$/i;for(var i=0, li; li=l[i]; i++){var p=li.lastChild.firstChild;var c=li.lastChild.firstChild.innerText;if(li.offsetHeight!=0 && p.childNodes.length<2){if(b.test(c)){var stl='float:right; border:1px dotted black; margin:1px; padding:1px;';if(f.test(c)){var dv=document.createElement('div');p.appendChild(dv);dv.innerHTML='<EMBED src='+p.href+'>';var fh=dv.firstChild;fh.setAttribute('height', 100);fh.setAttribute('width', 100);fh.setAttribute('style', stl+' content:normal; outline:none; color:inherit;')}else{var image=document.createElement('img');image.setAttribute('src',p.href);if(!image.height || image.height>100){image.height='100'};if(!image.width || image.width>100){image.width='100'};image.setAttribute('style', stl);p.appendChild(image)}}}}}, false);var th=document.getElementsByTagName('th')[2];th.appendChild(inp);th.appendChild(sf);var Nico = document.createElement('input');Nico.type='button';Nico.value='ニコニコ抽出';Nico.style='float:right;margin-right:6px;';Nico.addEventListener('click',function(){var v='nicovideo.jp/smile?';for(var i=1, li, NicoA; li=l[i]; i++){var p = li.lastChild.firstChild.innerText;if(p && p.indexOf(v)==-1){li.style = 'display: none'}else{li.style = 'display: table-row';li.lastChild.firstChild.href.match(/(m|v)=([0-9]+)/img);if(RegExp.$1 == 'm'){var VideoMIME = "video/mp4";}else{var VideoMIME = "video/x-flv";}var Nico = RegExp.$2;var Video = 'file://localhost/C:/Documents%20and%20Settings/(ユーザー名)/Local%20Settings/Application%20Data/Opera/Opera/profile/cache4/' + li.firstChild.innerText;li.firstChild.innerHTML = '<a type="' + VideoMIME + '" href="' + Video + '"><img src="http://tn-skr.smilevideo.jp/smile?i=' + Nico + '" width="130" height="100"><br />sm' + Nico + ' (' + VideoMIME + ')</a>'}}}, false);th.appendChild(Nico);},false);</script>" ; 以上ここまで

ちなみにキャッシュフォルダに関してはopera:config#Cache Directory4でも確認可能です。保存後、Operaを再起動させ、opera:cacheにアクセスすると検索窓と共にニコニコ動画抽出ボタンがついているはずです。

ちなみにこのスクリプトの存在意義を根底から覆す問題をひとつ。

当然キャッシュフォルダに保存されている動画しか表示できないということ。

キャッシュフォルダの上限サイズを数100MB以上に設定しない限り、せいぜい5~10本しか動画を保存できませんからね。見る端からキャッシュファイルは上書きされていくわけで。動画を見たらopera:cacheにアクセスしてファイルを確認、みたいな使い方になってしまうこと必然です。結局面倒じゃん!

またサムネイルサーバー(http://tn-skr.smilevideo.jp/)に勝手にアクセスするのもお行儀悪いかも。うーん、そもそもこのスクリプトはOpera9.5ユーザー専用ですし、需要と使い道はかなり限られていますね。一生懸命作ったのに……。

明日以降、時間があればopera:historyからニコニコ動画のURLを抽出して履歴管理するプログラムについてご紹介します。こちらは半年くらい前に作って以来、我ながら超便利に使いまくっているので使い心地は抜群保障。ただしOperaユーザーxPHP実行環境必須ということでやはり需要はビミョウです。2つの条件を満たした全国100人くらいの方はどうぞお待ちください。

[ 関連キーワード : (キーワードは登録されていません) ]

サイト内検索
検索する
このサイトについて
  • サイト名 : TRASH-NEWS
  • 分類 : ニュースとネタのサイト
  • ジャンル : 井戸端からアレゲまで
  • もっと詳しく見る
この日の人気記事ランキング
2008年06月15日のぶん
1
Windows XP SP3インストールで不具合が起きることが発覚
65
2
テイルズオブ新作『テイルズ オブ ヴェスペリア』のまとめと推察
63
3
Opera9.5正式版で気になった点(不具合や変更点)を挙げてみる
60
4
DS版DQ5に“新たなる人生の選択”が追加されるよう
60
5
Opera9.5でニコニコ動画のキャッシュファイルを管理するスクリプト
58
6
Windows XPのSP3は思いのほかスゴいらしい
53
7
テイルズオブヴェスペリアはXbox360で発売決定?
43
8
初音ミクオリジナル曲『サイハテ』のmp3が公開開始
32
9
XP SP3における不具合報告と32bitOSでのメモリのRAMDisk化の話
30
10
神無月のひぐらし・新作壁紙とSAI作画工程がニコニコで公開中
26

2008年06月16日 0時更新

人気記事ランキング

カテゴリ(折畳表示)
ニュース・ネタ
サブカテゴリを開く
俺研究舎
サブカテゴリを開く
お知らせ
サブカテゴリを開く
特集・企画
サブカテゴリを開く
管理人近況
サブカテゴリを開く
カレンダー
2008年6月
«  05月 - 07月  »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
管理人について
管理人 : 八満かシアン
文系なのにエンジニア、なんてこったい(八満のほう)
今頃たぶん聴いている曲
Lilies line by KOTOKO
月別アーカイブ
2008年
2007年
ユーティリティ
RSSフィード
ソーシャルブックマーク
  • iGoogle
  • はてなアンテナにTRASH-NEWSを追加する TRASH-NEWSのはてなブックマーク数 TRASH-NEWSを含むはてなブックマーク
サイトプロフィール
Powered by
  • Movable Type 4.1 + [XHTML + CSS + JavaScript] + PHP
  • TRASH-NEWS / Hachiman_Cian 2007-
このページについて
題名
2008年06月15日の記事一覧
内容
  • 2008年06月15日のニュースとネタをお届けします
TRASH-NEWS ロゴ
TRASH-NEWS ロゴ
TRASH-NEWS : http://www.trash-news.net/