1

Matlab で AVI ファイルを読みたいです。このリンクに従って試してみました: http://inside.mines.edu/~whoff/courses/EENG512/lectures/other/Matlab_movies.pdf :

clear all
close all
movieObj = VideoReader('ap001_BL0_SP2_cam03_compressed.avi'); % open file
get(movieObj) % display all information about movie
nFrames = movieObj.NumberOfFrames; %shows 310 in my case
for iFrame=1:2:nFrames
    I = read(movieObj,iFrame); % get one RGB image
    imshow(I,[]); % Display image
end

次のエラーが表示されます。

VideoReader/read の使用エラー (145 行目) 要求されたフレーム インデックスがファイルの終わりを超えています。

test_video_read のエラー (9 行目) I = read(movieObj,iFrame); % RGB 画像を 1 つ取得する

(短縮) 「get(movieObj)」からの出力は次のとおりです。

General Settings: 
   Duration = 10.3333
   Name = ap001_BL0_SP2_cam03_compressed.avi
   Type = VideoReader

Video Settings:
   BitsPerPixel = 24
   FrameRate = 30
   Height = 1280
   NumberOfFrames = 310
   VideoFormat = RGB24
   Width = 960

310 が利用可能であるため、最初のフレームを読み取ることができるはずです。AVI ファイルは VLC-Player で再生できるので、コーデックはインストールされているはずですよね?

Windows 7 で MATLAB R2013a を使用しています。

4

2 に答える 2

2

VLC プレーヤーは、ffmpeg コーデックを使用して構築されています。VideoReader は、Windows プラットフォーム API であり、ffmpeg とは異なる DirectShow および Media Foundation API を使用します。そのため、ファイルが VLC を使用して再生される場合、VideoReader によって開かれることは保証されません。あなたができることのカップル:

  1. Windows Media Player でファイルを表示できますか? その場合、ほとんどの場合、VideoReader で動作するはずです。そうでない場合は、適切なコーデックがありません。ffsdhow または K-lite コーデック パックをインストールしてみてください。
  2. ファイルが Windows Media Player で動作するが、VideoReader がサポートしていない場合は、バグを示している可能性があります。過去にうまくいった回避策は、上記のコーデックをインストールして、もう一度試してみることです。
  3. (1) と (2) で問題が解決しない場合は、ハンドブレーキや Mirro などのソフトウェアを使用してファイルを MP4 にトランスコードし、VideoReader で動作します。

お役に立てれば。

ディネッシュ

于 2015-10-12T13:48:27.150 に答える
1

いくつかの avi ファイルを使用して Matlab コードをテストしましたが、問題はありません。したがって、エラーの原因はaviファイルだと思います。

私の(mp4)ムービーはどのメディアプレーヤーでも再生できますが、matlabではそれらを開くことができません。私の場合、問題はmp4ムービーがコンパイルされたときのピクセル形式です(ffmpegによって)。デフォルトでは、ムービーは High 4:4:4 Predictive (yuv444p) 形式でコンパイルされましたが、Matlab ではこれを処理できません。古いピクセル形式 (yuv420p) に切り替えたとき、ムービーを Matlab に読み込むのに問題はありません。

これが ffmpeg の一部である ffprobe を使用して問題であるかどうかを確認でき、 https://www.ffmpeg.orgからダウンロードできます。

それ以外の場合は、圧縮されていない avi で試しましたか?

于 2015-10-12T05:59:31.763 に答える