2001年11月のエントリ

WinXP を(上書き)インストール。BIOS のアップデートと DELL US サイトの GeForce2 Go ドライバを入れただけで問題なくインストール完了。とはいえちょっと重い感じだったので全てクラシックスタイルにしてしまったため,Win2k とあんまり変わらない。

周辺機器的には,Smart Vision Pro2 USB は XP 対応ドライバが出ていたのでインストール。MO ドライブ等は c:winntinf(クリーンインストールだとフォルダ名が変わるらしい)から標準のドライバをインストール。1 つだけ,PCMCIA SCSI カード経由の外付け HD は,デバイスは認識するものの,ドライブが現れない。原因不明。

WinXP のリモートデスクトップを体験。友人が自宅のマシンを外から操作していた。セキュリティさえ大丈夫ならかなり便利そう。それに関連して(?),CD-ROMトレイをドライブを指定して開閉する方法。

MCI_OPEN_PARMS  mciOpen;
TCHAR           szElementName[4];
TCHAR           szAliasName[32];
DWORD           dwFlags;
DWORD           dwAliasCount = GetCurrentTime();
DWORD           dwRet;
TCHAR           chDrive;

chDrive = TEXT(drive_char);

ZeroMemory(&mciOpen, sizeof(mciOpen));
mciOpen.lpstrDeviceType = (LPTSTR)MCI_DEVTYPE_CD_AUDIO;
wsprintf(szElementName, TEXT("%c:"), chDrive);
wsprintf(szAliasName, TEXT"CD%lu:"), dwAliasCount);

mciOpen.lpstrElementName = szElementName;
mciOpen.lpstrAlias = szAliasName;

dwFlags = MCI_OPEN_ELEMENT | MCI_OPEN_SHAREABLE | MCI_OPEN_ALIAS |
          MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID | MCI_WAIT;

dwRet = mciSendCommand(0, MCI_OPEN, dwFlags, (DWORD)(LPVOID)&mciOpen);

MCIDEVICEID wDeviceID = mciOpen.wDeviceID;
mciSendCommand(wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, NULL);

mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);

トレイクローズは,MCI_SET_DOOR_OPEN の代わりに MCI_SET_DOOR_CLOSED を指定する。

実は以前 Smart Vision という USB TV チューナー & キャプチャーを買ったのだが,研究室の人がエンコードについて話していたのに触発され,標準形式の MPEG2 から MPEG4(wmf)に変換する実験を行ってみた。以下手順。

  • Smart Vision でキャプチャ(m2p)
  • 付属の Video Studio で範囲指定し,[選択ファイルを新しいビデオファイルとして保存](m2p)
  • DVD2AVI で [Open],[Save Project] し,映像・音声を分離(d2v,mpa)
  • SCMPX で音声を wav に変換(d2v,wav)
  • AVIUtil で[開く]-[編集プロジェクトを保存] で映像と音声を結合(aup)
  • VFAPI Codec Reader で [ジョブを追加],[実行] で avi に変換(avi)
  • Windows Media Encoder で wmf に変換(wmf)

一旦 Video Studio で保存しているのは,これをしないと映像と音声を分離するときに時間がずれるからである。恐らくコマ落ちが原因だと思われるが,Smart Vision 付属の Video Studio プラグインで一旦保存するとコマ落ちが(多分)補完されたような感じになり,ずれなくなるようだ。

しかし何故こんなにいろんなソフトを使わなければならないのだろう。特に映像音声を分離してそのまま合成するところに不毛感が…。

#その後 AVIUtil の手順で直接 MPEG4 エンコードの AVI 変換にすることで,単純化した。WMF 変換途中で止まっちゃうことがよくあるし。

#さらにその後,エンコーダを指定すれば Video Studio から直接 MPEG4 エンコードできることが分かった。ので,Video Studio でファイルを MPEG2 720×480 29.97FPS で開き,エンコーダを指定してファイルを出力するだけで OK になった。

DirectPlay 回線シミュレータで遅延を大きくし,ウェザタイのテストをちょっとやってみたところ,つながらない現象が再現した。原因を調べると,プレイヤーダイアログ表示中にプレイヤーを追加しようとして,排他制御で止まっていた。とりあえずそこを直した版を開発版にアップ。4 人対戦については実際にテストしないと分からないが,直っているといいなあ。

DirectX8.1 がリリースされていたので試してみる。確か DX6 の時にあった DirectPlay 回線シミュレータが復活している。これでパケットロスとか遅延のテストが効率的にできそうだ。あとは VC から DirectX プロジェクトが AppWizard で選択できるようになった。

ウェザタイに関しては,掲示板に書いたとおり,TCP/IP 対戦ができなくなった。これは,恐らくセッション選択機能を省いたせいで,DX8.0 では動いたが,DX8.1 ではだめらしい。参考にした書籍のサンプルも動かなくなっていた。これはテストが完了し次第修正版アップ予定。

諸事情で沖縄県石垣島へ行く。Palm と携帯でネットに接続出来るので大丈夫と思っていたら赤外線 Palm 携帯接続キットが電池切れ。i-mode 以外ネットに接続出来ない環境となってしまった。携帯でメール書く気はしないので,結局ネットも PC もない生活を送る。これはこれでゆっくりしていていいけど。