2009年4月7日火曜日

VLCの字幕化け

【症状】
VLCで字幕を表示させると文字化けする.
 メニュー「設定」>「設定...」 
   > ビデオ > Subtitles/OSD > Text renderer
で「フォント」にMSゴシックなどを設定しても正しく表示されない. 

【対処法】
埋め込みビットマップフォントを持たない TrueType フォントを入手してインストールし,そのフォントを使うよう指定すれば良い.

【参考】
初心者によるMonsterTV HDUSとLDT-FS100Uのまとめ - VLCの設定法
 

Veoh動画の再構成〔承前〕

先に,2つの Veoh 動画から映像と音声を抜き出して再構成する実験について書いた.

動画Aの映像と動画Bの音声をくっつけようとしたら,AとBのフレームレートが違っていたので,動画B(音声ストリームを使う方)の方に揃えてから合成する必要がありました,という話だったのだが,その時「へぇ~」と思った事があったので記しておく.

■同じ動画なのに再生時間が違うワケ

Veoh 等の動画共有サイトにある動画の中には,ソースが同じなのに,上げ主によって再生時間が違っているものがある.動画の前後が端折ってあれば短くなるのは当然だが,頭も尻尾も同じなのに何故か長さが違っている,という場合もある.前記事の動画 [1] と [2] がその例だ.

この例の場合,
 動画 [1] はフレームレートが 25 fps で再生時間 106m16s,
 動画 [2] は 23.98 fps で 110m49s
だった.オリジナルの再生時間は 110 min なので,動画 [2] はまともだが動画 [1] の方は何やらおかしい.

フレームレートと再生時間を掛けてみると分かるが,両者のフレーム数はほぼ同じなのだ.つまりオリジナルのどこかが 4min 分欠落して再生時間が短くなったのではなく,[1] はフレームレートが大きいせいで微妙に再生速度が速くなっていた訳である.

25fps は PAL(欧州,豪州等で使われるテレビ規格)のもの,一方 23.976 fps は映画の規格だ.ちなみに日米は NTSC で 29.97 fps.

リッピングに使ったメディアの出自と方法によってフレームレートが異なること自体には問題ないのだが,疑問に思うのは,なぜ再生時間が違ってしまうのかという点.

23.976 fps で作成された映画やアニメが DVD になる時にはフレームレートが変更され,日本なら 29.97 fps,欧州なら 25 fps に変更されているはずだ.ところが,フレームレートが変わるとコマ数の勘定が合わなくなってしまう.

例えば 1000 秒のアニメには 23976 フレームが含まれるが,欧州の DVD なら 1000 秒の動画には 25000 フレームが必要だから,1024 フレーム足りない.日本なら 5994 フレーム足りない.この不足分をどのように処理しているのだろう.

1つの方法は,もともとあった 23976 フレームしか使わないというもの.この場合,23976 フレームを 25 fps で再生すれば 959 秒になるし,29.97 fps なら 800 秒になる.どちらのケースでも再生時間は短くなる.

もう1つの方法は DVD 化する際にコマ数を増やすというやり方.不足分の 1024 あるいは 5994 フレーム(1000秒あたり)をどうにかして追加することになるが,その方法や如何に?

動画 [1] の再生時間が短いことを考えると,DVD 化する際にフレームが追加されたとは思えず,前者が正しいと推定される.となれば,TV で DVD を見た場合の方が,映画館で見るよりもフレームレートが早い分,若干早送りで見させられていると事になる.実際はどうなのだろう.謎だ.

【参考】
Flashビデオ習得ガイド@Adobe
フレームレート用語解説

■「フレームレート変更」の働き

動画のフレームレート変更をやってみて気づいたことがもうひとつ.Superで映像のフレームレートを変更しても再生時間は変わらないが,Virtual Dub だと変わるのだ.

Virtual Dub でフレームレートをオリジナルの値より小さくすると再生時間は長くなり,大きくすれば短くなる.例えばここで挙げた動画の場合だと,[1]のフレームレートは25fpsだが,これを23.976fpsに変換すると再生時間は
   25/23.976=1.043倍
になる.実際,[1]と[2]の再生時間はそれぞれ 1:46:16=6376sec,1:50:49=6649sec であり,その比をとると 1.043 になる.

Virtual Dub でこのような変換ができたお陰で,フレームレートの異なる動画から抽出した映像と音声を統合して意図する動画が作れた訳だ.

考えてみれば Virtual Dub がやっているのは単純なことで,映像の各フレームを映示する時間間隔を広げたり狭めたりしているに過ぎないと思われる.つまり,単にヘッダを書き換えているだけなのだろう.

これに対し,Super だとフレームレートを変更しても再生時間が変わらないのだが,実はこれは凄い作業なのではなかろうか.例えばフレームレートが1fpsの映像ストリームを考えると,それは1秒,2秒,3秒、、、の各時刻における映像の集合である.これを0.9fpsに変換するためには 0.9秒,1.8秒,2.7秒,3.6秒、、、の各時刻における映像がなければならない.これを Super は内挿により生成しているのではなかろうか.例えば 1.8秒の映像は1秒と2秒の映像を補間する,という具合に.実際にそうだとすれば,大層難しい作業をしていることになる.いや大したものだ(本当に凄いのは Super が内部で利用しているフリーのプログラムなのだけど).

実際そのような事が可能ならば,映画を DVD 化する際に同様の処理でフレーム数を増やすことだって可能なはずだ.ならば同じ映画であっても,ヨーロッパで買ったDVDより日本で買ったDVDの方がフレーム数は多いことになるのだが、、、一体どうなっているのだろう.
 

2009年4月3日金曜日

4/4~4/5映画ランキング予想

5050.jpというサイトで,週末の映画ランキングを予想するというクイズをやっている.今週の賞金は10万円.

最近,これにちょっとハマり始めている.もちろん当てにいくつもり.
ランキングを予想するときに考えたことをメモらないとすぐ忘れてしまうので,
今週から予想時の備忘録として残すことにした.

今回の封切りは次の2本(Google検索のヒット数,某館の封切時上映回数).
「トワイライト〜初恋〜」421,000件,6回
「ザ・バンク堕ちた巨像」201,000件,5回

「トワイライト」の前評判は相当高いのでトップ3に食い込むのは当然として,
初登場一位となるかどうかが問題.
「ヤッターマン」,「どらえもん」共に5週目となるので,ほぼ一巡したと見てよいだろう.
ただ,春休み最後の週末となるので,駈け込み組の動員はそれなりにあると思う.
「トワイライト」は1位か2位か?
さんざ迷った挙げ句,1位になると予想した.

「ザ・バンク」の方だが,これがまた別の意味で難しい.
予告編を見たがちっとも気を引かれなかったので,たいして売れそうにないのだ.
ベストテンに入るかどうかどうかが大問題となる.
8,9,10位に下位入賞と読んでおこう.

残留組で気になるのは「マーリー」.
こいつはアメリカで相当ヒットしたらしいが,日本では初登場4位.
「ヤッターマン」「どらえもん」に食われたのだろう.
ならば「ヤッターマン」「どらえもん」を見終えた客が今週末は「マーリー」を見に
来る可能性が高いのではないか.3位か2位に順位を上げるかもしれない.

「ワルキューレ」は2位→5位ときているので,今週も3ランクほど下落するだろう.

あと「ドロップ」だが,品川ごときが原作なのに売れているのがムカつくため,
冷静に予測できない.早く落ちて欲しいのだが意外と粘りやがるかも.

圏外に落ちるのは2つ.1つは「おくりびと」に違いないが,もうひとつは
「マダガスカル2」(4週目)なのか「ウォッチメン」(2週目)なのか.
「マダガスカル2」が落ちる方に賭けよう.「ウォッチメン」は10位に残ると見た.

というわけで,今回のメイン予想.

ヤッターマン   2
ドラえもん    4
ドロップ     5
マーリー     3
ワルキューレ   7
相棒       6
プリキュア    8
マダガスカル2  外
ウォッチメン   10
おくりびと    外

これでどうだ?
考えすぎたせいかもしれないが,今週は相当難しかったぞ.
(簡単だと思った週だって別に当たっちゃいないんだが、、、)
 

2009年4月1日水曜日

InfoseekメールのデータをGmailに転送

■前説

“Infoseekメール”の最大容量がいつまでたっても 50MB のままで,一向に増える気配がない.表示が遅いと言う問題はβ版になってから大分解消されたが,依然として Gmail には劣る.

逆に Gmail はサクサク動くし,容量 2GB だし,おまけにフォルダでなくラベルで管理するというコンセプトが整理下手の僕にとっては非常に有難いので,とても気に入っている.できる事ならば,Infoseek にストックしたメールを Gmail に移したいものだ.そうすれば,これまで Infoseek に蓄積した情報も益々有効に活用できるだろう.

というわけで,Infoseekメールのデータを Gmail へ移す方法について検討してみた.以下,そのまとめ.

■概要
大まかな作業手順は次の通り.
1.事前設定 
   IMAP を使って Thunderbird から Gmail にアクセスできるよう設定する
2.データのダウンロード 
   メールのデータを Infoseek からパソコン上に落とす
3.データのインポート 
   ダウンロードしたデータを Thunderbird に取り込む
4.データのアップロード 
   Thunderbird を介してメールのデータを Gmail のサーバに上げる

必要なもの:
Thunderbird 2.0
ImportExportTools(Thunderbird用アドオン)
・WinZip等のZipファイル解凍ツール

メールソフトとして Thunderbird を使うのは単なる好みの問題.Outlook なんちゃらの様に .eml をすんなりインポートできるソフトを使えば?とのたまう向きもあろうが,そんなソフト使いたくないから別の方法を考えているという訳であって.

■手順1:事前設定
(1) ネットブラウザで Gmail にアクセスし,メニュー(画面右上方)の「設定」をクリック.
 ⇒「設定」画面に切り替わる
(2) メニューの「メール転送とPOP/IMAP設定」をクリック.
 ⇒「メール転送とPOP/IMAP設定」画面に切り替わる
(3) ラジオボタン「IMAPを有効にする」をクリックしてオンにする
(4) このラジオボタンのすぐ下にある「設定手順」をクリック.
 ⇒別画面が開いてヘルプが表示される.
(5) 「メールクライアント」の下の「Thunderbird 2.0」をクリック.
 ⇒ Thunderbird における設定法を記した画面に切り替わる.
 ⇒ 後ほどこのページの記述に従って Thunderbird を設定するので,この画面は残しておく.
(6) (4)の段階で表示されていた画面に戻り「変更を保存」をクリック.
(7) Thunderbird を起動する
(8) (5)の段階で表示された画面の指示に従い,Thunderbird の側で Gmail 用アカウントの作成と設定を行う.
(9) Thunderbird のメイン画面の左カラム(メールフォルダ一覧)上で,新たに作成したアカウントの「受信トレイ」をクリックする.パスワードを尋ねられるので入力する.
 ⇒ Gmail にあるメールのヘッダ一覧が表示されれば成功.
 ⇒ うまくいかない時は(8)の段階で何らかのミスをしている可能性が高いので,設定を良く確認.特に「ログインIDには '@gmail.com' を付けること」が間違えやすい.

以上で準備終わり.

■手順2:データのダウンロード
(1) ネットブラウザで Infoseekメールにアクセスし,メニュー(画面右上方)の「オプション設定」から「一括ダウンロード」を選ぶ.
 ⇒「一括ダウンロード」というタイトルのウィンドウが開く
(2) ダウンロードしたいフォルダ(例えば foo)を選択して「ダウンロード」をクリック.
 ⇒フォルダを圧縮したZIPファイル(名前は 'infoseek.zip')がローカルディスクに保存される.
(3) 保存した 'infoseek.zip' を解凍する.
 ⇒infoseek_mail という名のフォルダが生成される.
  中には eml 形式のメールが入っている.

■手順3:データのインポート
(1) Thunderbird を起動する
(2) メイン画面の左カラム(メールフォルダ一覧)上で,メールを格納したいローカルなメールフォルダをクリックし,選択状態にする.
(3) メニュー「ツール」>「mbox/eml形式で取り込み・書き出し」>「ディレクトリからすべてのemlファイルを取り込む」>「ディレクトリだけから」を選ぶ.
 ⇒「フォルダの参照」ウィンドウが表れる.
(4) 手順2で生成したフォルダ infoseek_mail を指定し「OK」押下げ.
 ⇒指定したフォルダ内にある eml 形式のファイルが読み込まれる.
(5) 取り込みが終わったら eml 形式のファイルは不要なので捨てて良い.

■手順4:データのアップロード
(1) Thunderbirdを起動する
(2) メイン画面の左カラム(メールフォルダ一覧)上で,メールを格納したい Gmail 上のメールフォルダ〔*注1〕が見えるようにしておく.
(3) メイン画面の左カラム(メールフォルダ一覧)上で,Gmail にアップロードしたいメールが入っているフォルダをクリックし,タイトル一覧を表示させる.
(4) Gmail に送りたいメールを選択し,(2) に述べた Gmail 上のフォルダにドラッグ&ドロップする.
 ⇒Gmail へメールが転送され,メールにはドラッグしたフォルダ名と同じラベルが付加される〔*注1〕転送完了後,もとのメールは自動的に削除される.
 ※
 ※この作業はファイルのアップロードと同じ事なので,少々時間を要することは覚悟しておいた方が良い.
 ※転送するメールの数が多いと,転送が完了する前に作業が止まってしまうことが多いので,小分けに転送した方が安全.途中で止まった場合には転送済のメールがローカルフォルダに残ったままになって混乱するが,Gmail はメールの重複チェックをしてくれるので転送済みかどうかわざわざ確認する必要は無い.一から転送しなおせば良い.

〔*注1〕Gmail にフォルダは存在しないが,Thunderbird 上では便宜的に「ラベル名と同一のフォルダが存在する」ものと見立てて取り扱われる.このため Gmail 上で1つのメールに複数のラベルが付いていれば,Thunderbird 上では複数のフォルダに同一のメールが存在しているように見えるので注意.
 Gmail のフォルダにメールをドラッグ&ドロップしたとき実行されるのは,メールを Gmail 上へ転送し,そのメールにフォルダ名と同一のラベルを付けるという操作である.なお,「受信トレイ」以外にドラッグ&ドロップしたとき,転送したメールに「受信トレイ」というラベルは付かず,最初からアーカイブされた状態で保持されるので慌てないように.

【参考】Gmail の活用法,裏技など
http://tools.rightclicksright.net/data/216837.aspx
Gmailを簡単にバックアップ・リストアできる「GMail Backup」
Gmailをマスターしたい人が読むべきエントリー50選
Better Gmail 2 Firefox Extension for New Gmail
gDisk:Gmail アカウントをポータブルハードドライブへ変換