摘要:
调试记录 GStreamer和插件里面都有大量的调试信息,也就是说,在调试区域内可以给出所有的信息,包括时间戳,线程,种类,源文件名,函数名等等。 调试输出的控制是在一个GST_DEBUG的环境变量控制的,这里给出一个例子,GST_DEBUG=2: 0:00:00.868050000 1592 09 阅读全文
摘要:
介绍 这些工具就位于SDK的bin目录下。你需要把这个目录加入PATH变量,或者把当前目前目录切换到GStreamer SDK的bin目录。 为了防止多个版本的GStreamer都安装导致的冲突,所有的工具都是有版本的,他们的名字后面跟着GStreamer的版本号。因为这个版本的SDK是1.0,所以 阅读全文
摘要:
介绍 GstDiscover是一个在pbutils库提供的工具,接受输入URI或者URI列表,返回它们的信息。这个工具可以工作在同步或者异步模式下。 在同步模式下,只有一个API可以用,就是gst_discoverer_discover_uri(),这个API会阻塞线程直到得到需要的信息。因为阻塞会 阅读全文
摘要:
介绍 有几种方法可以让应用通过pipeline和数据流交互。本教程讲述了最简单的一种,因为使用了专门为这个而创建的element。 专门让应用可以往pipeline里面传入数据的element时appsrc,而appsink就正好相反,让应用可以从pipeline中获得数据。为了避免混淆,我们可以这 阅读全文
摘要:
介绍 多线程 GStreamer是一个支持多线程的框架。这就说明,如果有必要它会在内部自动创建/销毁线程。比如:在应用线程中把流解出来。而且,plugin在自身也可以任意的创建线程,比如一个视频解码器为了充分利用4核CPU的能力,可以创建4个线程。 这里最重要的是,当应用在建立pipeline时可以 阅读全文
摘要:
介绍 Pads Pads允许信息进入或者离开一个element。这个Capabilities(或者简单地叫做Caps)就是指定哪些信息可以通过Pad来传输。例如:RGB视频,尺寸为320x200并且每秒30帧或者16位的音频采样,5.1声道,每秒采样44.1k,甚至可以是类似于mp3/h264之类的 阅读全文