RKMEDIA使用简介

        瑞芯微(rockchip)芯片现在嵌入式行业使用的逐渐多了,本栏主要介绍rv1126/rv1109上的媒体框架 rkmedia的使用以及常遇到的问题。

        希望可以给各位使用rkmedia的小伙伴一些帮助,同时也是自己工作的记录。

rkmedia的手册在sdk目录下/docs/RV1126_RV1109/Multimedia

rkmedia的代码在sdk目录下/external/rkmedia

rkmedia的demo在sdk目录下/external/rkmedia/examples(在手册的最后部分有介绍部分demo)

编译rkmedia:

        1、在sdk目录下先执行source envsetup.sh 选择对应的配置

        2、然后执行make rkmedia-dirclean  make rkmedia-rebuild

        3、生成的lib以及执行程序放在sdk目录下/buildroot/output/rockchip_rv1126_rv1109/oem/usr/lib or bin/

rkmedia log等级配置

export RKMEDIA_LOG_LEVEL=DBG  打开DBG打印

export RKMEDIA_LOG_LEVEL=LOG_LEVEL_INFO  正常等级打印

rkmedia系统框架:

RKMEDIA使用简介_第1张图片

 rkmedia常用模块分为六块:VI,VENC/VDEC,RGA,VO,AI/AO,AENC/ADEC

VI: 底层的实现是通过调用v4l2标准接口,主要是获取sensor或其他的视频输入

VO:底层是通过调用DRM接口实现,主要是用来显示画面

VENC/VDEC:使用的是rk平台自己开发的硬件编解码器mpp去实现(所有的rk平台的编解码都是有mpp编解码)

RGA:使用rk平台自己开发的2D硬件加速器接口去实现,主要做格式转换、缩放、旋转、图形绘制等

AI/AO:使用ALSA标准的接口去实现音频的录制以及播放

AENC/ADEC:音频编解码是rk自己使用的软件编码接口,以库文件的形式提供。

各个数据之间的传输是以绑定的形式来实现,具体绑定关系如下:

RKMEDIA使用简介_第2张图片

ps:MD和OD是移动侦测和遮挡侦测,这里不做详细介绍

附上一些框架应用开发的使用链接:

v4l2:linux v4l2摄像头应用层编程介绍 - 简书

DRM:DRM(Direct Rendering Manager)学习简介_何小龙的博客-CSDN博客_drm 何小龙

 ALSA:Linux应用开发【第八章】ALSA应用开发_51CTO博客_linux 应用开发

目录(持续更新中)

本篇博客将作为本人RKMEDIA学习教程的目录汇总,后续我会以示例代码的形式和大家分享上述知识点的学习过程,并不断更新目录链接,敬请期待!

1、VI 视频输入

2、VO 视频输出

3、VENC/VDEC 视频编解码

4、RGA 图形处理

5、AI/AO 音频输入输出

6、AENC/ADEC 音频编解码

你可能感兴趣的:(RK-rkmedia,rockchip,rk,rkmedia)