なぜ AVI ファイルを読み込むことができないのですか?

47 visualizzazioni (ultimi 30 giorni)
MathWorks Support Team
MathWorks Support Team il 1 Ago 2011
Windows XP 64-bit 上で 64-bit MATLAB を使用しています。32-bit MATLAB で特定のコーデック(たとえば、 Cinepak コーデック)を使って AVI を作成しました。それを同じマシンの 64-bit MATLAB上で AVIREAD を使って読み込もうとしたところ、下記のエラーが出力されました。
(エラーメッセージ)
ERROR: ??? Error using ==> readavi
Unable to locate decompressor to decompress video stream
64-bit MATLAB にてこのコーデックを使って、AVI ファイルにフレームを追加する際に、ADDFRAME を使用すると、同様のエラーが出力されました。しかし、同じマシン上の Windows Media Player を使用するとこのファイルを再生することができます。また、64 bit MATLAB 上で XVID コーデックを使ったファイル上で、MMREADER を使用しようとしたところ、下記のエラーが出力されました。
(エラーメッセージ)
ERROR: ??? Initialization failed. (No combination of intermediate filters could be found to make the
connection.)
Error in ==> mmreader.mmreader>mmreader.init at 364
obj.MMReaderImpl = audiovideo.mmreader(fullName);
Error in ==> mmreader.mmreader>mmreader.mmreader at 133
obj.init(fileName);
MMREADER は、32 bit MATLAB 上では、問題なく動きます。また、同じマシン上の Windows Media Player 上からは再生できます。

Risposta accettata

MathWorks Support Team
MathWorks Support Team il 26 Mar 2023
Modificato: MathWorks Support Team il 27 Mar 2023
コーデックのライブラリには、32-bit 用と 64-bit 用があります。32-bit ライブラリは、MATLAB の 32 bit モードのように、32-bit アプリケーションによって使用されます。そして、64-bit ライブラリは、64-bit MATLABユーザが実行するように、64-bit アプリケーションによって使用されます。各バージョンで作成されたビデオファイルは、プレイヤーがそのシステム上の対応する 32-bit あるいは、64-bit コーデックにアクセスする限り、任意の他のシステム(他のマシン上のWindows Media Playerを使用したりなど )上で実行することができます。
このエラーメッセージは、与えられた AVI ファイルを読み込むために要求されたコーデックが、コンピューターにインストールされていない際に生じます。たとえば、Cinepak コーデックの iccvid.dll は、32-bit ディストリビューションのみです。一方、32-bit MATLAB と他の 32-bit アプリケーションは、Cinepak 圧縮を使用して AVI ファイルをプレイしたり作成することができます。
回避策としては、次の2つのオプションがあります。
1. 64-bit MATLAB の代わりに32-bit MATLAB を使用します。これは、%SYSTEMROOT%\system32 の下にリストされているコーデックを見つけることができます。そして、簡単な操作で圧縮された AVI ファイルを作成できる観点から、一般的に、ユーザーの要求に合っています。
代替案としては、コンピュータ上で利用可能なインストールされている64-bitバージョンのコーデックで、AVI ファイルを作成することです。
このアプローチの短所は、32-bit アプリケーションの制限がある点です。また、MATLABの異なるバージョンをインストールしなければなりません。
2. 最初に非圧縮 AVI ファイルを 64-bit MATLAB を使って作成し、その後、VirtualDub のようなオープンソースのサードパーティのツールを使用して、プログラム的にあるいは、インターラクティブにAVIファイルを圧縮します。VirtualDub の強味は、コーデックの開発と MPEG-4 のような多くのポピュラーなコーデックへのアクセスです。
一般的に、似通ったエラーが任意のコーデックを使用した際に得られる場合は、次をチェックしてください。
1. コンピュータ上に、適切なコーデックがインストールされているかどうか。つまり、ご利用のマシン上で利用可能なコーデックに対応したドライバー(.DLLファイル)がインストールされているかどうかをチェックしてください。注目すべきは、Windows 64-bit XP マシンのバイ、32-bit コーデックがインストールされているリストが、下記にございます。
%SYSTEMROOT%\syswow64
一方、64-bit コーデックのリス後は、下記よりご覧いただけます。
%SYSTEMROOT%\system32
Q. SysWOW64 ディレクトリとは何ですか?
A. \Windows\SysWOW64 ディレクトリは、ここでは、32-bit システムファイルがインストールされているディレクトリです。64-bit システムファイルは、互換性の理由より、\Windows\system32 にございます。
64-bitWindows マシンでは、インストールされている 64-bit コーデックのリストが、Windows System Tools ユーティリティからもリストできます。
(Start button=> Programs=> Accessories => System tools =>System Information => Components => Multimedia => Video Codecs)
2. 他のメディアプレーヤーが、32-bit や 64-bit バージョンのファイルがプレイできるかどうかをテストしてください。Windows Medeia Playe rの場合、これは、wmplayer.exe ファイルの場所からテストすることができます。Windows Media Player 11 の場合、32 および 64-bit バージョンの wmplayer.exe が %ProgramFiles (x86)%/Windows Media Player と %ProgramFiles%/Windows Media Player フォルダーにあります。もし両方のバージョンがインストールされている場合は、上記のフォルダの各々から wmplayer.exe を立ち上げることができます。

Più risposte (0)

Tag

Non è stata ancora inserito alcun tag.

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!