首先介绍一下gstreamer-0.10
GStreamer的程序通过连接数字媒体处理的元素注入管道(pipeline)。每个元素是由一个插件提供 。 元素可组合为箱(bins),箱可以进一步聚合,从而形成架构图。下图是一个例子一个过滤器图表 。
元素沟通是通过垫(pads)。来源垫(source pad)上一个元素可以被连接到一个接收垫(sink pad)在另一个。当管道是在播放状态,数据缓冲流(data buffers flow)从来源垫(source pad)流向接收垫(sink pad)。
该图可以体现出如何使用GStreamer播放MP3文件。该文件的源读取 MP3文件从一台计算机的硬盘驱动程序,并将其发送到MP3解码器。解码器解码该MP3数据,并转换成PCM,然后传递到ALSA声音驱动。ALSA的声卡驱动程序发送 PCM声音样本,最后从电脑的扬声器播放。
详细内容我们可以去维基百科查阅
https://zh.wikipedia.org/wiki/GStreamer
在linux我们在使用matlab进行视频处理的时候,有时候我们需要读入各种各样格式的视频,在没有相应的解码器的时候,我们是无法正确读入数据的。所以要正确安装gstreamer才能实现各种格式视频的正确读取。
现在我们安装mpeg的解码器
sudo add-apt-repository ppa:mc3man/gstffmpeg-keep
sudo apt-get update
sudo apt-get install gstreamer0.10-ffmpeg