RK3588硬编解码MPP环境配置

1. 简介

瑞芯微提供的媒体处理软件平台(Media Process Platform,简称 MPP)是适用于瑞芯微芯片系列的

通用媒体处理软件平台。该平台对应用软件屏蔽了芯片相关的复杂底层处理,其目的是为了屏蔽不

同芯片的差异,为使用者提供统一的视频媒体处理接口(Media Process Interface,缩写 MPI)。MPP

提供的功能包括:

  • 视频解码

    H.265 / H.264 / H.263 / VP9 / VP8 / MPEG-4 / MPEG-2 / MPEG-1 / VC1 / MJPEG

  • 视频编码

    H.264 / VP8 / MJPEG

  • 视频处理

  • 视频拷贝,缩放,色彩空间转换,场视频解交织(Deinterlace)

2. 环境介绍

  • 硬件环境:

    ArmSoM-W3 RK3588开发板

  • 软件版本:

    OS:ArmSoM-W3 Debian11

3. RK3588 MPP环境配置

3.1. 下载安装rkmpp

  • 从github下载mpp包:

    bash 复制代码
    git clone https://github.com/rockchip-linux/mpp.git
  • 编译安装

    bash 复制代码
    cd mpp/build/linux/aarch64 
     
    ./make-Makefiles.bash
    
    make -j8
    
    sudo make install     

3.2. 安装完成:查看MPP目录结构

bash 复制代码
tree

/usr/local/
├── bin
│	├──  mpi_dec_test
│	├──  mpi_dec_mt_test
│	├──  mpi_dec_multi_test
│	├──  mpi_dec_nt_test
│	├──  mpi_enc_mt_test
│	├──  mpi_enc_test
│	├──  mpi_rc2_test
│	├──  mpp_info_test
│	├──  test_rknn_demo.sh
│	├──  test_rtsp.sh
│	└──  vpu_api_test
│
└── include/
│	└── rockchip
│			
└── lib
	├── librockchip_mpp.so
	├── librockchip_mpp.so.0
	├── librockchip_mpp.so.1
	├── librockchip_vpu.so
	├── librockchip_vpu.so.0
	├── librockchip_vpu.so.1
	└── pkgconfig
  • 查看mpp对应的库文件:

    bash 复制代码
    ls /usr/local/lib
    
    librockchip_mpp.so    librockchip_mpp.so.1  librockchip_vpu.so.0  pkgconfig
    librockchip_mpp.so.0  librockchip_vpu.so    librockchip_vpu.so.1  
  • 查看mpp对应的头文件:

    bash 复制代码
    ls /usr/local/include/rockchip/
    
    mpp_buffer.h   mpp_log.h      mpp_task.h         rk_vdec_cfg.h  rk_venc_ref.h
    mpp_compat.h   mpp_meta.h     rk_hdr_meta_com.h  rk_vdec_cmd.h  vpu_api.h
    mpp_err.h      mpp_packet.h   rk_mpi_cmd.h       rk_venc_cfg.h  vpu.h
    mpp_frame.h    mpp_rc_api.h   rk_mpi.h           rk_venc_cmd.h
    mpp_log_def.h  mpp_rc_defs.h  rk_type.h          rk_venc_rc.h
  • 查看mpp对应的bin文件:

    bash 复制代码
    ls /usr/local/bin
    
    mpi_dec_mt_test     mpi_dec_test     mpi_rc2_test       test_rtsp.sh
    mpi_dec_multi_test  mpi_enc_mt_test  mpp_info_test      vpu_api_test
    mpi_dec_nt_test     mpi_enc_test     test_rknn_demo.sh
  • 编解码器demo:

    bash 复制代码
    mpp_dec_test: 单线程解码器demo
    mpi_dec_mt_test:多线程解码器demo
    mpi_dec_multi_test:多实例解码器demo
    	
    mpp_enc_test:单线程编码器demo
    mpi_enc_multi_test:多实例编码器demo
  • 实用工具

    MPP 提供了一些单元测试用的工具程序,这种程序可以对软硬件平台以及 MPP 库本身进行测试

    bash 复制代码
    mpp_info_test:    读取和打印 MPP 库的版本信息
    mpp_buffer_test:  测试内核的内存分配器是否正常。
    mpp_mem_test:     测试C库的内存分配器是否正常。
    mpp_runtime_test: 测试一些软硬件运行时环境是否正常。
    mpp_platform_test:读取和测试芯片平台信息是否正常。

3.4. 我们可以运行mpp_dec_test来判断mpp安装情况:

bash 复制代码
mpp_dec_test
相关推荐
方便面不加香菜3 小时前
Linux--基础IO(一)
linux·运维·服务器
普中科技6 小时前
【普中STM32F1xx开发攻略--标准库版】-- 第 45 章 FSMC-外扩 SRAM 实验
stm32·单片机·嵌入式硬件·fsmc·普中科技·外扩sram·is62wv51216
小鹿研究点东西7 小时前
直播带货长视频AI自动剪辑开播:一场直播如何反复利用?
ffmpeg·自动化·音视频·语音识别
mounter6257 小时前
现代 Linux 内存管理的演进与变革:从传统 LRU 到多代架构 MGLRU
linux·服务器·kernel
赵渝强老师7 小时前
【赵渝强老师】Kubernetes(K8s)中的金丝雀升级
linux·docker·云原生·容器·kubernetes
换个昵称都难8 小时前
webrtc PeerConnection 模块介绍
音视频·webrtc
Qt程序员8 小时前
Linux RCU 原理与应用
linux·c++·内核·linux内核·rcu
The Sheep 20238 小时前
Vue复习
linux·服务器·数据库
兄台の请冷静8 小时前
Linux 安装es
linux·elasticsearch·jenkins
fengyehongWorld8 小时前
Linux rg命令
linux