记录Gstreamer的uridecodebin可以自动选择硬解码器

记录:

uridecodebin3 和uridecodebin优先硬解码

        这两个插件,本来是负责动态选择合适的解码器来处理特定的媒体流,使用案例:

        gst-launch-1.0 uridecodebin uri=rtsp://192.168.1.120:8554/test  ! glimagesink  -v

        gst-launch-1.0 uridecodebin3 uri=file:///home/enpht/Videos/1080p_60fps.h264 ! glimagesink 

        gst-launch-1.0 uridecodebin3 uri=file:///home/enpht/Videos/1080p_60fps.mp4 ! glimagesink  

        刚开始,我以为使用的解码器默认是软解码,但是后来测试发现,其实会根据平台进行选择,优先硬件加速,这个功能,目前支持多个平台,包括了我常用的英伟达和RK3588的平台。根据平台自动选择解码器,优先使用硬解码,无需自己设置。

        证据:

使用gst-launch-1.0 uridecodebin uri=rtsp://192.168.1.120:8554/test  ! glimagesink  -v 打印信息:

   如果是在rk3588的板子上,会发现解码器是MppVIdeoDec,如果是虚拟机里面是avdec,查看CPU占用,发现确实CPU占用不高。

decodebin和decodebin3的作用

        但是uridecodebin主要作用是解析链接,以及选择解码器,但有时候它会生成多个输出流(pads),每个输出流对应媒体流中的一个媒体类型(如视频、音频、字幕等)。这时候就需要使用 decodebin 元素来处理这些输出流。

        如果输出的是单路数据流,不需要增加decodebin,如果有多个视频流和音频流组成,需要增加decodebin 。

gst-launch-1.0 uridecodebin uri=rtsp://192.168.1.120:8554/test  ! uridecodebin ! glimagesink  -v

gst-launch-1.0 uridecodebin3 uri=file:///home/enpht/Videos/1080p_60fps.h264 ! uridecodebin ! glimagesink 

gst-launch-1.0 uridecodebin3 uri=file:///home/enpht/Videos/1080p_60fps.mp4 ! uridecodebin ! glimagesink

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

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

相关文章

Linux通用LInux高危漏洞(CVE-2024-1086)修复案例

一、漏洞描述 2024年3月28日,监 Linux kernel权限提升漏洞(CVE-2024-1086)的PoC/EXP在互联网上公开,该漏洞的CVSS评分为7.8,目前漏洞细节已经公开披露,美国网络安全与基础设施安全局(CISA&…

Java高手的30k之路|面试宝典|精通项目介绍方法优化简历项目介绍

常用项目介绍结构及原因 以下是几个常用的项目介绍结构,以及为什么使用这些结构的原因: 1. STAR 方法 Situation(情境):项目的背景和情况。 Task(任务):你需要完成的任务。 Actio…

每天一学(2)

目录 1、线程池是如何知道线程任务是否完成 2、阻塞队列的有界和无界 3、ConcurrentHashMap底层实现原理 5、CAS机制 6、wait 和 notify 为什么要放在 synchronized 1、线程池是如何知道线程任务是否完成 线程池内部: 当把任务丢给线程池去执行,调度工作…

【UE5.3】笔记4-自定义材质蓝图

正常来说,我们都是拿到什么材质用什么材质,那么我们如何去创建自定义的材质呢? 首先,创建MyMaterials文件夹用来存放我们自制的材质; 然后,右键创建一个材质,起个名字,双击打开&am…

Linux-笔记 全志平台休眠功能初探

前言 全志平台支持的休眠功能主要包括两种模式:休眠模式和待机模式。这两种模式用于降低设备的功耗,并在需要时快速恢复工作状态。由于平台为T113,所以可以很方便的使用RTC来做唤醒源。唤醒源指的是能够让系统从休眠状态恢复到工作状态的信号…

必看-OpenStack面试攻略:揭秘企业最爱问的几个问题

问题:什么是OpenStack? 答案:OpenStack是一系列开源软件组成的云供给软件,用于构建和管理云计算平台。它允许企业或组织在自己的硬件上建立和管理云基础设施,并提供类似于公有云的弹性可扩展资源。 问题:O…

【Linux】Linux基础开发工具(yum)

Linux 软件包管理器 yum 什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安 装程序)放在一个服务器上, 通过包管理器可以很方便…

破坏人工智能

破坏人工智能 我一直在努力表达这个想法,也许问题是,一旦你把它放在那里,它实际上是很简单的,一旦你把想法写在纸上,真的没有很好的理由去解开整个案例。 我正在远离衡量和修复不公平的算法系统,或使它们…

不同材质的不锈钢氮气柜优缺点和使用场景分析

不锈钢氮气柜是一种用于存储对湿度敏感的物品的专用储藏设备,通过充入干燥的氮气来降低柜内湿度,保护存储物免受氧化或腐蚀。 根据不同的材质,不锈钢氮气柜可分为: 一、201不锈钢氮气柜: 201不锈钢因其较低的镍含量而成…

【第14章】探索新技术:如何自学SD3模型(找官方资料/精读/下载/安装/3款工作流/效果测试)ComfyUI基础入门教程

近期,也就是2024年6月12日,StabilityAI开源了最新的SD3模型的2B版本,而神奇的是,ComfyUI早在6月11号就已经适配了SD3!相比之下,SD WebUI 的更新速度却远远落后... 所以,如果想要尝试一些AI绘画领域的新技术,ComfyUI是一个非常值得投入时间学习的工具。 这节课,我们就…

防火墙虚拟系统

防火墙虚拟系统 防火墙虚拟系统的应用场景 大中型企业的网络隔离 通过防火墙的虚拟系统将网络隔离为研发部门、财经部门和行政部门。各部门之间可以根据权限互相访问,不同部门的管理员权限区分明确。 云计算中心的安全网关 通过配置虚拟系统,可让部署…

Sequelize的拓展

前言 基于上一篇Sequelize的基本操作后的一些补充扩展 一.分页查询 在查看详情的接口中进行整改 router.get(/, async function (req, res, next) {try {const query req.queryconst currentPage Math.abs(Number(query.currentPage)) || 1const pageSize Math.abs(Numb…

[XYCTF新生赛2024]-PWN:ptmalloc2 it‘s myheap plus解析(glibc2.35,堆中的栈迁移,orw)

查看保护 查看ida 思路: 泄露libc和堆地址就不多说了,fastbin duf也不解释了。这里主要是利用fastbin duf在environ附近创建堆块,泄露environ中的栈地址,然后就利用fastbin duf修改rbp和返回地址进行栈迁移了,迁移目标…

优化Docker部署:解决Java应用ExcelGenerateException并提速镜像构建

在开发和部署应用时,经常会遇到在本地环境运行正常,但迁移到Docker容器后出现特定错误的情况。本篇博客将聚焦于解决一个具体问题:当使用Docker部署包含Excel生成功能的Java应用程序时,遇到ExcelGenerateException的排查与解决方法…

Android SurfaceFlinger——注册监听底层调用(八)

通过上一篇文章的分析,能够发现其实 registerCallback 在 HWC2On1Adapter(也是 hwc2_device_t)中做的事情仅仅只是把当前的方法指针和回调类型存储起来,同时让刚注册进来的监听消费掉还没有回调上去的消息。其实真正从硬件回调上来的地方其实是 HWC2On1Adapter::Callback 中…

Xcode安装Simulator失败问题解决方法

Xcode安装Simulator_Runtime失败,安装包离线安装保姆级教程 Xcode更新之后有时候会提示要安装模拟器运行时环境,但是用Xcode更新会因为网络原因,我觉得基本上就是因为苹果服务器的连接不稳定导致的,更可气的是不支持断点续…

数据结构与算法笔记:高级篇 - 概率统计:如何利用朴素贝叶斯算法过滤垃圾短信?

概述 上篇文章我们讲到,如何用位图、布隆过滤器,来过滤重复数据。本章,我们再讲一个跟过滤相关的问题,如果过滤垃圾短信? 垃圾短信和骚扰电话,我想每个人都收到过吧?买房、贷款、投资理财、开…

第十六章:基于开源大模型使用huggingface在deepspeed与accelerator下继承源码权重保存而实现resume与infer

文章目录 前言一、huggingface的_save_checkpoint函数不同阶段保存内容介绍1、_save_checkpoint函数2、save_model函数3、_save函数4、save_pretrained函数5、resume说明二、模型训练Resume相关内容重载1、Resume的一次性权重载入(deepspeed_load_checkpoint)2、Resume的optimi…

Git 冲突处理指南:恢复 Git Reset

⭐️我叫忆_恒心,一名喜欢书写博客的研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三连支…

【Liunx-后端开发软件安装】Liunx安装FDFS并整合nginx

【Liunx-后端开发软件安装】Liunx安装nacos 文章中涉及的相关fdfs相关软件安装包请点击下载: https://download.csdn.net/download/weixin_49051190/89471122 一、简介 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括…