我正在尝试在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)。我该如何解决这个问题?
让它在Linux系统上工作可能很难甚至不可能。或者,您可以编写自己的wmv导入函数(如果您知道如何与linux系统上的底层库通信,例如vlc)。
由于标准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