目标
本教程介绍了使用GStreamer所需的其余基本概念,这些概念允许在信息可用时“动态”构建pipeline,而不是在应用程序开始时定义一个整体式管道。
学习完本教程之后,您将具有开始播放教程的必要知识 。这里的要点是:
-
连接element时如何获得更好的控制。
-
如何收到有趣事件的通知,以便您及时做出反应。
-
element可以处于的各种状态。
介绍
在这篇教程里的pipeline并非在运行前就全部创建结束的。放松一下,这样做没有任何问题。如果我们不进行更深入的处理,那么数据在到达pipeline的末尾时就直接丢弃了,当然,我们肯定会进行深入处理的。。。
在这个例子中,我们会打开一个已经包含了音视频的文件(container file)。负责打开这样的容器文件的element叫做demuxer,我们常见的容器格式包括MKV、QT、MOV、Ogg还有ASF、WMV、WMA等等。
在一个容器中可能包含多个流(比如:一路视频,两路音频),demuxer会把他们分离开来,然后从不同的输出口送出来。这