PC上で、複数のファイルを順番に読み込んで、モニタに動画として出力するソフトを探しています。


以下のような流れです。

複数ファイル(BMP) → ソフト → PCのメインメモリ → グラボ(DirectX対応) → モニタ

モニタは、以下のモニタを使用し、120fpsで出力しようとしてます。
http://www.viewsonic.com/products/desktop-monitors/lcd/x-series/vx2265wm-fuhzion-lcd.htm#tabbox_specs

ちなみに、ある会社ががわざわざ外注さんを使って作らせていることを知ったのですが、「そんなソフト、世の中にあるだろう」ということで、質問している次第です。

尚、PCのOSは、WidowsXPかLinuxです。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2009/05/08 14:30:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント27pt

BMPファイルを1枚1枚読み込んで動画として表示するのでは、HDDのスペック的に無理があります。

  1. BMPファイルを、いったんメインメモリに読み込んでから動画表示するか、
  2. あらかじめBMP静止画像から動画ファイルをつくり出す必要があります

SD画像(720×480ピクセル、フルカラー)は、1枚あたり約1Mバイトです。したがって秒間120枚(ノンインターレスとする)のBMPファイルを読み込むためには、120Mバイト/秒以上の転送速度が必要です。

SATA-2の理論上の転送速度は300Mバイト/秒ですが、実際にこれほどの速度を出せる記憶装置はありません。普及しているATA100では、ランダムアクセス速度は、せいぜい5Mバイト/秒です。

しかし、秒間5枚では、コマ落としみたいな映像になってしまいます。せめて15Mバイト/秒のランダムアクセス速度を出せるHDDが必要です。

よって、BMPファイルを1枚1枚読み込んで動画として表示するのでは、いくらGPUの性能がよくても、HDD(SSDを含め)のスペック的に無理があります。


そこで、1のツールの存在可能性を検討します。

上記と同様の計算で、1分間(7200フレーム)の動画を表示するためには7Gバイト以上の容量が必要となります。20fpsに落としたとしても1Gバイトを超えます。

メモリの中で画像圧縮しておけば何とかなるかもしれませんが、そこまで特化されたツールが存在しているとは思えません。


したがって、実現可能性があるとすれば2のツールでしょう。いくつかのコマンドラインツールをバッチで組み合わせることによって、実現できないことは無さそうです。

ただ、このようなツールがご質問の主旨に合うかどうか分かりません。

id:renagon

pahooさん回答ありがとうございます。

すいません、私の質問が悪かったです。

出力する画像は、VGA(640x480)、YCbCr(4:2:2)10bitです。

120fpsは必須なんですが、再生時間は、30秒もあれば御の字です。

ただ、pahooさんご指摘のように、HDD/SSDの読み出し速度を考慮してませんでした。

なので、可能性があるのは、pahooさんおっしゃるところの1のツールになります。

640 x 480 x 20bpp x 120fps x 30s / 8 = 2.7684GB

と、こんな感じですが、何か心当たりのツールなり情報あれば、教えて頂けると助かります。

2009/05/01 16:05:43
id:pahoo No.2

回答回数5960ベストアンサー獲得回数633

ポイント27pt

「1.メインメモリに読み込んで‥‥」という仕組みではないようですが、Windows 2000/XP/Vista 用のフリーソフト「SnapViewer」はどうでしょう。

更新周期を 8 msec にして、マシンが追いついてくれればいいのですが‥‥。

お試し下さい。

id:renagon

pahooさん回答ありがとうございます。試してみます。

2009/05/01 16:51:21
id:kia_44 No.3

回答回数396ベストアンサー獲得回数30

ポイント26pt

>HDD/SSDの読み出し速度

この点で回答させていただきます。ご存知でしたらごめんなさい。


メモリーをハードディスクとして使う方法がありますよ。

http://www.watch.impress.co.jp/akiba/hotline/20081108/sp_acard.h...

画像の容量が少なければこっちは無料でいけますね。画像が2G以上だとマシンとしてはメモリを4G以上積めたほうがいいですね。

http://pc.watch.impress.co.jp/docs/2008/0512/ramdisk.htm



ついでですが、上記のようなものを使い、ハードディスクへのアクセスを下げることで表示速度は上がります。

OPEN→読み込み・・・・・・→表示 が

OPEN→読み込み・→表示      ぐらいにはなるかと。

ソフト自体がHDDに読み込み(DLLだとかを)に行ってしまうとHDD待ちになっちゃうので、できればソフト自体をメモリに入れておきたいところです。

ネットゲームなどのロードがすこぶる早くなりました。

pahooさんの回答2のように動画にしちゃったほうがスムーズだとは思いました。

面白そうなのでSnapViewerを試してみました。職場なのでRAMDISKは試せませんが、HDDのままだと周期8では時々止まりました。


構成

CPU:core2Duo2.66GHz

メモリ:4G 内約3.5G認識

HDD:SATA300 7200rpm キャッシュ16M

id:renagon

kia_44さん、回答ありがとうございます。

「メモリーをハードディスクとして使う」なるほどです。検討します。

どうも、ありがとうございました。

2009/05/07 10:34:20

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません