代码:
A = aviread('firstAttempt_1395344631.avi');
回应:
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');
有什么建议吗?我无法使用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');
答案 0 :(得分:10)
问题是虽然VideoReader
支持压缩视频,但从Unix运行时它不支持压缩视频。如果您使用(已弃用)aviread
,它将显示以下错误消息:
Error using aviread (line 147)
Only uncompressed AVI movies can be read on UNIX.
幸运的是,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
我自己尝试了,新文件(例如,output.avi
)仍无法与aviread
一起使用,但现在它可以与VideoReader
一起使用。简单!
答案 1 :(得分:0)
你试过直接运行吗? -
A = VideoReader('firstAttempt_1395344631.avi');
据我所知,VideoReader
也支持压缩视频。看一下它的文档here。
这将创建A
作为多媒体阅读器对象,它基本上是一个结构,它保存所有帧的数据,以及有关视频的信息,如帧速率,分辨率,帧数等。
查看here以获取帧特定处理的一些示例,以及如何访问包含与视频相关联的元数据的reader对象的不同组件。
答案 2 :(得分:0)
最好使用{avatead使用VideoReader
函数读取.avi视频文件。 VideoReader
函数可以提供视频对象。