2007/01/11

最近がんばってる感じがする

久々にPukiWiki用にCSS書いたりしてなんか作業してる感を久々にゲットしてる今日この頃です。IE7でてからはじめてCSS書いたからIE7はどうなんだろうとか思ったんだけども、ちょうど正月に買ったWeb DesigningにIE7のどーのこーのとかいうのがのってたのでそれを頭に入れてやったらふつーになんとかかんとか。

あとはまぁ、最近買ったPS2の某ゲームのDVDの中身をのぞいたら、なんか1.97GBぐらいのでかいファイルが2個あって、バイナリエディタで覗いてみたらMPEG2ヘッダが見える…(普通00 00 01…とか並んでてもMPEG2ヘッダだとか気付かなさそうだけど、なんかちょっと下の方にTMPGEncの文字があって気がついた)。

しらべてみるとふつーにMPEG2のファイルをそのまま連結しただけのファイルだったので、じゃあこれシーケンシャルにヘッダを探してぶつんぶつん切っていけば動画そのまんま取り出せるんじゃない? とかおもってうねうねプログラムかいてやってみたらホントにできた…。動画89個。

ファイル開いてメモリマップトファイルに落として生ポインタゲットしてリニアにサーチすればいいだけなんだから簡単じゃんーとかおもってささっと30分でソースを書いたんですが、メモリマップトファイルに1.97GBを連続的にアドレス割付できないということが判明してそこで見事に引っかかり、修正するハメに…。

しかたないので256MBぐらいメモリマップしておけばそこなかに何個か動画がはいってる感じだったので、1個動画を切り出したら一旦アンマップしてちょっと次の動画のスタート部分からマップしなおせばいいじゃなーいと思ってささっと手直し。…ところが、動画のサイズがメモリページサイズのブロック単位のきっちりしたサイズになっているわけもなく、ページの途中になるようなオフセットからのマップはむりだよーというエラーで見事に引っかかり、修正するハメに…。

で、それによって1.97GBから44この動画が取り出せたんですが、あれ、まだあの動画とかがでてねーなとかおもって調べてみると、もう1個ある1.97GBのファイルも先頭の数Mバイトは別データだけどその後ろからまたMPEG2が連結されてるので、これも切り出すことに。

というわけで、結局3.95GBのファイルを89分割してとりあえず動画を切り出してみたものの、コレ音はのってない(なんてったって音ゲーなので、音は普通にBGMとボタンに対応するSEからリアルタイムに合成しないと曲にならない)ってことで、なんか切り出すだけ切り出して自己満足を得たままこのまま終了しそうな感じがする…。ディスクの無駄遣いもいいところ…。

でもまぁ、そんなちょっとしたことでも、ただ単に惰性でゲームやってるよりはがんばってる感じがするよなーオレ! とか勝手に納得したので、これはこれでよしとしよう。

ホントはここ数日がんばってたsocketのAPIをiostreamでラップしてJavaのSocketクラスみたいなのを作ってみたぞー(iostreamなので同期通信限定ですが)というお話を書こうとおもったのに、なんか動画切り出しの話が長くなっちゃったのでまたあした、ということで。

うされもん @acidlemonについて

|'-')/ acidlemonです。鎌倉市在住で、鎌倉で働く普通のITエンジニアです。

30年弱住んだ北海道を離れ、鎌倉でまったりぽわぽわしています。

外部サイト情報

  • twitter
  • github
  • facebook
  • instagram
  • work on kayac