首页 > 其他分享 >gstreamer教程(5)——构建应用之element的使用

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

时间:2024-08-28 11:25:44浏览次数:9  
标签:滤波器 教程 gstreamer 元素 element source pad sink

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

 

标签:滤波器,教程,gstreamer,元素,element,source,pad,sink
From: https://www.cnblogs.com/a4234613/p/18384300

相关文章

  • 安装python教程详解-(Linux和Windows11安装python)
    一、Linux编译安装Python3.12.5python官网地址:WelcometoPython.org1.1安装python环境1.1.1安装开发工具包和依赖#yum-ygroupinstall"DevelopmentTools" #yum-yinstallgcczlibzlib-devellibffilibffi-develreadline-developenssl-developenssl11ope......
  • 在低显存GPU上运行PixArt-Σ/Flux.1图像生成:Python简短教程
    由PixArt-Σ在本地生成,所需显存不超过8Gb。图像生成工具的热度从未如此高涨,而且它们也变得越来越强大。像PixArtSigma和Flux.1这样的模型处于领先地位,这得益于它们的开源权重模型和宽松的许可协议。这种设置允许进行创造性的尝试,包括在不共享计算机外部数据的情况下训练LoRA......
  • gstreamer教程(4)——构建应用之gstreamer的初始化
    学习内容:通过构建应用学习,我们将讨论GStreamer的基本概念和最常用的对象,例如element、pad和buffer。我们将使用这些对象的可视化表示形式,以便我们可以可视化您稍后将学习构建的更复杂的pipeline。您将初步了解GStreamerAPI,它应该足以构建基本应用程序。在本部分的后面部......
  • Linux零基础到精通(二)-vmware虚拟机使用教程及Centos7操作系统安装
    目录前言Linux操作系统运用领域vmware虚拟机安装与使用电脑硬件环境要求vmware虚拟机软件安装创建一个虚拟机配置vmware的虚拟化网络通过vmware虚拟机安装操作系统下载Centos7系统镜像安装Centos7操作系统配置网络和主机名称信息配置系统分区软件包选择设置用户密码进......
  • pdf数字证书签名怎么弄?对PDF文档进行数字签名教程
    数字签名与传统的手写签名一样,必须验证签署文件中签名人身份的真实性。对PDF文档进行数字签名必须确认以下两点:一是文件的确是由签名者签署;二是文件内容自签发后到收到为止未曾做过任何修改。文档签名证书不仅可以验证签名者的真实身份,还可以确保电子文档的完整性和可靠性。接......
  • 《黑悟空》新手教程:迈出成为孙悟空的第一步欢迎来到《黑悟空》的奇幻世界!
                    在这款游戏中,你将扮演西游记中的经典角色——孙悟空,经历一场惊心动魄的冒险。本教程将带你了解游戏的基本操作、角色成长、战斗系统等,帮助你快速上手,成为真正的美猴王!##一、游戏基本操作###1.移动使用左摇杆控制孙悟空的移动。长按移动......
  • ubuntu环境下部署LNMP集成环境超详细图文教程
    ubuntu系统下安装LNMP集成环境一、Nginx安装二、安装及配置MySQL数据库修改密码三、安装PHP四、配置Nginx服务​编辑五、配置PHP 本文使用的Ubuntu版本为20.04。php开发中集成环境的安装是必不可少的技能。而LNMP代表的是:Linux系统下Nginx+MySQL+PHP这种网站服务器......
  • 安装虚拟机(VMware)教程
    VMware-虚拟机使用一、VMware介绍二、VMware下载三、VMware安装1.第一步,点击安装的*.exe文件,出现以下画面2.第二步,点击下一步,到选择安装的路径,默认安装和自定义安装3.第三步,点击安装,开始安装4.第四步、安装完成三、VMware使用1.打开VMware,先试用30天免费秘钥2.打......
  • JdbcTemplate教程:JdbcTemplate连接MySQL数据库从入门到进阶
    一、入门了解JDBC概念:JDBC(JavaDataBaseConnectivity):Java数据库连接技术:具体讲就是通过Java连接数据库,并且可以通过发送SQL指令,实现对表中数据执行增、删、改、查等操作的技术。原生JDBC编程(了解一下):        查询t_user表(包括字段:user_id,username,password)中的......
  • vue.js3+element-plus+typescript add,edit,del,search
     vite.config.tsserver:{cors:true,//默认启用并允许任何源host:'0.0.0.0',//这个用于启动port:5110,//指定启动端口open:true,//启动后是否自动打开浏览器proxy:{'/api':{target:'http://localhost:8081/',//实际请求地址......