问题
Linux播放视频时会报错:
The following plugins are required : MPEG-4-AAC decoder and H.264 decoder...
在Matlab里面处理视频会报错:
error using vision.VideoFileReader
实际上在Linux中播放视频需要编码器,只要在Linux中可以播放视频,那么在Matlab里面自然就可以处理视频。
思路
根据Matlab官方的文档的提示,可以安装Gstreamer,这里提示安装的是1.0以上,实际上0.10版本也是可以的,且两个版本之间可以同时安装,并不会互相影响。
解决办法
安装gstreamer以及相应的解码器:
$ cd /usr/local/
$ sudo wget https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
$ sudo yum localinstall rpmfusion-free-release-7.noarch.rpm
$ sudo yum install gstreamer-ffmpeg
在安装gstreamer-ffmpeg的时候,来源repository是rpmfusion
并提示是否要安装rpmfusion
因此在安装gstreamer-ffmpeg的时候需要连续两个‘y’
安装完之后查看安装了哪些内容
$ rpm -ql gstreamer-ffmpeg
可以看到主要是三个放在lib64中的so文件:
此时应该可以正常播放视频,也可以在matlab中处理视频。记得重启Matlab
如果依然没法播放视频,试试将这三个so文件复制到/usr/libexec/gstreamer-0.10目录下面。
$ cp /usr/lib64/gstreamer-0.10/libgstffmpeg.so /usr/libexec/gstreamer-0.10
$ cp /usr/lib64/gstreamer-0.10/libgstffmpegscale.so /usr/libexec/gstreamer-0.10
$ cp /usr/lib64/gstreamer-0.10/libgstpostproc.so /usr/libexec/gstreamer-0.10
其他原因
还有可能是因为没有安装GNOME。