mpv播放器在rk3399上配置硬解码

2024-08-24 01:52

本文主要是介绍mpv播放器在rk3399上配置硬解码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

文章目录

  • 前言
  • 一、检查mpp
  • 二、安装mpv
  • 三、更改配置文件
  • 四、测试硬解码
  • 总结


前言

mpv播放器应该来说相当轻量了,但是我研究了下文档发现它确实内有乾坤,可能没想象中那么简单。接下来我就来说说怎么在rk3399上使用mpv硬解码播放视频。

虽然官方给了我们gstreamer+mpp实现硬解码,不过这显然是不成熟的方案,对于实际应用上还差点距离。要想真正封装成应用还需要借助SDL2或QT5等工具进一步包装,这个以后可以给一个示例。

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

注意:这个方法理论上适用于所有使用MPP解码的平台,包括RK3288,RK3588等。


一、检查mpp

一定要确保你的rk3399本身支持mpp硬解码才行,就是说这个支持库全部安装好。

mpi_dec_test -i <.h264> -o <.yuv> -t 7

上面的命令正常解码就说明mpp硬解码功能是对的。

-i:输入文件,一定要是h264裸流
-o:输出yuv文件,不想输出这个选项就不要加
-t:码流类型,7就是h264(avc)

二、安装mpv

很简单,安装Ubuntu或Debian源里的mpv就行了。

sudo apt updatesudo apt install mpv

三、更改配置文件

由于rockchip不支持vaapi,所以如果mpv配置文件默认使用vaapi硬解就不会调用mpp硬解,这个时候需要改下配置文件。

sudo vim /etc/mpv/mpv.conf

将里面的hwdec=vaapi改为hwdec=rkmppwq保存。

四、测试硬解码

准备一个1080P的视频,H264或HEVC编码都行,直接双击打开播放,同时看下CPU占用。如果CPU占用不超过40%那就是硬解码,一般是不到20%。


总结

1、mpv播放器是目前我能找到的对rkmpp支持最好的播放器之一了。
2、还支持各种滤镜,有时间再介绍给大家。

这篇关于mpv播放器在rk3399上配置硬解码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101110

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于