小手先の対応が完成した
一応、完成したので少しテストしてみてから公開します。VLCを使ったリアルタイム視聴はこれが最後かな?これ以上、うまくやるためのアイデアが今のところ無いので。
« 2008年03月 | メイン | 2008年05月 »
一応、完成したので少しテストしてみてから公開します。VLCを使ったリアルタイム視聴はこれが最後かな?これ以上、うまくやるためのアイデアが今のところ無いので。
ChameFX2Cap で VLC を用いて、リアルタイム視聴を行うときのTipsとして、チャンネルを切り替えた時に
ファイル→ネットワークストリームを開く
を行うと画像が安定する。
これを行うように現行ソフトを改良しようと考えている。
具体的には
1.VLCが起動しているかどうかの確認 (FindWindow)
2.起動していたら、アクティブ(前面に持ってくる)にする(SetForegroundWindow)
3.
みたいな感じである。
少しテストプログラムを書いてみる。
先週、失敗こいちゃったんで今週は気合を入れてやってみた。ほんの少しだけ改良したソフトでだ。

フォルダ選択していて、「あ、フォルダを作らねば!!」って思うときは良くあるんでそういう場面に対応しました。ソース的には定数を加えただけなんだけどね。
もうしばらく使ってみて、問題なさそうでしたら公開します。っていうか、フォルダ作成だけなんで主ロジックは変えていないんで大丈夫だと思うんだけどね。
今度のLeopardのディストリはすごく簡単。とりあえず、焼いてブートし、そのままインストールできた。後は
1.サウンド
2.Wifi
3.パワーマネージメント
を設定していけば、まともに使えそうだ。今までさんざんてこずったのが嘘みたい。なんせ、iPhone の SDK まで動作するくらいだ。www
リモコンの複数コード対応のソフトができたので、実戦投入。で、「二十面相の娘」と「コードギアス」にチャレンジするも不具合発生で両方とも撮れず……。
かなり、凹むね。しかも自分で作ったソフトだし、文句のやり場を持って行きようが無い。とりあえず、修正してテストしてみる。問題なさそうでしたら、サイドアップします。複数で利用している人には便利ではなかろうかと。
ちまちま、続くんだろうなぁー。
一週間ほど使っていて、それほど問題なさそうなのでリリースした。スケジュール周りに細かいバグがあるけど、実用できるし、それほど致命的ではないのですこしずつ直していく事にする。
新しいオモチャ (705NK) が届いたので、それで少し遊ぶことにする。まずは勝手アプリをインストール出来る様にしてみるか?
それが出来たら、SDKかな?でも、最近はSDKラッシュですよ。 iPhone, Android, Symbian って…。 Andoroid は Java だから除外するにしても、iPhone はどうすれば良いのだろう?ガワだけ買えるのかな?でも、買わないだろうな。しばらくの間は…。
更新時期が来たので、前機種は解約した。と言っても最近はあまり使っていなかった。X02NKが出るので、今更感があるけど、とりあえずデジカメ代わりにこれを選んでみた。
勝手アプリのインストールはあまり期待していなかったが、有志のおかげで出来る様になったみたい。でも、前機種と比較すると、すこし難しいね。特に HalWin がつかえなくなってしまっている。 sis ファイルのフォーマットが変わっているのだ。
どんな感じかな?と思ってみたけど、けっこう複雑になっている。ちょっとの手直しで済みそうではないので、とりあえず保留した。時間が取れたら、見直そうと思うけど HalWin って前回のリリースから3年が経っているんだ。月日が経つのは本当に早い。
少し妄想してみる。
1.現品で売っている地デジチューナモジュール
2.ICカードリーダのコネクタ
→小売もしてくれそうなところを数箇所見つけた
4.昇圧回路(MAX662 + コックロフト)
5.FX2と対応ファーム
6.視聴用ソフト
今のところ、わからないのは地デジチューナモジュールの I2C のコマンドセットだけだな。部品代だけなら、5千円くらいですみそう。逆に言えば、I2Cのコマンドセットさえわかればそこを抽象化して地デジチューナモジュールはどこのでも使えそう。3.5インチのHDDと物理的に同じ形状にすれば、PCに内蔵しやすいと思う。
とりあえず、ガワだけでも作ってみるか。
現在、ChameFX2Cap は cap_sts のブランチである cap_sts sea の成果物を使わせてもらっている。新しい cap_sts sea が 2ch で公開された。これと同時にファームも公開された。興味があるのはこのファーム。新しいコマンドが追加されている。bcas, ts の部分の初期化とキャプチャスタート、エンドを効率よく行うための拡張だ。
前回のバージョンではこの拡張コマンドの使い方が良くわからなかったので、昔のバージョンのファームウェアを使っていたが新しいバージョンはソースも公開されているのでこちらを使うことにした。新しいコマンドは今まで、ホストのソフトで指定していたことが、ファーム側で出来る様になっている。その部分を少し変更してみた。
上記の拡張で、かなりコード数を減らすことが出来る様になった。基本的なところは前回と変わっていないが、短いプログラムは精神衛生的にとてもよい。
本家のほうは BonDriver のインターフェイスを強化して、demux を可能にしている。すばらしい機能だが、こちらのユースケースとはあまりかぶらない。でも、新しいインターフェイスで絵が出るまで速くなったらしいし、軽くなったらしい。これは魅力的だ。コードをもう少し、読んでみようと思う。
連続して録画ができない現象ですが、解決しました。録画状態からネットワーク視聴への切替も問題なくできます。
原因はファームウェアとの組み合わせにあるようです。
今回の B25 化に際して、2chで見つけた cap_sts sea バージョン を利用させてもらっています。これは現在、cap_sts をベースに B25 化されたのは cap_sts sea004 〜 cap_sts sea007 までリリースされています。
これらにはそれぞれ、カメFX2のファームウェア fw.iic が同梱されています。このファームウェアは 3種類あります。cap_sts.c の中で、FX2_KAI1, FX2_KAI2, FX2_KAI3 となっています。
最新版は FX2_KAI3 です。当初はこちらのファームと cap_sts sea007 をベースにしたのですが、結果的に不具合が出ました。一発目の録画はうまくいくのですが、二発目以降が録画されません。同様にネットワーク視聴から録画への切替もうまくありません。
結果としてデータが流れてこないようです。
そこで以前のファームウェアで試したところ、問題なく動作しました。もうすこし、試してみて問題なさそうでしたら、公開いたします。
お待たせしました。
当方のB25の組み込み方に問題があるようで、連続しての録画(スケジュール録画含む)ができません。現在、原因を解析中です。いま、しばらくお待ちください。
以上、よろしくお願いいたします。
開発者のユースケースは1920x1200のLCDを主に使っている関係上、画面の一部にTV画面を映したい。地デジの解像度をそのままVLCにぶち込むと、画面のほとんどが食われてします。画面を小さくしておいても、チャンネルの切替時に再び、元の大きな画面に戻ってしまう。
できれば、最初から適度な画面の大きさで、なおかつネットワークでのストリーム読み込みに対応したいものだ。
少し調べてみると、以下のオプションで設定できることがわかった。
rtp://@:1234 --width=360 --height=360
これを起動時にオプションとして設定すればいいのだが、VLCの実行ファイル名と一緒にしたのでは、うまく動作しない。そこでオプションを保持しておけるようにした。「Network」をクリックすれば、適度な画面でネットワーク設定でVLCが起動する。だいぶ、使いやすくなった。
すこし、便利になったな。
VLCが使えるようになったので、PCをいじくりながらリアルタイム視聴が出来る様になった。ただ、チャンネル変更のたびに画面の大きさが変わってしまうのはいただけない。この辺の対策を施して、普通に使えるようにしよう。
このソフトの稼働時間はかなり高くなりそうだ。だって、自宅警備員のときは自分自身がPCの一部になっているもんな。
さらに便利な機能を追及していきます。
2ch に投稿された、cap_sts sea 007 を参考にさせてもらって、とりあえず、ChameFX2Cap に実装完了。引き続き、VLC周りを見ることにする。
長かったけど、かなり充実しています。
少し使ってみて、問題なさそうなら公開します。
お待ちください。
改善しているつもりが、バグを入れるような結果になったりしてけっこう進捗が遅くなっている。そろそろ、安定した基盤にして、機能追加に注力したい。
ある程度、まとまってきたのでページを充実させようかと考えているけど、ページ作成に時間をかけるくらいならソフトの制作を進めたほうがいいのでは?とも思っているし……。
うーん。
さて、どうするか…?
PSP用の動画ファイルをつくるべく各種のエンコーダを評価中。
とりあえず、
1.MediaCoder for PSP
2.Super
を試してみたけど、どちらもあまりうまくない。
MediaCoder は一応、ファイル食うし出力もする。PCで再生も問題なくできるけど、PSPで再生ができない。
Super はファイルを食うことすらしない。
一発変換は難しいな。数パスでもいいけど、勝利の方程式が欲しい。
とりあえず、実験は進めます。
BSの局数って、けっこうあるのね(地デジより多いくらい)。BSにも完全対応をしてみた。それに伴い、三桁入力の準備も始めた。局名ファイルのフォーマットが少し、変更になった。
今まで端折って書いていたコードも見直しが必要になってきた。まぁ、少しずつと言うことで。
地方の局に対応した、チャンネル設定の要望があったので、すこし改良した。役に立てればいいのだが…。
昨日のバグだが、一行追加しただけで直すことができた。
「対策前」
if(m_ScheduleLock)
UpdateSchedule();
return 0;
「対策後」
if(m_ScheduleLock)
if(m_RecordStop == CAPTSFX2_STOP)
UpdateSchedule();
return 0;
→現在のステータスを見て、録画中ならスケジュールを登録するだけ。録画していなければ、そのスケジュールの状況を見て、既存のスケジュールと置き換えるようにした。
たった一行なんだよなぁー。
あとは登録と消去を繰り返すと、ポインタがずれることがありみたいです。
いまいち、再現試験ができていないので、徐々に直します。
不具合が発覚した。
録画中に次の iEPG ファイルをドラッグ&ドロップしたり、新しいスケジュールをサブミットすると、録画タイマーがおかしくなる。
原因は大体、わかっているので次のバージョンできっちり直すことにしよう。しかし、エンドレスだな。
でも、やるしかないな。