码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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常用模块分为六块: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自己使用的软件编码接口,以库文件的形式提供。

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

    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 音频编解码

    7、VP 一入四出

  • 相关阅读:
    Docker 离线安装(2022/11/08)
    无缝滚动效果(鼠标移入暂停、单图暂停一段时间然后继续效果)
    前端面试的话术集锦第 8 篇:高频考点(JS性能优化 & 性能优化琐碎事)
    软件工程理论与实践 (吕云翔) 第六章 面向对象分析课后习题及其解析
    玩转AI绘图,远程部署运行
    【纯虚函数】设计一个形状类——矩形、圆形、三角形,分别计算三种当前图形的周长和面积
    牛客多校九 - Here is an Easy Problem of Zero-chan (树形DP,推公式,贡献)
    统计学习方法学习笔记-07-支持向量机03
    每日一面系列之@Component和@Configuration区别
    基于AntDesign vue的自定义文件上传
  • 原文地址:https://blog.csdn.net/qq_36769014/article/details/128103275
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号