ソフトウェア倉庫 HOMEに戻る
ムービー再生スクリーンセーバー 動画を再生するスクリーンセーバー
FF8ムービー抽出ツール FF8(体験版を含む)のムービーを抽出するツール
CSTRファイル・リーダー TMPGEnc用のCSTRファイルプラグイン
MOMO'sスクリーンセーバー MOMOさん作のかわいらしいキャラを使用したスクリーンセーバー


 
ムービー再生スクリーンセーバー
Windows 95/98/Me/NT/2000
Version 1.25 フリーソフト
【機能概要】
このプログラムは、好みの動画ファイル(AVIファイルなど)を再生してくれるスクリーンセーバーです。 再生させるファイルはいくつでも指定できます。
【特徴】
  • 再生したい動画ファイルをいくつでも登録できるので、 細切れに沢山ある動画ファイルも連続して再生させることができます。
  • 再生順序をランダム/シーケンシャルで選択できます。
  • 再生位置を画面中央/ランダムで選択できます。
  • 表示サイズの指定方法は、元データサイズの割合か、画面サイズの割合で指定できます。
  • 動画ファイルとは別にBGMファイル(MIDI, WAVEなど)も指定できます。
  • 再生動画ファイルとしてリストしてあるもののうち、一時的に再生させたくないものを指定できます。
  • 再生動画ファイルの指定は、ドラック&ドロップで簡単に指定できます。(「ファイルを開く」ダイアログもあります)
  • 設定画面上で、動画ファイルをプレビューできます。
  • スクリーンセーバーとして動作している時でも、スキップ/一時停止/消音などのコントロールができます。
  • スクリーンセーバー動作中のコントロールをキー/パネルのどちらで行うかを指定できます。
【開発トピックス】
開発の動機
きっかけは、「FF8のムービーをスクリーンセーバーにしたい!」と思ったことでした。 まず、Vectorに行き、 動画を再生するスクリーンセーバーを探したのですが、 満足できる機能/品質のものは発見できませんでした。
私が求める機能とは、「再生ファイルをいくつでも指定でき、その順番も指定できること」 でした。ということで、これがそのまま開発コンセプトとなりました。
初めてのスクリーンセーバー
このプログラムは私が始めて作成したスクリーンセーバーです。 しかし、ネットで調べてみると、作成方法は色々なところで解説されていました。 また、その方法もとても簡単! (^o^)
初めての動画再生
今まで、MIDIやWAVEを再生するということはやったことがあったのですが、動画を再生するのは始めてでした。 方法としては、mciSendCommand()APIだけだったので簡単であろうと思われたのですが、 大量にあるコマンドの使用方法を調べるのに苦労しました。 このあたりの機能についてはMMedia.cにまとめましたので、 他の動画/音声再生をするソフトで使いまわすことができると思います。
今では不要?! 同期サウンド
当初、FF8のムービーは動画部分だけしか抜き出すことができませんでしたが、 ある日、Koujinさんにより 音声だけを抜き出すツール(ff8cdwav)が開発されました。 で、無音の動画データと同時に再生させる音声データを指定できるようにしたのです。
その後、やはりKoujinさんにより動画と音声を含むSTRファイルを抜き出すツール(ff8cdred)が開発されたので、 今となっては不要な機能なのですが、削除するのもなんなので残してあります。(^^;;
なぜか勝手に終了してしまう・・・
MPEG動画を再生させると、なぜかスクリーンセーバーが勝手に終了してしまうという現象が報告されました。 調べてみると、MPEGをクローズした時にドライバからスクリーンセーバーを終了させてしまうようなメッセージが送付されていました。
で、ちょっと強引な方法ですが、次の動画再生準備中に、 そのメッセージが送られてきた場合には、DefScreenSaverProc()に渡さないようにして対策しました。 (もっといい方法があるのかな〜?)
ドライバが認識されない・・・
通常、再生デバイスをオープンするとき、再生ファイル名を与えるとMCIが拡張子から適切なドライバを認識してくれます。 しかし、これが正しく認識されないとの報告がありました。
おそらく、レジストリの設定などが原因であると思われるのですが、とりあえず、 オープンに失敗した場合には、導入されている全デバイスに対してオープンを試みるという処理を入れて対策しました。 (もっとスマートな方法があるのかな〜?) 具体的な方法については、MMedia.cのMmdOpenMedia()を参照してください。
 

バイナリ 2001/03/03 Mmdss123.lzh (33KB)
ソース 2001/03/03 MmdssSRC.lzh (65KB)


 
FF8ムービー抽出ツール
Windows 95/98/Me/NT/2000
Version 1.01 フリーソフト
【機能概要】
ff8cdwav, ff8cdred, ff8cdstr, ff8findは、Koujinさんが作成したプログラムをちょこちょこっと変更して FF8体験版のムービーを抽出できるようにしたツールです。
また、ff8cdguiは、上記ツールを実行するためのランチャーです。 このランチャーは、Koujinさんが作成したオリジナルのプログラムに対しても同様に動作します。
ff8cdguiの詳しい使用方法については、 KoujinさんのHPで説明されています。 (本当は自分で作らなきゃいけないんですよね)
【特徴】
  • ff8cdwavは、FF8のCD-ROMから44.1KHzのWAVEファイルを抽出します。
  • ff8cdredは、FF8のCD-ROMから音なしのSTRファイルを抽出します。
  • ff8cdstrは、FF8のCD-ROMから音ありのSTRファイルを抽出します。 ただし、サンプリングレートは37.8KHzになります。
  • ff8cdfindは、FF8のCD-ROMからムービーデータの存在位置を探索します。 上手く抽出できない場合に、これを実行してみます。
  • ff8cdguiは、上記ツールのランチャーです。
  • ff8cdguiは、挿入されているCD-ROMが何番目のDISCであるかを自動的に認識します。
  • 抽出データ種別を選択するだけで、実行するツールを切替えます。
【開発トピックス】
FF8体験版対応の動機
たいしたことではないのですが、体験版のムービーはオリジナルと微妙に違う部分があったからです。 だって、パーティーのメンバーが違いますもんね。ただ、それだけです・・・
ff8cdgui開発の動機
当時、PsxMCの開発を始めたばかりの頃でした。 しかし、プレステのデータについては何も知らなかったので、Koujinさんに協力を求めようとしました。 でも、ただお願いするだけのメールを出すのも申し訳ないと思ったので、手土産がわりに作りました。 と、ま〜、不純な動機です。はい・・・
なぜ、手土産がわりに作ったものがランチャーかというと、 KoujinさんのBBSに「DOSコマンドの使い方が分からない」というような書き込みがされていたからです。 あと、簡単にできるという理由もありますね。 (実際、2時間くらいで作りました)
なぜ、FF8のCD-ROMは普通に読めるのか?
プレステのCD-ROM XAは、普通のfread()とかReadFile()で読めません。 でも、FF8のCD-ROMは読めます。答えは簡単でした。読めないのはForm2のセクターだけなのです。 通常、Form2はXAファイルやSTRファイルの音声部分に使用されています。 しかし、FF8の場合はすべてForm1のセクターを使用しているために読めるのです。
しかし、最近はForm2のセクタも読めるドライバがあるのですね。 エクスプローラを使用して、普通にSTRファイルがコピーできるそうです・・・知らなかった!
 

バイナリ 1999/06/27 ff8cd2.lzh (102KB)
ソース バイナリに含まれています


 

CSTRファイル・リーダー
Windows 95/98/Me/NT/2000
Version 1.00 フリーソフト
【機能概要】
PsxMCで出力したCSTRファイルを 堀氏のTMPGEncで使用するためのプラグインです。 当然、このプログラムだけでは何もできません。 また、PsxMCのPSRプラグインも必要です。
【特徴】
  • プレステのムービーを、劣化なくTMPGEncに渡せます。
  • CSTRファイルは、PsxMCからの出力が速いです。(AVIファイルとの比較)
【開発トピックス】
開発の動機
PsxMCに対して、AVIだけではなくMPEG変換機能をつけてほしいというリクエストが多く寄せられていました。 単純にMPEG変換をつけることは不可能ではありません。 しかし、エンコード処理の善し悪しにより、まるで画質の違うものが出来上がる世界です。 とても今からその世界に入る元気はありませんし、もっと力を入れるべき点が多すぎます・・・
そもそも、CSTRファイルを開発時に、フォーマット変換の中間ファイル的に使用することを考えていました。 ある日、『VIDEO COMPRESS fun』 で見つけた「STRファイルリーダー」を見て、「お! これだ〜」と思いました。
問題ありです・・・
このプログラムは、リリースしてから一度もバージョンアップしていませんが問題があるようです。 原因は特定できていないのですが、ASPIが関連しているようだということが判明しました。
CSTRファイルでASPIを使用することはないのですが、 プラグインがCdAccess.dllを静的リンクしていて、更に、CdAccess.dllがロードされたときにWNASPI32.dll をロードするという処理になっていることがわかりました。 ということで、問題の原因は分からないまでも、CdAccess.dllに対してASPIを使用する必要になったときにロードするという修正をすることにより対策しました。
まだ、問題ありです・・・
TMPGEncで、CSTRファイルリーダーの優先順位を上げた状態で、他のファイルを開こうとすると異常終了する環境があるようです。 これに関しては、まるで対策方法が分かってません・・・

バイナリ 2001/04/18 CSTRVfapi100.zip (13KB)
ソース2001/04/18 CSTRVfapiSRC.zip (32KB)


 
MOMO'sスクリーンセーバー
Windows 95/98/Me/NT/2000
Version 1.00 フリーソフト
【機能概要】
素材屋MOMOさんが作成したWeb site用 のかわいらしい素材を使用したスクリーンセーバーです。 MOMOさん作のキャラクターが上下左右に移動します。
【特徴】
  • スクリーンセーバー本体よりも設定パネルに力を入れてあります。(^^;;
  • BGM用のサウンドデータも指定できます。
  • 出現させるキャラクターを選択できます。(複数選択可!)
  • 出現させる数を選択できます。(最大にするとゴチャゴチャ・・・)
  • 移動速度を設定できます。(最速にすると見えません・・・ ウソです)
  • バナークリックでMOMOさんと私のHPを開きます。
【開発トピックス】
開発の動機
もともと、MOMOさんの素材を使用してスクリーンセーバーを作りたいということは考えていました。 で、作りました。・・・MOMOさんに無許可で・・・。完成してすぐ、MOMOさんに送りました。 MOMOさんは快く許可してくれて、バナーまで作ってくれました。ありがとーMOMOさん!
アニメーションBMP
キャラクターの元データはアニメーションGIFでした。 でも、私はGIFを表示させる方法を知りません。 そこで、各フレームをバラバラにして、一枚の細長いBMPにしました。 そして、フレームレートを加味して位置を変えながら繰返し表示するという原始的な方法。 BMPを作成する作業は、もっと原始的で、フレームをクリップボードにコピーして、ペイント (Windowsに付属のやつ)にペースト!
設定パネルのデザイン
設定パネルは、『MOMO's page (LEVEL5)』 のトップページのデザインをパクリました。 そのため、HTMLを読みながら必要なデータ(枠とか)を取り出して、またまたBMPに変換! あとは、WM_DRAWITEMメッセージを受信して描画するという処理です。 ん〜、スキン機能もこの要領でやればいいのですね!
 

バイナリ 2001/05/18 MOMO100.lzh (49KB)
ソース - -



HOME このページのトップに戻る