Hatena::Groupugomemo

NoMeaning別館 - うごメモはてなの拡張などなど

うごメモを簡単に拡張するスクリプト公開中。うごメモCodes簡単、安全、無料。
最近はPPMファイルの解析でパソコンで再生できるところまでいったりしてます。

2011-04-17

PPMファイルを解析する、パソコンで再生する

18:05 | PPMファイルを解析する、パソコンで再生する - NoMeaning別館 - うごメモはてなの拡張などなど を含むブックマーク はてなブックマーク - PPMファイルを解析する、パソコンで再生する - NoMeaning別館 - うごメモはてなの拡張などなど

うごメモのファイルは、PPMという独自形式になっています。

なので、基本的にDSiでのみ再生できます。

・・・しかし、PPMファイルさえ解析できれば、パソコンで再生することも可能なわけです。

(FLVなどと夢の無いことを言うのは禁止です。)

そこで、情報を探すといくつか出てきます。

http://ugomemo.g.hatena.ne.jp/bricklife/

http://d.hatena.ne.jp/mirai-iro/20090116/ugomemo_ppm

bricklifeさんが作ったソフトさえあります。

http://productrak.com/ugomemo/ppmviewer.cgi

ですが、そこで頭打ち。

私のようなバイナリファイル操作経験の甘い奴ではわかりません。現状、DIB操作さえ満足にできないんです。。。

ですが、本日ふと思いつきました。

「海外調べればでてくるんじゃね?」

・・・なぜ今まで思いつかなかったんでしょう。

日本より技術が進んでおり、ヒマ時間にゆとりのある方も多いであろう、外国。そちらのほうが解析が進んでいる可能性は十二分にあります。

もしかすると、DLLにまとまってたりするかも!?と思いつつ、探してみました。








HIT









結構な情報が見つかりました。

ちゃんとアニメーションのデータまであります。

http://www.dsibrew.org/wiki/Flipnote_Files/PPM

英語読めないし、Google翻訳じゃ意味がわからないけどね!

さらに、これ。どうやら、PPMファイルを再生するソフトのようです。

http://www.youtube.com/watch?v=eSAmySbAafM

公開はされていないか・・・

ん?

あ、あった・・・

http://pbsds.blogspot.com/

な、なんと、ソースつきらしい。

こちらの、2010/6のページからダウンロードできる。

rarなので、7-zip解凍

さぁ!来い!!!!




python orz

パ、パイソン・・・

まtttttttttttttったくわからん言語だぞ・・・

英語がわからん&pythonわからん。で、できそうに無いぞ?

それでも、ソースを見れば・・・ グハっ!

わかるか!ビット演算なんてフラグ以外で使ったことないよ!



・・・・




気を取り直して、ソフトを起動。

一瞬コマンドプロンプトが立ち上がり消えた。

どうやら、CUIらしい。

コマンドプロンプトから呼び出すと、定番の引数リストが。

また英語で。(あたりまえか)

訳すと、


PPM.py <モード> <入力> [<出力>] [<フレーム>]
<モード>
0 = 抽出してプレビューをする(<出力>を使う)
1 = フレームを抽出する(<出力>を使う)
2 = ヘッダファイルの情報を出力
<フレーム>
モード1のときのみ利用。解析するフレームのスタート位置を指定する。
指定しなかった場合、すべてのフレームになる。

ということで、試してみました。

まずはモード2で、ヘッダ情報。相対パスではダメでしたが、絶対で指定してやると見事に成功。

ちゃんと情報が出ました。


しかし、肝心の0,1ができません。抽出はできていますが、書き込みでエラーになっている模様。

う~ん。残念。


pythonがわかる方がいましたら、何言語でもいいのでDLLにまとめてください!!!

newzlinknewzlink2011/04/17 23:35ぐぐってみたらヒットしたので。
http://www.jagat.or.jp/sgml/python/python.htm

harimau_tigrisharimau_tigris2011/04/20 00:20ありがとうございます。
perlとかの系統の言語がわかればスッと覚えられるのかもしれませんが、まったくそういう系統をやったことが無いので、時間的にも難しそうです。
時間があるときにゆっくり解読してみます^^;