以下文档介绍如何使用vision.VideoFileReader对象读取MJPG压缩的AVI文件。
从视频文件中读取视频帧和音频样本-
对于以前的产品版本,请阅读以下内容以了解任何可能的解决方法:
MATLAB无法使用AVIREAD函数读取MJPG压缩的AVI文件。
无法解压缩该文件,因为它是使用MJPG压缩的。由于用于压缩视频的编解码器与DirectShow兼容,Avired将无法解压缩此视频,因为Avired使用Windows视频(VFW),这是比DirectShow更早的技术。
一些客户报告说,在以下可能的解决方法方面取得的成功有限:
1.有一个商用版本的MJPG解压器,与Avired使用的旧VFW技术一起工作。此编解码器的免费试用版可在此处下载:
解压器的完整版本需要从Pegasus购买。
在某些情况下,使用此解压器时颜色可能不正确。如果遇到此问题,请尝试使用以下代码交换R和B颜色平面:
m=aviread(文件名);
对于ii=1:长度(m)
cdata=m(ii).cdata(:,:,[2 3 1]);
结束
2.另一种解决方法是使用转换工具(如HandyAVI)将MJPG文件转换为AVI文件。输出的电影是未压缩的,MATLAB能够读取它。有关此转换器的更多信息,请访问以下网址: