Thursday, March 4, 2010

TSConverter patch の bug

以前 TSConverter のUNIX系パッチは linux(debian/lenny) ではセグメンテーション違反で落ちるというコメントがあった。
最近、coLinux で lenny を動かしてみたので、コメントにあったように _file を _fileno に変更し、コンパイルして試してみると確かに落ちる。コマンドラインオプションの処理がいい加減だったため、ファイル名を指定しないと strncpy に NULL ポインタが渡され落ちるようだ。
もしやと思い FreeBSD でもファイル名を指定しないで動かしてみると、落ちた。なぜ気づかない!!!かなり荒っぽく移植したものの、はずかし。
ご使用中の皆さんは、気になるようなら argv[optid] が NULL なら文句言って終了するようにしておいてください。

strncpy(mp4boxpath,pt,PATH_MAX);
+ if(argv[optind]==NULL){
+ fprintf(stderr,"no input file\n");
+ exit(-1);
+ }
strncpy(lpFile,argv[optind],PATH_MAX);
- if(strlen(lpFile)==0){
- fprintf(stderr,"no input file\n");
- exit(-1);
- }

そのうちパッチファイルを9/1版にするときにこっそり修正しておきます。

ファイル名さえ指定すれば lenny でも動いたんですけど、どこか他にも問題あるんでしょうかね?

Tuesday, March 2, 2010

rec.pl フルセグストリーム対応(多分)

recBone.exe をフルセグチューナーで使ってみた人がいたらしい。
フルセグストリームでも perlrtmp は pid 0x1FC8 の PMT からストリームの PID を探してきてビデオとオーディオを送信してくれそうなものだが、多分 IDX ファイルのポインタの方が long 型を超えてしまうので、正しく動作しないようだ。
そんな人のために OneSeg24forLinux 付属の rec.pl を改造してフルセグストリームからワンセグ関連のみ抽出して IDX ファイルと共に保存するパッチを作ってみた。
ついでに、来るべきフルセグ野郎時代のために、フルセグ野郎 IDX 形式勝手に暫定版対応を行った。
IDX ファイルはポインタのビット数を増やすか、TS ファイルを1時間より短くして、IDX はそのままなど、やりかたはいろいろ考えられるが、勝手に暫定版ではファイルポインタではなく、パケット数を記録して、ビット数を増やさず、 TS も1時間のまま。188倍すればオリジナル IDX と同様に使用可能とした。
使用方法は rec.pl と同様。デフォルトでワンセグ野郎形式で保存 -f オプションでフルセグ野郎形式も同時に記録するという改造を行った。当然ながらフルセグ野郎形式対応ソフトは存在しない。
recFS.patch
ただ残念ながら、現在フルセグストリームを取り出す環境がないので...
recBoneFS.exe はまたの機会に。ってどっちも需要ないか。

Monday, February 22, 2010

nanHDR



HDR:ハイダイナミックレンジの光と影経由で知ったHDR_nonbeさんのnanHDRのまねをして
1) jpeg画像をHLS変換して、L画像をグレイスケールjpegとして取り出すプログラム。
2) jpeg画像をHLS変換して、グレイスケールjpeg画像の値をLとして用いたカラー画像を作成するプログラム。
を作ってみた。1で作ったグレイスケール画像をなんとかしてメリハリをつけて2に入れればHDR風の画像になるはず。なかなかいい感じにメリハリをつけられなかったので。
3) 画像中の100x100の窓内をヒストグラム平坦化により値を変換し、この窓を画像全体に1ドットづつ動かして、すべての窓で出された値を平均する。というプログラムをつくってみた。この絵で3分ほどかかる。
これでできたグレイスケールjpeg画像を2に入れてみると、なにかHDRっぽい画像が出てきた。
海や空がひどいことになっている、まだまだ調整が必要か。

Friday, February 19, 2010

delipodcastのmodify

前に書いたdelipodcastでも見えないpodcastがあったので、delipodcast.plの104行目を
my $iPod_main_pl = $iPod->PlayLists->Item($iPod->PlayLists->Count());

に変更した。
iTunesのSDKをよく読んでないのでよくわからないが、一応見えるようになって、うまく削除できた。

Thursday, February 4, 2010

iTunesのバグ

現在のWindows版iTunesでは、iPodに手動でPodcastを追加すると、取り外して再生後、再びiPodを接続しても、iTunesから見えなくなり、削除できなくなるというバグがあるようだ。(私の環境だけか?)
iPod上では大量のPodcastがたまっているのに、iTunesからは何も無いように見える。
検索してみると
http://forums.ilounge.com/showthread.php?t=176755
を発見。iric氏のdelipodcastを使えば、iTunesからみえなくなったファイルとエントリを削除できた。
Windowsコマンドラインツールだが日本語表示もOK.
# iric氏が2006年Appleに通報済みだが、昨日公開のWindows版 iTunes-9.0.3.15 でも未解決っぽい。
# あるいは、再発か? 環境によるのか? そういえば前の iPod nano 3rd のときはこんなこと無かったような気が...

Sunday, January 17, 2010

ワンセグチューナー用BonDriverで24時間ワンセグ野郎

recBone
# OneSeg24 for Linux の rec.pl の移植 BonDriver oneseg版使用。

player.pl sqlite対応版のオマケとして添付していたBonTsDumpが使いにくいということで、誰かがGUIの使いやすいプログラムを公開してくれるまでのつなぎとして、rec.plとBonTsDumpをくっつけたプログラムを作りました。 (Windowsに疎いのでCUIです)

24時間ワンセグ野郎形式のTSファイルとIDXファイルを1チャンネル分だけ作成します。
複数チャンネルで使用する場合は複数起動してください。
VGA_TV1Sタイプのチューナーしか持っていませんので、他のもので動くかどうかは知りません。
MonstarTV 1DR とか DT-007V でも使えるようでしたらお知らせください。

録画するだけですから、古いファイルを消していく機能はありません。放っておくと、ハードディスクが満タンになります。タイムスタンプを見てファイルを削除するようなプログラムを併用してください。
さっきちょっと検索してみたら fdel とかありましたが、サブディレクトリも削除してくれるのでしょうか。

Sunday, December 20, 2009

player.pl差し替え版2009/12/17が出た

sqlite版を使用していて油断している間にmsnがサイトと表示構成を変更したため、player.pl差し替え版が表示されないようになっていたらしい。早速2009/12/17版が出ていました。すばやい。
番組変更や、ワンセグ独自番組がある場合はsqlite版が良いのだけれど(あと、録画が停止した場合に気づきやすい)、msn版の方が番組内容が詳しいので、便利ですね。あと、sqlite版だと、空気を読まないNHKが独自に"<終>"みたいなのを入れて、いちいち対応するのが邪魔くさい。民放なら皆"[最終回]"とするところですけど、足並みを乱しますね、NHK、どういうつもりでしょうね。