无法使用VideoRead将.avi文件读取到matlab

Amy*_*erd 2 matlab avi

码:

A = aviread('firstAttempt_1395344631.avi');
Run Code Online (Sandbox Code Playgroud)

响应:

Error using VideoReader/init (line 447)  
Failed to initialize internal resources.  

Error in VideoReader (line 132)  
            obj.init(fileName);  

Error in untitled (line 1)  
A = VideoReader('firstAttempt_1395344631.avi');  
Run Code Online (Sandbox Code Playgroud)

有什么建议?我无法使用aviread,因为我收到了回复:

Error using aviread (line 148)  
Only uncompressed AVI movies can be read on UNIX.  

Error in untitled (line 1)  
A = aviread('firstAttempt_1395344631.avi');  
Run Code Online (Sandbox Code Playgroud)

Ste*_*hen 10

问题是虽然VideoReader支持压缩视频,但从Unix运行时它不支持压缩视频.如果您使用(已弃用)aviread,它将显示以下错误消息:

Error using aviread (line 147)
Only uncompressed AVI movies can be read on UNIX.
Run Code Online (Sandbox Code Playgroud)

幸运的是,unix有很好的工具.你可以用ffmpeg.在ubuntu linux apt-get install ffmpeg上,如果你有自制软件,请在mac上安装,然后安装brew install ffmpeg.

然后ffmpeg用来解压缩.使用我在谷歌上找到的第一个参考文献(http://forum.doom9.org/archive/index.php/t-121280.html),这样的东西应该有效:

ffmpeg -i input.avs -an -vcodec rawvideo -y output.avi
Run Code Online (Sandbox Code Playgroud)

我自己尝试过,新文件(比方说output.avi)仍然无效,aviread但现在可以使用了VideoReader.简单!