MATLAB 讀取AVI視頻出現錯誤: Unable to locate decompressor to decompress video stream。
錯誤如下:
mov=aviread('1.avi'); ??? Unable to locate decompressor to decompress video stream Error in ==> aviread at 63 X = readavi(info.Filename,-1); |
解決方案有2個:
1,下載相應的解碼器,對AVI檔案進行解碼,再讀取;檔案格式和對應的解碼器可通過一下語句:
aviinfo('1.avi')
ans =
Filename: 'cctv052x2004080516x01638.avi'
FileSize: 125272
FileModDate: '20-Jun-2005 08:38:30'
NumFrames: 53
FramesPerSecond: 10
Width: 320
Height: 240
ImageType: 'truecolor'
VideoCompression: 'MPG4'
Quality: 4.2950e+007
NumColormapEntries: 0
可以看出,本avi檔案可以通過下載安裝MPG4 Video compression 解碼器,matlab中可以正常運行,並沒有錯誤報表,但是讀出來的視頻檔案大部分像素是, 出現大幅黑色的。。。。
不知道為什麼,可以解碼出視頻檔案的大小,幀數目等資訊,不知道為什麼是黑色的。。。鬱悶。。無奈之下,暫時選擇第二種解決方案。。
下載各種視頻解碼器的地址:http://www.moviecodec.com/videocodecs.html
2、另一種方法是採用一些視頻轉換軟體,將實驗用的AVI檔案轉成MATLAB支援的格式。
例如採用winAVI 9.0這個軟體,選擇編碼格式ZJMedia Uncompress RGB24,轉換成新檔案後再實驗則可通過。