matlab 读取视频aviread 报错 Unable to locate decompressor to decompress video stream

matlab 2009 中aviread('some.avi') ,提示 Unable to locate decompressor to decompress video stream

网上的解决方案都说是 缺少对应的解码器,用aviinfo 查看该视频所需要的解码器,是xvid,但是下载了对应的,还是有这个问题,后面又下载了DivX plus,完美解码等等,都不行。

这个网址提供了各种编码格式:http://www.free-codecs.com/guides/FourCC.htm

另一种解决方案是用winavi,把视频解码为未压缩的RGB24真彩色。转换完之后就可以,试了可行,但是转换后的视频文件实在太大了。

最后找到的这个方法是用simlink里的模块转换视频:

利用simulink工具把视频导入,再写成multimedia-file,相当于进行了一次转换,去除了编码。
然后再用aviread函数导入转换后的avi文件,即可。
下图是simulink相关帮助页面,请参照其中的步骤进行转换。

 

matlab 读取视频aviread 报错 Unable to locate decompressor to decompress video stream_第1张图片

 

虽然转换后文件也比较大,这个问题暂时解决。

突然明白,最好的方式是装个matlab2012,直接用VideoReader函数,具体用法可见help。因为这类问题根本不重要,不值得花这么多时间,本来用matlab就是为了节省时间的

 

转载于:https://www.cnblogs.com/tofixer/archive/2013/03/25/2980356.html

你可能感兴趣的:(matlab 读取视频aviread 报错 Unable to locate decompressor to decompress video stream)