こんにちわ。
現在、ビデオキャプチャソフトのようなものを作成しているのですが、ファイルとして
保存したAVIファイルを再生させる機能をつけたいと思っているのです。
しかし、もともとWindowsに入っていたような時計のアニメーション(AVIファイル)は
再生可能なのですが、ビデオカメラから取り込んだAVIファイルは再生できないのです。
何が違うのでしょうか???
codecが違うのでしょう。
どのような手法で再生しているのか分からないのですが、
CAnimateCtrl を使っているのなら、クラスの説明に
再生可能なAVIの条件が列挙されています。
ご回答、ありがとうございます。
その、コーデックが違う場合、再生可能なAVIの条件に合わない場合はどうすればよいの
でしょうか?
コーデックのインストールなど、できるのでしょうか?
> コーデックが違う場合、再生可能なAVIの条件に合わない場合は
> どうすればよいのでしょうか?
別のコーデックを再生可能なコンポーネントを探してきて使用するか、
AVIのコーデック仕様を探してきてエンコーダーを自作するかどちらかでしょう。
>別のコーデックを再生可能なコンポーネントを探してきて使用するか、
>AVIのコーデック仕様を探してきてエンコーダーを自作するかどちらかでしょう。
探してきて使用、とはダウンロードしておくだけでよいのでしょうか?
> 探してきて使用、とはダウンロードしておくだけでよいのでしょうか?
大抵はダウンロードするだけでは駄目だと思います。
探し当てた製品のインストール説明書に従ってください。
> 再生可能なのですが、ビデオカメラから取り込んだAVIファイルは再生できないのです。
AVIファイルをどうやって作ったか、具体的に
説明してください。
エンコーダー(圧縮)で何を使ったかがわからなければ、
デコーダー(解凍)についても答えようがないです。
例えば、DirectXではAVIの再生ができるようですが、
ご希望の形式が再生できるかどうか調べてみてはどうですか?
AVIファイルをどうやって作ったとは、何と言えばよいのでしょうか。
ビデオカメラをPCに接続し、ただ、キャプチャしてあったのがたまたま保存されていた
だけのようです。
他にも、DirectXに添付されていた、サンプルのAVIファイルを再生してみようとしただ
けなので、何が使われたというのは、わからないのですが・・・
AVIファイルのプロパティを見てみました!!
すると、再生できるアニメーションのビデオ圧縮は”MS-RLE”、
再生できないDirectXのサンプルAVIは”IndeoR video 5”となっていました。
これが、みなさんのおっしゃっていたものでしょうか?
しかし、どんなAVIファイルでも、エンコーダや圧縮方法に限らず再生できるように
してみたいのですが、それはどうすればよいのでしょうか?
設定する方法、コードの記述ありましたらおねがいします。
>どんなAVIファイルでも、エンコーダや圧縮方法に限らず再生できるように
不可能です。
あなたが言っているのは「拡張子こそ同じだけれどどういう形式で圧縮しているか解らな
いモノを解凍したい」ということです。圧縮方式が解らないのに解凍できるわけがありま
せん。
「新しい圧縮方式にも簡単に対応できるようなモノを作りたい」というのであれば、解凍
部分をプラグインのような形で実装できるようにする必要があるでしょう。
> 再生できないDirectXのサンプルAVIは”IndeoR video 5”となっていました。
XP とかであれば、IndeoR video 5のデコーダはおまけてついてくる
はずです。ひょっとしてOSが98とか?
たまにAVIファイルが壊れて再生できないこともあるみたいですが。
>解凍部分をプラグインのような形で実装できるようにする必要があるでしょう。
BorlandC++ BuilderでAVIファイルの再生プログラムを作成したときは、何も考えずに
できてしまった、という感じだったので、難しく感じます。
プラグインとは、MediaPlayerなどのようなことを言うのですよね?では、私のような
初心者が手を出すのは早すぎるのでしょうか・・・
>XP とかであれば、IndeoR video 5のデコーダはおまけてついてくる
はずです
OSはXPを使用しています。IndeoR video5に対応していると思うのですが・・・
AVIファイル自体が壊れているのでしょうか。