gstreamer教程(5)——构建应用之element的使用

news/2024/11/15 20:39:26/文章来源:https://www.cnblogs.com/a4234613/p/18384300

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 元素实现。汇元素的可视化显示汇元素。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/788443.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【VMware VCF】VCF 5.2:挂载远程 vSAN 数据存储。

VMware vSAN 解决方案中,为了充分利用 vSAN HCI 集群内的存储资源, vSAN HCI 和 vSAN HCI 集群之间可以相互共享存储资源,这种解决方案早期叫 vSAN HCI Mesh,现在被称为具有数据存储共享的 vSAN HCI(vSAN HCI with datastore sharing)。VMware vSAN 集群根据主机磁盘的组…

适用于多语言的VScode配置教程:同一文件夹内支持C++, JAVA, Python

前言 VScode作为一款强大的文本编辑器,只要配置恰当,便可以同时在一个环境内编译多种语言的文件。本文简要给出一种同时支持C++, Python, Java的配置方式(windows平台)。 配置格式 1.创建工作区并建立如图的文件夹及文件结构其中包括vscode的配置文件夹.vscode, 以及其他三…

ts---基础语法及使用

ts的使用: 第一步:安装npm config set registry https://registry.npmmirror.comnpm install -g typescript安装成功后,可以检查是否安装成功:tsc -v一、变量的类型 1、任意类型 any 声明为 any 的变量可以赋予任意类型的值。 2、数字类型 number 双精度 64 位浮点值。它可…

Multipass虚拟机ssh登录(密码方式)

Multipass 虚拟机 ssh 登录(密码方式)Multipass 虚拟机 ssh 登录(密码方式)[!NOTE] 以 Ubuntu 24,04 LTS 为例准备工作为了演示新建一个示例虚拟机。multipass launch --name vm01 -c 4 -m 4G -d 100G --network bridged操作步骤 进入虚拟机 multipass shell vm01设置密码 …

Asp.Net Core中Typed HttpClient高级用法

另一个常见的需求是根据不同的服务接口创建不同的HttpClient实例。为了实现这一点,ASP.NET Core提供了Typed HttpClient的支持。 下面是使用Typed HttpClient的示例代码: public interface IExampleService {Task<string> GetData(); }public class ExampleService : I…

win10的自动更新在哪,怎么打开电脑更新设置

在Windows 10系统中,自动更新的设置位置相对直观,用户可以按照以下步骤找到并配置自动更新设置: 一、通过设置界面找到自动更新 1.打开设置:点击屏幕左下角的“开始”按钮,然后选择“设置”(齿轮形状的图标)或者直接按下Win + I快捷键打开设置应用。 2.进入更新和安全:…

RapidCMS 几个常见漏洞

侵权声明 本文章中的所有内容(包括但不限于文字、图像和其他媒体)仅供教育和参考目的。如果在本文章中使用了任何受版权保护的材料,我们满怀敬意地承认该内容的版权归原作者所有。 如果您是版权持有人,并且认为您的作品被侵犯,请通过以下方式与我们联系: [360619623@qq.c…

Cloud Studio:颠覆传统的云端开发与学习解决方案

Cloud Studio 的推出无疑为开发者和学习者们提供了一种全新的工作和学习体验。作为一款基于浏览器的集成开发环境,它不仅让开发者能够随时随地访问自己的开发工具,还极大地简化了开发过程。无论是初学者还是经验丰富的开发者,Cloud Studio 都通过其全面的功能和丰富的资源,…

Linux上网配置-CentOS7

上网配置思路1.确认虚拟机的网络适配器为桥接模式 2.网卡配置文件是否存在并启用网卡接口 3.网卡配置文件详解:静态IP地址、子网掩码、默认网关、物理地址以及 DNS 4.局域网的其他物理机能远程该虚拟机 5.虚拟机ping通外网一、确认虚拟机的网络适配器为桥接模式问题1.为什么要…

【开源】用香橙派Zero 2W做电视机顶盒

先前用闲置的香橙派3 LTS做了一个电视机顶盒,不需要画电路,加上3D打印的外壳就好了。最近又有闲置的香橙派Zero 2W,功耗低又很小巧,忍不住又想拿来做机顶盒。香橙派Zero 2W算是个核心板,需要配一个扩展板才能得到RJ-45百兆网口、A型USB 2.0接口、红外接收头等接口。官方有…

接口获取文件流VUE转换为blob展示图片

接口获取文件流VUE转换为blob展示图片 vue通过接口获取图片文件流<template><el-image :src="imgurl" alt="资源访问失败" width="80%" height="80%" style="display: block" /> </template> <script …