そんな感じで集中できなかったんですが、なぐさみに DVD-R と BD-R のタイトル情報を読む script を書いてました。
http://www.ie.u-ryukyu.ac.jp/~kono/pub/software/rpls.pl
前に作った xd.pl っていう hexdump な script を使って調べていく…
BD-R は Finalize 前の状態も規格に入っていて、PLAYLIST/*.rpls というところにいろんな情報が入っているらしい。
DVD は Finalize 前の規格はバラバラ。DVD-R も VR と Video の二種類のフォーマット。DVD-RAM は VR 。
両方共、90年代以降のフォーマットなんだから、当然、XMLだろと思うが、あにはからんや、バイナリフォーマット。何考えてんだ? お前たちは 8bit の頭しか持ってないのか? まぁ、初期は8bitだったかも知れないけどさ。
ファイルの先頭に offset がbinaryで入っていて、そこから見ると
文字数1byte + 文字数分の string
とかいうのが頻繁に出てくる。あっそうですか。
日付とか数字は、
BCD
正気か? つまり hexdump すると 20061110 とか見えるわけ。まぁ、Unix time 使って2037年で死ぬのも困るけどね。
DVD の方はいつものShift JISですが、BD-R の方は ISO-2022 らしい。Escape と SI/SO 混合。さらに「外字」がある。Unicode は 1996 で、BD-R は 2000 だから規格的には間に合っていたはずだが、まぁ、新しい規格が取り込まれるには 10年かかるからなぁ。
ISO-2022 だと「1文字ずつ読んでいく」方式でないとデコードできない。Unicode に文句を付ける人は多いけど、ISO-2022 ベースになってたら、世の中の文字列処理の手間はすごいことになっていたと思う。あるいは 32bit 文字の世界になっていたか。空間効率は圧縮すれば良いので… UTF-8 は、その中間で妥当だと思う。外字から解放されるのは良い。
なんだけど、昔のDVD録画は、東芝の「Playlistにしてコピー」が多い。Playlist では複数のタイトル情報は一つにまとめられてしまう。まぁ、わかっていたんだけど、ちょっと寂しいです。情報が失われるのは悲しいね。もっとも、必要な情報はWebから取れば良いので別に良いのだが。
でも、枚数が天文学的なので、読み込んでデータベース化するかどうかは。今は、BD-R 側は「手書き」。一行のタイトルをまとめたファイルで管理してます。
東芝 RD-Z1 は、ライブラリ管理が付いていて、ディスクに番号を付けて内容を管理してくれて、CSV で吐き出してくれるという素晴らしいものだったんですが、番号が3桁。2回ぐらい回ったんじゃないだろうか。何回かディスク飛ばしたし、ディスクに番号書かないと意味ないし。
まぁ、今後はHDベースになるんだろう。
参考
http://www28.atwiki.jp/jennychan/pages/20.html
http://wiki.nothing.sh/page/VR_MANGR.IFO%20%A4%CE%B9%BD%C0%AE
No comments:
Post a Comment