2011-08-27 52 views
2

我想如下Matlab中加载WMV视频:Matlab的:加载WMV视频文件

vidObj = mmreader('video.wmv'); 

不过,我收到以下错误:

The file requires the following codec(s) to be installed on your system: video/x-ms-asf 

我不明白为什么我收到这个错误,因为我可以在我的系统上播放wmv文件。我在Ubuntu 11.04上运行Matlab 7.10.0(R2010a)。我该如何解决这个问题?

+1

您是否检查过您是否安装了用于Gstreamer的plug-ugly? 'mmreader'使用gstreamer请参阅:http://www.mathworks.com/help/releases/R2010a/techdoc/ref/mmreaderclass.html – ephsmith

+0

是的,我有Gstreamer插件,但问题仍然存在。 – Josh

回答

0

这可能很难不可能在Linux系统上运行。或者,您可以编写自己的wmv导入函数(如果您知道如何与Linux系统上的基础库(即vlc)交谈)。

+0

感谢您的回答。我放弃了这个问题,因为很明显,任何可行的方法都是非常麻烦的(如果可能的话)。相反,对于我所面临的问题,我只是用一个带有Matlab的Windows系统来处理加载的wmv文件。 – Josh

1

由于标准C++库的版本冲突,我收到了相同的错误消息。 我已经在控制台窗口中启动了MATLAB,并确认Gstreamer无法加载插件。

(:26573): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstffmpeg.so': 
/usr/local/MATLAB/2010b/bin/glnx86/../../sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libdirac_encoder.so.0) 

的问题是,MATLAB附带的libstdC++。so.6.0.10和GStreamer的抱怨说,它应该的libstdC++工作。so.6.0.13

所以,你应该更换MATLAB目录符号链接与您的系统中的一个。

$ rm /usr/local/MATLAB/2010b/sys/os/glnx86/libstdc++.so.6 
$ ln -s /usr/lib/libstdc++.so.6 /usr/local/MATLAB/2010b/sys/os/glnx86/libstdc++.so.6