在MATLAB R2015b中执行以下命令:
obj = VideoReader('traffic.avi');
导致以下错误:
Error using VideoReader/init (line 619)
The VideoReader plugin libmwgstreamerplugin failed to load properly.
Error in VideoReader (line 172)
obj.init(fileName);
我安装了gstreamer0.10,证明:
alexander@alexander-desktop:~/Documents/MATLAB$ gst-
gst-codec-info-0.10 gst-inspect-0.10 gst-visualise-0.10
gst-discoverer-0.10 gst-launch-0.10 gst-xmlinspect-0.10
gst-feedback-0.10 gst-typefind-0.10 gst-xmllaunch-0.10
我假设我有所需的插件,因为有以下反馈:
alexander@alexander-desktop:~/Documents/MATLAB$ gst-inspect-0.10 | grep avi
ogg: oggaviparse: Ogg AVI parser
typefindfunctions: video/x-msvideo: avi
navigationtest: navigationtest: Video navigation test
avi: avidemux: Avi demuxer
avi: avimux: Avi muxer
avi: avisubtitle: Avi subtitle parser
有人可以帮忙吗?
答案 0 :(得分:3)
这是一个已知问题。您能否在此错误报告中尝试以下解决方法?
http://www.mathworks.com/support/bugreports/1246784
从错误报告链接看,它似乎是MATLAB使用的GLIBC版本以及GStreamer使用的问题。
的Dinesh
答案 1 :(得分:0)
要解决此问题,请将MATLAB®附带的库libstdc ++。so.6的版本替换为系统上的本机版本。
为此,首先要完成以下步骤,以确保系统的libstdc ++。so.6版本高于MATLAB®附带的版本。
在Linux终端中,导航到matlabroot / sys / os / glnxa64并输入以下内容:
ls -l </ p>
MATLAB®附带的库版本应为libstdc ++。so.6.0.17。
导航到/ usr / lib / x86_64-linux-gnu并输入以下内容:
ls -l libstdc ++ *
如果生成的版本高于6.0.17,请继续执行以下步骤。
导航到matlabroot / sys / os / glnxa64。
执行以下操作:
unlink libstdc ++。so.6
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc ++。so.6
重启MATLAB®。