WhiteBrowser

複数の動画ファイルを、そのサムネイルで管理できます。

導入

ダウンロード

WhiteBrowser @WIKI - 更新履歴

アップグレード

古いバージョンに上書きすることでアップグレードできます。たとえばVer.0.7.3から0.7.4で変更されたファイルは、

  • WhiteBrowser.exe
  • wbtc.exe
  • skin\wblib.js

の3つです。このときskin\wblib.jsを更新しないと、起動時に「wblib.jsのバージョンとアプリケーションのバージョンが異なります。」と警告されます。

ファイルの登録

WhiteBrowserでファイルを管理するには、そのファイルまたはフォルダをWhiteBrowserのウィンドウにドラッグ&ドロップして登録する必要があります。登録されたフォルダは、メニューの【ツール → 監視フォルダ編集】で確認できます。

管理下のファイルの移動

エクスプローラなどでファイルを移動して、再度WhiteBrowserに登録し直します。そのとき古い情報が残ったままとなるため、[監視フォルダ編集]で不要な情報を削除します。8.動画が入っているフォルダを他のところに移動したい - WhiteBrowser @WIKI - 困ったとき

またサムネイルフォルダなどを指定してある場合には、この管理ファイルだけの設定で、その情報も修正します。

管理ファイル

ホワイトブラウザに登録したファイルの情報は「ホワイトブラウザ管理ファイル (.wb) 」に保存されますが、このファイルの実体はSQLite3のデータベースのため、それ用の管理ツールで内容を確認できます。

検索

検索クエリ
 
AND検索 A B C
OR検索 A or B or C
フレーズ検索 "A B C"
除外 A -B
タグ検索 !A

既定では、ファイル名の振り仮名やそのローマ字読みにも一致します。これをファイル名の文字にだけ一致するようにするには、SQLダイレクト検索を用いて{movie_name LIKE '%keyword%'}のように指定します。

ワイルドカード検索

  • 先頭一致 … neko*
  • 末尾一致 … *neko

SQLダイレクト検索

{movie_size < 50000}のようにかっこで囲んで、SQLの構文で指定します。指定可能なフィールドは下表の通りで、ファイルに関する各種のプロパティを条件とできます。

フィールド名
フィールド名 意味
movie_id ファイルID
movie_name ファイル名
kana ファイル名の振り仮名
roma ファイル名の振り仮名のローマ字読み
movie_path ファイルのパス
movie_length 再生時間 (s)
movie_size ファイルサイズ (kB)
last_date 最終アクセス日時
file_date 更新日時
regist_date WBへの登録日時
score スコア
view_count 再生回数
container 動画コンテナ
video ビデオコーデック
audio オーディオコーデック
extra その他コーデック
tag タグ
comment1 コメント1
comment2 コメント2
comment3 コメント3
hash ハッシュ値
WhiteBrowser @WIKI - DBテーブル
メディアのフィールド名
フィールド名 意味
title タイトル
artist アーティスト
album アルバム
grouping グループ
writer 作成者
genre ジャンル
track トラック
camera カメラ
create_time 作成時間

検索例

条件
再生時間が30分以上かつ60分未満 {movie_length>=1800 AND movie_length<3600}
ビデオコーデックに***が含まれる {video LIKE '%***%'}
情報が不足している

情報が欠落している、何らかの問題があるファイルを発見できます。

欠落してる情報
コーデック {video=''}
オーディオ {audio=''}
再生時間 {movie_length<1}
ビットレート {video LIKE '% 0.00kb/s'}
大きさ {video LIKE '0x0%'}

ファイルのプロパティから[コーデック情報]を確認し、そこに何も値がない場合には、そのすぐ下の[コーデック情報再取得]から情報を取得できることがあります。

対象とするフィールドが同一であるファイルが、2つ以上存在する

フィールドの値が他と同一であるファイルを抽出することにより、重複しているファイルを発見できます。なお結果は[並び]の条件でソートされて表示されるため、重複ファイルを比較するには、この条件も対象のフィールドと同じにします。

重複の条件
再生時間
{movie_length IN (SELECT movie_length FROM movie GROUP BY movie_length HAVING count() > 1) }
ファイルサイズ
{movie_size IN (SELECT movie_size FROM movie GROUP BY movie_size HAVING count() > 1) }
ファイル名
{movie_name IN (SELECT movie_name FROM movie GROUP BY movie_name HAVING count() > 1) }

タグ

ファイルを右クリックすることで、特定のキーワードを「タグ」として登録できます。

タグバー

メニューの【ツール → タグバー編集】から、検索用のキーワードや各機能へのショートカットを、ツールバーに登録できます。WhiteBrowser @WIKI - タグバー

複数のタグバー

タグバーにグループを作成すると、それを新しいタグバーとして配置できます。独立させるにはそのグループのドロップダウンの上部をドラッグするか、ツールバーの空欄を右クリックし対象のグループ名にチェックを入れます。

タグレット

タグバーのボタンに、スクリプトを割り当てる機能です。便利な機能を登録して一発実行(タグレット) - WhiteBrowser @WIKI - タグバー

スキンで呼び出せるメソッドのうちいくつかは、タグレットからも同様に呼び出せます。WhiteBrowser @WIKI - メソッド

目的 内容の記述
並び順を'名前かな(昇順)'に変更
wb://wb.sort('名前かな(昇順)')
スキンを'DefaultGrid'に変更
wb://wb.changeSkin('DefaultGrid')
エクステンションを'DefaultRelation'に変更
wb://wb.changeExtension('DefaultRelation')

使用方法は、ホワイトブラウザ・タグレットライブラリにあるサンプルが参考になります。

スキン

サムネイルの表示方法や、それに対する操作を変更できます。

スキンの定義は、WhiteBrowserのskinフォルダにあります。なお同じフォルダに「#」から始まるフォルダがありますが、それはエクステンションの定義です。

頻繁にスキンを切り替えるならば、タグレットやキーカスタマイズからwb.changeSkin('DefaultGrid')のようにそのスキンを呼びます。

HTML

何を表示するかは、HTMLで定義します。たとえばDefaultBigのDefaultBig.htmでは、次のように記述されています。

<!-- サムネイル作成 -->
<script type="text/javascript">
    wb.onCreateThum = function(mv, dir)
    {
        var tags = "";

        for(var i=0;i<mv.tags.length;i++){
            tags += "<li><a href=\"javascript:wb.find('" + wb.htmlDecode(mv.tags[i]) + "')\">" + mv.tags[i] + "</a>";
            tags += "<a href=\"javascript:wb.removeTag(" + mv.id + ",'" + wb.htmlDecode(mv.tags[i]) + "')\" class=\"a_remove\">[x]</a>";
        }

        var exist = (mv.exist == 0) ? " style=\"filter:Gray\"" : "";
        var select = (mv.select == 1) ? "thum_select" : "thum";
        var insert = (dir < 0) ? Insertion.Top : Insertion.Bottom;

        new insert($("view"), ' \
            <div class="' + select + '" id="thum' + mv.id + '"> \
                <h3 id="title' + mv.id + '">◆&nbsp;No.' + mv.id + ':&nbsp;' +  mv.title + mv.ext + ' </h3> \
                <div class="shadow"><img class="img_thum" id="img' + mv.id + '" src="' + mv.thum + '"' + exist + '></div> \
                <span class="item">スコア : </span><span id="score' + mv.id + '">' + mv.score + '</span><br> \
                <span class="item">サイズ : </span><span>' + mv.size + '</span><br> \
                <span class="item">再生時間 : </span><span>' + mv.len + '</span><br> \
                <span class="item">更新日付 : </span><span>' + mv.fileDate.substr(0,10) + '</span><br> \
                <ul id="tag' + mv.id + '">' + tags + '</ul> \
            </div>'
        );
    };

    wb.onModifyPath = function(id, drive, dir, title, ext, kana)
    {
        var elem = $("title" + id);
        if(elem == null) return;

        elem.innerHTML = '◆&nbsp;No.' + id + ':&nbsp;' + title + ext;
    };
</script>

機能の動作設定や、サムネイルの表示方法を指示します。WhiteBrowser @WIKI - コンフィグ

<!-- コンフィグ -->
<div id="config">
    skin-version :    1;
    multi-select :    1;
    seamless-scroll : 2;
    thum-width :      200;
    thum-height :     150;
    thum-column :     3;
    thum-row :        1;
</div>

CSS

どのように表示するかは、CSSで定義します。

body
{
    background-color : #444;
    color : #AAA;
    overflow : hidden;
}

*
{
    margin : 0;
    padding: 0;
    font-weight : normal;
}

a { color : #7DA; }

a.a_remove
{
    color : #5A8;
    margin-left : 5px;
}

/* ビュー */
div#view
{
    width : 100%;
    height : 100%;
    padding : 5px;
    overflow-y : scroll;
}

/* タイトル */
h3
{
    font-size : 80%;
    margin : 7px;
}

/* スコアなどの情報 */
span
{
    font-size : 80%;
}

span.item
{
    width : 70px;
}

/* タグ */
ul
{
    list-style-type : none;
    list-style-position : outside;
    padding-left : 2px;
    margin : 0;
    display : inline;
}

li
{
    font-size : 70%;
}

/* サムネイル */
div.thum
{
    overflow : hidden;
    float : left;
    width : 780px;
    height : 190px;
}

div.thum_select
{
    overflow : hidden;
    float : left;
    width : 780px;
    height : 190px;
    background-color : #064560;
}

div.shadow
{
    float : left;
    margin-left : 7px;
    margin-right : 7px;
    background : url('./shadow.gif') right bottom;
}

img.img_thum
{
    width : 600px;
    height : 150px;
    position : relative;
    left : -5px;
    top : -5px;
    background : #000;
    border-top : 2px solid #999;
    border-left : 2px solid #999;
    border-right : 2px solid #666;
    border-bottom : 2px solid #666;
}

img.img_focus
{
    width : 600px;
    height : 150px;
    position : relative;
    left : -5px;
    top : -5px;
    background : #000;
    border-top : 2px solid #18F;
    border-left : 2px solid #18F;
    border-right : 2px solid #2AF;
    border-bottom : 2px solid #2AF;
}

スキンの定義を編集した場合は、WhiteBrowserでそのスキンを再度指定することで変更が反映されます。そのときは他のスキンへ変更する必要はなく、すでに指定されているスキンを再度指定します。

既存のスキン

ホワイトブラウザ・スキンライブラリ

エクステンション

選択されているファイルに連動して、その情報を表示したりできる機能です。

WhiteBrowserのskinフォルダにある、「#」から始まるフォルダにエクステンションの定義があります。そしてそのフォルダ内に、[フォルダ名.htm]の名前のファイルが存在するとき、それがエクステンションとして認識されます。

タグレットやキーカスタマイズからエクステンションを変更するには、wb.changeExtension('DefaultDetail')のように呼びます。

エクステンションで対応できない機能は、ファイルのサムネイルをドラッグし外部のツールへドロップすることで、そのツールに処理を委ねられます。

メソッド

メソッドはskin\wblib.jsで定義されているため、詳細はそこで確認できます。WhiteBrowser @WIKI - メソッド

たとえば、現在選択されている動画と再生時間が±1秒以内の差の動画をすべて取得するには、次のようにします。

var mv = wb.getInfo( wb.getFocusThum() );
var mvLen = Number( mv.lenSec );

var where = 'movie_length>=' + ( mvLen-1 ) + ' AND movie_length<=' + ( mvLen+1 );
var res = wb.getInfos( 0, -1, where, '', 1 );

動画ファイルのプロパティ

プロパティ プロパティ名 フィールド名
ファイルID mv.id movie_id
ファイル名 mv.title movie_name
ファイルのパス mv.drive + mv.dir + mv.title + mv.ext movie_path
再生時間 (s) mv.len,mv.lenSec movie_length
ファイルサイズ (kB) mv.size,mv.sizeKb movie_size
最終アクセス日時 mv.accessDate last_date
更新日時 mv.fileDate file_date
WBへの登録日時 mv.registDate regist_date
スコア mv.score score
再生回数 mv.viewCount view_count
動画コンテナ mv.container container
ビデオコーデック mv.video video
オーディオコーデック mv.audio audio
その他コーデック mv.extra extra
メディア情報:タイトル mv.orgTitle title
メディア情報:アーティスト mv.artist artist
メディア情報:アルバム mv.album album
メディア情報:グループ mv.grouping grouping
メディア情報:作成者 mv.writer writer
メディア情報:ジャンル mv.genre genre
メディア情報:トラック mv.track track
メディア情報:カメラ mv.camera camera
メディア情報:作成時間 mv.createTime create_time
ファイル名の振り仮名 mv.kana kana
ファイル名の振り仮名のローマ字読み --- roma
タグ mv.tags[*] tag
コメント1 mv.comments[0] comment1
コメント2 mv.comments[1] comment2
コメント3 mv.comments[2] comment3
ハッシュ値 --- hash
WhiteBrowser @WIKI - DBテーブル

既存のエクステンション

ホワイトブラウザ・エクステンションライブラリ

DefaultRelation

選択中のファイルと関連するファイルを一覧できます。これの実体はインストール フォルダの\skin\#DefaultRelationにあり、TinySegmenterにより分割されたタイトル名と類似するファイルが、getRelationメソッドにより抽出されます。

設定

共通設定

メニューの【ツール → 共通設定】から設定できます。

再生用プレイヤー

メディアの再生に使用されるプレーヤーを指定します。これを指定しない場合は、拡張子に関連付けられているプレーヤーで再生されます。また[この管理ファイルだけの設定]でプレーヤーが指定されている場合には、その指定が優先されます。

プレイヤー・パラメータ

プレーヤーに渡す起動パラメータを指定します。

たとえばプレーヤーがVLC media playerのとき、パラメータを--start-time <sec>とすると、シーンジャンプでその位置から再生できるようになります。VLC media player - WhiteBrowser @WIKI - アットウィキ シーンジャンプ - WhiteBrowser @WIKI - アットウィキ

この管理ファイルだけの設定

メニューの【ツール → この管理ファイルだけの設定】から設定できます。

ショートカットキー

メニューの【ツール → キーカスタマイズ】から、これらの機能に割り当てられます。WhiteBrowser @WIKI - キースクリプト

修飾キーを伴うキーは、[修飾キー]の項目にチェックを入れた上で設定します。

トラブル対処法

ファイルが登録されない

そのファイルが、サポート対象の拡張子であるか確認します。それはこの管理ファイルだけの設定の[フォーマット設定]で確認できます。またパス名が255文字以上のファイルは登録されないため、そのような場合はパスを変更します。1.ファイルが登録されない - 困ったとき - WhiteBrowser @WIKI - アットウィキ

またはスキンが適用されていないと、何も登録されていないかのように見えることがあります。この場合にはスキンを適用することで解決できます。

ファイル名が文字化けする

Shift_JISのコード体系に存在しない文字を、ファイル名から削除します。2.ファイル名が文字化けする - 困ったとき - WhiteBrowser @WIKI - アットウィキ

サムネイルが作成されない

サムネイルが作成されないときは、Win7codecsなどのコーデックを入れることで改善されることがあります。

サムネイル作成ツールの導入

サムネイルを作成するツールを別途用意し、それで処理する方法もあります。それにはMediaInfoのCLI版とMPlayer、そしてall.batをダウンロードし、

  • MediaInfo.exe
  • MediaInfo.dll
  • mplayer.exe
  • all.bat

の4つのファイルを、WhiteBrowser.exeがあるフォルダにコピーします。カスタムサムネイル - WhiteBrowser @WIKI - カスタムサムネイル

処理に失敗するとMPlayerがフリーズし、以降のサムネイルも作成されなくなることがあります。その場合にはタスク マネージャーなどでMPlayerのプロセスを終了させ、原因となっている動画をWhiteBrowserの管理外に移動させた上で、WhiteBrowserを再起動します。失敗の原因は、MPlayerから直接実行することでエラーメッセージにより確認できます。

スクリプトエラーが発生する

スクリプトエラーが発生しました。」として処理が停止する場合には、skinフォルダにあるprototype.jsを最新版に差し替えます。WhiteBrowser 0.7.4に同梱されているのは1.5.0と、とても古いバージョンです。

複数のダウンロードサイトから、まとめて検索