Androidとの統合は無い
Mirror-DTCのJava版クライアントの開発は、作業的には進展しているのだが、内容的にツマラナイため、今日も時事ネタがらみにすることにした。ITmediaにChrome OSはAndroidと統合しない - Google幹部という記事が載っていたのだが、作者でも、絶対に、統合はしない。
« 2011年4月 | トップページ | 2011年6月 »
Mirror-DTCのJava版クライアントの開発は、作業的には進展しているのだが、内容的にツマラナイため、今日も時事ネタがらみにすることにした。ITmediaにChrome OSはAndroidと統合しない - Google幹部という記事が載っていたのだが、作者でも、絶対に、統合はしない。
Mirror-DTCのJava版クライアント開発は中々先に進まないのだが、とりあえず、ネットワーク系については、暗号化まで含めて動作しているため、クライアントはサーバーから構成情報を受け取り、要求を出す事はできている。しかし、まだ、画面表示も音声再生も出来ない。
昨日に引き続いて、今日も書くべき事がない。なので、ちょうど今日、4月のTiVSoundのバージョンアップ時に作り始めたダウンロードサイトの総ダウンロード数が、1万ダウンロードを超えたので、ネタにすることにした。総数はそれなりに多いのだが、あまり嬉しくは無い。
ここのところ、Mirror-DTCのJava版クライアントを作っているのだが、作業が中々進まないため、ブログの記事はJavaの悪口みたいなモノばかりになっている。なので、週末という事もあり、時事ネタにする。とりあえず、作者には、面倒なテレビは必要ない。
Mirror-DTCのJava版クライアントを作り始めてから、既に2週間過ぎたのだが、やっと、サーバーに接続することが出来た。Mirror-DTCの場合、デフォルトでSHA1によるハッシュ値チェックだとか、AES暗号化だとかを行なっているため、接続を成功させるのも大変だ。
ここの所、ブログに進捗を書いていないのだが、Mirror-DTCのJava版クライアントの開発は、進んではいる。しかし、Mirror-DTCでは主要データの殆どはポインタになっているため、Javaで書き直すのは、量的にも、質的にも、精神的にも、疲れる。なので、進捗は亀よりも遅い。
ここのところ、Mirror-DTCのJava版クライアントを作っているのだが、作業的にツマラナイので、気分転換にネットで他人のブログを見たりしているのだが、若い人ほど、「車輪の再発明はするな」という事を重要視しているようだ。そういう人はWikipediaを見た方が良い。
今日は、それなりの事が出来るか、と、思っていたのだが、AES暗号処理の移植で頭痛がしてきたため、打ち切りにした。作者のコードに出てくる変数の大半はunsigned型なのだが、Javaではunsigned型が使えない。なので、結局、移植なのに全行見直しが必要になる。
ここの所、Mirror-DTCのJava版クライアントを作っているのだが、やっと作業に慣れてきた感じだ。JavaはC++と比べると色々と面倒なのだが、開発環境がeclipseに変わっている事もストレスになっていた。しかし、とりあえずは、普通に使えるようにはなってきた。
先週の土曜日に、何時まで続くかな、という記事を書いてみたのだが、既に状況は作者的には嬉しくない状態になっている。つまり、公開ソフトのダウンロードバランスが悪いのだ。TiVSoundは100/日、AG-デスクトップレコーダーは300/日程度ある割りに、他はポツポツだ。
ここの所、Mirror-DTCのJava版クライアントを作っているのだが、これは、その延長線上にあるAndroidを睨んでの作業だ。さらに言えば、Windows8ではWin32APIが放棄されるという噂もあり、そうなれば、Windows用のアプリを組むのは時間の無駄でしかなくなるからだ。
今日もMirror-DTCのJava版クライアントのネットワーク部を作っていたのだが、何とか受信処理についても動作し始めた。昨日の時点で送信はできるようになっていたので、今日の時点で、やっと、Mirror-DTCサーバーに単純な要求を出して応答を拾えた事になる。
今はMirror-DTCのJava版クライアントを作っているのだが、やっと、1パケット送信できた。当然の事ながら、単にJavaのコードを使ってパケット送信した、という訳ではなくて、C++版の全ての処理を行わせている。つまり、送信系の内部処理ルーチンは固まってきた、という事だ。
今はMirror-DTCのJava版クライアントを作っているのだが、予想に反して、結構苦労している。JavaとC++は、文法的には、大した違いは無いため、移植はある程度機械的に行えているのだが、ネットワークの基本部だけでも、5千行はあるので、中々先に進まない。
今はMirror-DTCのJava版クライアントを作っているのだが、元々のルーチンはC++版として存在しているため、単なる移植になる。なので、始める前には、それほど面倒でもないだろう、と、思っていたのだが、イザ始めてみると、かなり面倒だ。なので、チマチマと進める。
今はMirror-DTCのJava版クライアントを作っているのだが、Javaの使い勝手の悪さに気が遠くなってきたので、気分転換にブログを早めに書いている。Javaではunsigned型が使えないし、バイト配列を構造体へのポインタにキャストできないし、Unionも使えない。
今はMirror-DTCクライアントのJavaアプリ版を作成しているのだが、C++版からの移植とはいえ、作業量は多そうなので、動作するようになるのは、今週の週末くらいになるかもしれない。問題は、性能が出るかどうかだ。JavaだとDirectXもSSE2命令も使えないので。
今日はJavaアプリ版のMirror-DTCのネットワーク部を作り始めた。C++版からの移植なので、悩む所は無いのだが、単純作業になるため、何時ものように、手が止まってしまった。なので、HPのカウンターとかを見ていたのだが、アクセス数は何時もの2倍程度はありそうだ。
今日はJavaアプリ版のMirror-DTCクライアントを作り始めたのだが、起動時に表示しているダイアログを作ってみたところ、AWTだと、当然のように、WindowsとMacでダイアログ部品の表示位置がずれた。なので、Swingに変えたのだが、メインウインドウはAWTでないとマズい。
Mirror-DTCクライアントのJavaアプリ版を作るにあたって、一番の問題になるのは、画面描画系だ。JavaではDirect3DもGDIも使えない。その代わりに別の画面描画インタフェースがあるのだが、一般にはSwingが使われるようだ。しかし、作者的にはAWTの方が良さそうだ。
4月のTiVSoundから始まり、AmuseGraphicsと3つのAG-XXX、Mirror-DTC、とバージョンアップしてきたのだが、まだ、Vectorへの登録は行っていなかった。なので、今日、Vector版のバイナリを一気に更新しておいた。また、MasterReversi用のダウンロードページも作った。
昨日、Mirror-DTCのVer1.1.0をリリースしたので、今日は使い心地を色々と試していたのだが、デスクトップレコーダーでキャプチャーしてライブラリ化してある動画よりもMirror-DTCの圧縮映像の方が綺麗だった。少し焦ったのだが、結局は、当たり前の事だった。
今日、Mirror-DTCのVer1.1.0をリリースしたのだが、次は、Java版のMirror-DTCクライアントを作ろうか、と、思っている。このブログをずっと読んでいる人なら、次は、Webカメラの映像をHTTPで飛ばすアプリの筈だ、と、思う筈なのだが、予定は変わるから確定ではないのだ。
Ver1.1.0では音声用にADPCM/映像用にDCT圧縮オプションを追加し、リモート操作時のネットワーク負荷を大幅に低減できるようにしました。これに合わせて、従来のUDPに加えて、TCP接続にも対応させ、インターネット経由での接続時の利便性も向上させています。
現行のMirror-DTCでもデフォルト設定の変更は可能なのだが、起動フォルダーにDefault.dtcという名前で保存する必要がある。デフォルト設定の変更はそんなに行う作業でもないため、そうしてあったのだが、今回、専用コマンドを追加した。本当のデフォルト設定も微変更した。
今日はMirror-DTC Ver1.1.0を完成させ、動作確認をやっていたのだが、Celeron 1.3GHzのDynabook MX/33で、無線LAN設定を11b、つまり11Mbpsに設定しても、画質を50程度にすれば、1280x800のMacBookも普通に操作できた。この使い勝手の良さは別次元だ。
今日は、Mirror-DTCにTCP接続も可能にするための変更を行っていた。ユーザーインタフェース等の変更も必要になるため、明日も作業を継続するのだが、今日の時点で、TCPでの接続は行えるようになっていて、機能的にも、性能的にも、特に問題は無さそうだ。
今日はMirror-DTCに追加したDCTエンコードモードをインタレースにも対応させた。DCTエンコードモードを使えば現行バージョンよりも何倍もネットワーク負荷は減らせるので、そのために使う必要は少ないかもしれないが、インタレースを使えばCPU負荷も減らせる。
今日は、昨日に引き続いてDCTエンコードモードをMirror-DTCに適用する作業を行っていたのだが、AGM形式のDCTエンコードモードでは、フロントエンド部でYV12変換を行っているため、デスクトップ映像は少しボヤケル。なので、最高画質用のエンコードモードも追加した。
@Niftyの終了対応作業は昨日で終わってしまったので、今日はMirror-DTCの変更作業を始めたのだが、元々、Mirror-DTCへの適用も想定していたため、ADPCM/DCTエンコードモードは一応は簡単に適用でき、確認もできた。理屈通りの結果だったが、結構凄い。
MasterReversi/AmuseGraphicsのHPには@Niftyビデオ共有にアップロードしたデモ動画へのリンクを埋め込んであったのだが、@Niftyビデオ共有が6月で終了することになったため、今日は、動画データをダウンロードし、そのままYouTubeにアップしてリンクも差し替えた。
今日はAmuseGraphicsのVer1.2.0をリリースした。なので、次はDCTエンコードモードをMirror-DTCに適用するのだが、今の所、GW中ということもあり、やる気にはなっていない。数日は@Niftyビデオ共有終了後のための準備をする事になるのかもしれない。
Ver1.2.0ではJPEG相当のDCTを使った動画圧縮方式を採用したDCTエンコードモードを追加しました。DCTエンコードモードは画質的には従来のRGB/YV12よりも劣りますが、比較的エンコード負荷は軽く、圧縮率は単純な差分圧縮も取り入れているため、MJPEGに勝ります。