Element 元素:
对于应用程序程序员来说, GstElement
对象是GStreamer 中最重要的对象。element (元素)是媒体Pipeline的基本构建块。您使用的所有不同的高级组件都派生自 GstElement
。每个解码器、编码器、解复用器、视频或音频输出事实上都是一个 GstElement。
什么是元素:
对于应用程序程序员来说,element (元素)最好可视化为黑盒。在一端,你可能会放一些东西进去,元素对它做一些事情,又从另一端出来。例如,对于 decoder element(解码器元素),您放进去编码后的数据,该元素将输出解码后的数据。在下一章(请参阅 Pad和能力)中,您将了解有关element (元素)中的数据输入和输出的更多信息,以及如何在应用程序中进行设置。
Source element 源元素:
Source element(源元素)生成Pipeline使用的数据,例如从磁盘或声卡读取数据。Source element(源元素)显示了我们将如何可视化源元素。我们总是在 Element 的右侧绘制一个 source pad。
Source element(源元素)不接受数据,它们只生成数据。您可以在图中看到这一点,因为它只有一个 source pad (在右侧)。 source pad 只能生成数据。
Filters, convertors, demuxers, muxers and codecs 滤波器、转换器、解复用器、多路复用器和编解码器:
滤波器和类似滤波器的元素同时具有输入和输出焊盘。它们对在 input (sink) pad 上接收到的数据进行操作,并将在其 output (source) pad 上提供数据。此类元素的示例包括音量元素(滤波器)、视频缩放器(转换器)、Ogg 解复用器或 Vorbis 解码器。
类似滤波器的元件可以有任意数量的 source 或 sink 焊盘。例如,视频解复用器将有一个 sink pad 和几个 (1-N) source pad,一个用于容器格式中包含的每个基本流。另一方面,解码器只有一个 source 和 sink pad。
过滤器元素的可视化显示了我们将如何可视化类似过滤器的元素。这个特定的元件有一个 source pad 和一个 sink pad。接收 input 数据的 sink pad 描绘在元素的左侧;源 Pad 仍然位于右侧。
具有多个输出焊盘的滤波器元件的可视化显示另一个类似滤波器的元件,该元件具有多个输出(源)焊盘。例如,此类元素的一个示例可以是包含音频和视频的 Ogg 流的 Ogg 解复用器。一个源 pad 将包含基本视频流,另一个源 pad 将包含基本音频流。Demuxer 通常会在创建新 pad 时触发信号。然后,应用程序程序员可以在 signal 处理程序中处理新的基本流。
Sink elements Sink 元素
接收器元素是媒体管道中的端点。它们接受数据但不产生任何东西。磁盘写入、声卡播放和视频输出都将由 sink 元素实现。汇元素的可视化显示汇元素。