gstreamer+mpp调用硬解码播放视频

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、cpu解码
  • 二、gstreamer+mpp
    • 1.默认已安装
    • 2.没安装必要软件
  • 总结


前言

以前一直在MPP上开发硬解码推理,最近想弄一个盒子支持调用mpp硬解码播放视频的。我使用的盒子是firefly的rk3399,这个板子的cpu说强也不强,说弱也不算太弱。


一、cpu解码

为了对比先使用cpu解码,最典型的就是随便用一个播放器即可,比如vlc。
在这里插入图片描述
这个占用太大了吧,不要说4K了,就算1080p也差点顶不住。

二、gstreamer+mpp

firefly的系统还是可以的,基本上不需要安装什么软件,默认完整版系统都自带了。

1.默认已安装

这个默认你已经安装了所有必要的软件。

gst-play-1.0 --flags=3 --videosink="fpsdisplaysink video-sink=xvimagesink signal-fps-measurements=true text-overlay=false sync=true" <视频文件>

在这里插入图片描述
单看gst明显小太多了,说明调用了硬件解码器(mpp)。

2.没安装必要软件

firefly默认是安装了软件的,其它的系统安装就复杂些。参考我的安装就行了。

ii  gir1.2-gstreamer-1.0:arm64           1.14.5-0ubuntu1~18.04.1firefly1        arm64        GObject introspection data for the GStreamer library
ii  gstreamer1.0-alsa:arm64              1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer plugin for ALSA
ii  gstreamer1.0-doc                     1.14.5-0ubuntu1~18.04.1firefly1        all          GStreamer core documentation and manuals
ii  gstreamer1.0-gl:arm64                1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer plugins for GL
ii  gstreamer1.0-gtk3:arm64              1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer plugin for GTK+3
ii  gstreamer1.0-libav:arm64             1.14.5-0ubuntu1~18.04.1firefly1        arm64        libav plugin for GStreamer
ii  gstreamer1.0-pipewire:arm64          0.2.7-1firefly1                        arm64        GStreamer 1.0 plugin for the PipeWire multimedia server
ii  gstreamer1.0-plugins-bad:arm64       1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer plugins from the "bad" set
ii  gstreamer1.0-plugins-base:arm64      1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer plugins from the "base" set
ii  gstreamer1.0-plugins-base-apps       1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer helper programs from the "base" set
ii  gstreamer1.0-plugins-base-doc        1.14.5-0ubuntu1~18.04.1firefly2        all          GStreamer documentation for plugins from the "base" set
ii  gstreamer1.0-plugins-good:arm64      1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer plugins from the "good" set
ii  gstreamer1.0-plugins-ugly:arm64      1.14.5-0ubuntu1~18.04.1                arm64        GStreamer plugins from the "ugly" set
ii  gstreamer1.0-pulseaudio:arm64        1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer plugin for PulseAudio
ii  gstreamer1.0-rockchip1               1.14.2firefly3                         arm64        The Gstreamer plugins for Rockchip RK3xxx platform.
ii  gstreamer1.0-tools                   1.14.5-0ubuntu1~18.04.1firefly1        arm64        Tools for use with GStreamer
ii  gstreamer1.0-vaapi:arm64             1.14.5-0ubuntu1~ubuntu18.04.1          arm64        VA-API plugins for GStreamer
ii  gstreamer1.0-x:arm64                 1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer plugins for X11 and Pango
ii  libgstreamer-gl1.0-0:arm64           1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer GL libraries
ii  libgstreamer-opencv1.0-0:arm64       1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer OpenCV libraries
ii  libgstreamer-plugins-bad1.0-0:arm64  1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer libraries from the "bad" set
ii  libgstreamer-plugins-base1.0-0:arm64 1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer libraries from the "base" set
ii  libgstreamer-plugins-good1.0-0:arm64 1.14.5-0ubuntu1~18.04.1firefly2        arm64        GStreamer development files for libraries from the "good" set
ii  libgstreamer1.0-0:arm64              1.14.5-0ubuntu1~18.04.1firefly1        arm64        Core GStreamer libraries and elements
ii  libgstreamer1.0-dev:arm64            1.14.5-0ubuntu1~18.04.1firefly1        arm64        GStreamer core development files

总结

1、目前实现了视频播放,接下来研究chrome硬解码和播放器硬解码

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

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

相关文章

跑图像生成模型GAN时,遇到OSError: cannot open resource 报错解决办法

报错信息如下&#xff1a; Traceback (most recent call last): File "/root/autodl-tmp/ssa-gan/pretrain_DAMSM.py", line 276, in <module> count train(dataloader, image_encoder, text_encoder, File "/root/autodl-tmp/ssa-gan/pretrain_DAMSM.py…

QT Creator与QT的下载安装

0.起因/小结&#xff1a; 因为运行项目需要更高版本的QT。 下载了QT 6.2.0&#xff0c;但是里面的gcc&#xff0c;g&#xff0c;gdb是64bit的&#xff0c;而我的QT Creator是32bit的&#xff0c;所以又下载了QT 13.0.0的64bit版本。 遇到问题&#xff1a;msvcp140_1.dll找不到…

软件管理及部分命令

sed命令 格式&#xff1a; sed [选项] 操作 目标文件 选项&#xff1a; -i&#xff1a;修改原始文件【如果不加-i&#xff0c;那就是仅仅修改内存中的文件副本】 案例&#xff1a;将1.txt中的tom修改成jerry。 sed -i "s/tom/jerry/g" 1.txt 将1…

基于FPGA的任意点滑动平均(滑动窗长度和数据位宽参数化,例化时参数可设置)

目录 1.前言2.原理3.举例说明4.Matlab实现5.FPGA实现滑动平均 微信公众号获取更多FPGA相关源码&#xff1a; 1.前言 对于一维信号&#xff0c;我们可以使用类似移动平均滤波&#xff08;Moving Average Filtering&#xff09;实现denoising。Moving Average Filtering 是一种…

Jmeter性能分析及调优详解(入门)

一、系统性能理解 如果说需求、开发、DB、运维、测试是单一一门学科&#xff0c;那么性能就是综合学科&#xff0c;它包含了需求分析、DB、开发、测试、运维的所有学科。其实一般来说在实际性能分析和调优中&#xff0c;测试担任的角色就是写压测脚本并执行脚本查看结果&#…

TPM 是什么?如何查看电脑的 TPM?

TPM 是什么&#xff1f; 首先我们来了解一下 TPM 是什么&#xff0c;TPM 由可信计算组织&#xff08;Trusted Computing Group&#xff0c;TCG&#xff09;开发&#xff0c;为了在提高计算机系统的安全性。随着网络安全威胁的不断增加&#xff0c;TPM 技术逐渐成为确保系统安全…

开源网关Apache APISIX启用JWT身份验证

说明&#xff1a; 本文APISIX的配置参考我之前写的《Ubuntu部署Apache APISIX》 创建最小API 首先&#xff0c;确保你已经安装了.NET 6 SDK。创建文件夹“MinimalApiDemo”&#xff0c;VS Code打开文件夹&#xff0c;打开终端 dotnet new web -o MinimalApiDemo cd Minimal…

49.线程池的关闭方法

shutdown方法 1.线程池状态变为shutdown 2.不会接收新任务 3.已提交的任务会执行完 4.此方法不会阻塞调用线程执行 ExecutorService executorService = Executors.newFixedThreadPool(2);executorService.submit(() -> {log.debug("task1 running");try {TimeUnit…

ArrayList——简单洗牌算法

特殊语法介绍&#xff1a; List<List<E>> 该语法情况比较特殊&#xff0c;相当于一个“二维数组”存着一个个线性表的结构&#xff0c;如图&#xff1a; 该语法的灵活性强&#xff0c;可适用于多种类型和多种情况。接下来就使用该语法来实现一个简单的洗牌操作。…

vite+ts设置别名

准备工作 安装 types/node 避免代码爆红 npm install types/node一、根目录下 vite.config.ts 文件中配置 import { resolve } from path;resolve: {// 设置文件./src路径为 alias: [{find: ,replacement: resolve(__dirname, ./src)}] }二、根目录下 tsconfig.json 文件中配…

【漏洞复现】用友NC downCourseWare 任意文件读取漏洞

0x01 产品简介 用友NC是一款企业级ERP软件。作为一种信息化管理工具&#xff0c;用友NC提供了一系列业务管理模块&#xff0c;包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等&#xff0c;帮助企业实现数字化转型和高效管理。 0x02 漏洞概述 用友NC …

618网购节,电商能挡住恶意网络爬虫的攻击吗?

目录 爬虫盗取电商数据的步骤 电商平台如何发现网络爬虫&#xff1f; 如何拦截违法网络爬虫 2023年&#xff0c;杭州中院审结了两起涉及“搬店软件”的不正当竞争案件。本案的原告是国内某大型知名电子商务平台的运营主体&#xff0c;而被告则是开发了一款名为“某搬家快速商品…

汽车分销商文件流转优化:实现稳定高效的文件分发处理

在汽车圈里&#xff0c;分销商可是个不可或缺的角色。他们既要跟汽车厂家紧紧绑在一起&#xff0c;还得跟下游的销售渠道或者直接跟消费者打成一片&#xff0c;文件来回传递那是家常便饭。 这文件发放的速度快不快&#xff0c;安不安全&#xff0c;直接影响到分销商做事的效率…

安徽京准NTP时钟系统:GPS北斗卫星授时下的生活重塑

安徽京准NTP时钟系统&#xff1a;GPS北斗卫星授时下的生活重塑 安徽京准NTP时钟系统&#xff1a;GPS北斗卫星授时下的生活重塑 时间的流逝自古以来时钟都是人类生活与活动的基础。然而&#xff0c;随着科技的进步&#xff0c;我们对时间管理和测量的方法已经发生了翻天覆地的变…

有哪些可以替代postman的接口测试软件?

替代Postman的接口测试软件有很多选择&#xff0c;其中一些流行的工具包括Insomnia、SoapUI、JMeter、Paw等。在本篇文章中&#xff0c;我将从0到1&#xff0c;详细介绍这些接口测试软件的使用方法和规范&#xff0c;帮助你选择适合的工具进行接口测试。 1. Insomnia Insomni…

手机怎么压缩视频?归纳了三种快速压缩方案

手机怎么压缩视频&#xff1f;在数字时代&#xff0c;手机已经成为我们记录生活的重要工具&#xff0c;而视频作为其中的一种主要形式&#xff0c;更是占据了极大的存储空间。然而&#xff0c;随着手机拍摄的视频越来越多&#xff0c;如何高效压缩视频以节省存储空间&#xff0…

⌈ 传知代码 ⌋ AI驱动食物图像识别

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

Selenium时间等待_显示等待

特点&#xff1a; 针对具体元素进行时间等待 可以自定义等待时长和间隔时间 按照设定的时间&#xff0c;不断定位元素&#xff0c;定位到了直接执行下一步操作 如在设定时间内没定位到元素&#xff0c;则报错&#xff08;TimeOutException&#xff09; 显示等待概念&#x…

mysql的binlog占用大量磁盘空间的解决方法

查看当前日志保存天数&#xff1a; mysql> show variables like %expire_logs_days%; ------------------------- | Variable_name | Value | ------------------------- | expire_logs_days | 0 | ------------------------- 1 row in set (0.08 sec) 默认是0&…

基于Python的实验室管理系统的设计与实现(论文+源码)_kaic

摘 要 随着实验室设备越来越多&#xff0c;实验室及其设备管理工作变得越来越繁重&#xff0c;还存在些管理模式仍旧处于手工管理模式和一些抢占实验室的不文明现象&#xff0c;传统的手工模式已经满足不了日益增长的管理需求&#xff0c;而本系统摒弃传统模式&#xff0c;开启…