news 2026/6/23 14:18:12

手把手教你用正点原子RV1126开发板玩转RKMedia:从录音到RTSP推流全流程实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手把手教你用正点原子RV1126开发板玩转RKMedia:从录音到RTSP推流全流程实战

手把手教你用正点原子RV1126开发板玩转RKMedia:从录音到RTSP推流全流程实战

第一次拿到正点原子ATK-DLRV1126开发板时,面对Rockchip强大的多媒体处理能力,很多开发者都会感到既兴奋又无从下手。本文将带你从零开始,以构建简易网络监控摄像头为实际目标,完整走通RKMedia框架下的音视频处理全流程。不同于官方文档的功能罗列,我们将重点解决实际开发中遇到的MP3编码异常QT界面冲突AIQ配置文件路径等典型问题,并分享如何通过ADB快速验证效果。

1. 开发环境搭建与基础配置

1.1 开发板初始化准备

在开始RKMedia功能测试前,需要确保开发板基础环境正常:

  • 使用Type-C数据线连接开发板调试串口(波特率1500000)
  • 通过以太网或Wi-Fi使开发板与主机处于同一局域网
  • 安装ADB工具用于文件传输(adb push/pull

注意:部分命令需要root权限,建议先执行sudo su切换用户

1.2 RKMedia源码编译指南

正点原子提供的SDK已包含RKMedia组件,编译时需要特别注意依赖项:

# 进入SDK根目录 cd /path/to/sdk source envsetup.sh alientek_rv1126 make rkmedia-dirclean && make rkmedia ./build.sh rootfs

关键编译参数说明:

参数作用典型值
-jN并行编译线程数-j8
BOOT_MODE启动模式选择emmc
OEM_PARTITION音频库存放分区oem.img

编译完成后需重新烧录oem.img分区:

sudo upgrade_tool di -p oem.img

2. 音频处理全流程实战

2.1 PCM原始音频采集与回放

通过rkmedia_ai_test录制原始音频时,若发现音量过低,可动态调整采集增益:

rkmedia_ai_test & amixer cset name='Digital Capture Volume' 120,120 # 设置麦克风增益

采集的PCM文件可通过Audacity等工具分析波形。回放测试时需确认采样参数匹配:

rkmedia_ao_test -i /tmp/ai.pcm -c 2 -r 44100 -b 16

参数对照表:

参数含义示例值
-c声道数2
-r采样率44100
-b位深度16

2.2 音频编码问题排查与替代方案

测试发现MP3编码存在兼容性问题时,可改用G.711系列编码:

# 录制G.711u格式音频 rkmedia_ai_aenc_test -t 3 -o /tmp/aenc.g711u # 解码播放测试 rkmedia_adec_ao_test -i /tmp/aenc.g711u -t 3

常见音频编码支持情况:

编码格式录制支持播放支持备注
MP3SDK版本兼容性问题
G.711u推荐替代方案
G.726仅支持录制

3. 视频处理核心功能解析

3.1 摄像头数据采集要点

使用VI模块前必须退出QT界面:

# 通过设置界面退出QT setprop qt.gui.enable 0

采集NV12格式原始帧时需指定AIQ路径(正点原子摄像头专用配置):

rkmedia_vi_get_frame_test -a /etc/iqfiles/ -o /tmp/frame.nv12 -w 1920 -h 1080

3.2 H.264视频编码与RTSP推流

实现网络监控摄像头的关键步骤:

  1. 启动RTSP服务端:
rkmedia_vi_venc_rtsp_test -a /etc/iqfiles/ -w 1280 -h 720
  1. PC端使用VLC播放流媒体:
rtsp://<开发板IP>/live/main_stream

推流参数优化建议:

参数影响推荐值
-b码率2000000
-f帧率25
-gGOP50

4. 典型问题解决方案

4.1 双目摄像头配置异常处理

当使用双摄时出现画面错位,需明确指定摄像头索引:

rkmedia_vi_double_cameras_test -a /etc/iqfiles/ -u 0 -I 0 rkmedia_vi_double_cameras_test -a /etc/iqfiles/ -u 1 -I 1

4.2 RGA图像处理技巧

叠加OSD信息时建议使用YUV420SP格式:

// 示例RGA调用参数 RGA_ATTR_S stRgaAttr; stRgaAttr.bgColor = 0xFFFFFF; stRgaAttr.fgColor = 0x000000; stRgaAttr.rotation = 0;

4.3 性能优化方案

通过top命令监控资源占用时,可采取以下优化措施:

  1. 降低编码复杂度:
rkmedia_vi_venc_test -p 1 # 使用baseline profile
  1. 调整视频预处理参数:
# /etc/iqfiles/xxx.aiq [ISP] NRLevel=2 Sharpen=1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 14:16:48

第11届「一录同行」全国先进影像技术开放日即将拉开帷幕

第11届「一录同行」全国先进影像技术开放日即将拉开帷幕&#xff01; 首站广州&#xff0c;本周六&#xff08;5月23日&#xff09;启程BOSMA博冠将携手长步道电影镜头共同亮相一录同行&#xff0c;沿途为大家带来新品信息、国产器材现场体验......过去这些年&#xff0c;BOSMA…

作者头像 李华
网站建设 2026/6/13 0:39:53

AI 术语通俗词典:全连接层

全连接层是深度学习、神经网络、卷积神经网络和人工智能中非常基础的一种层结构。它用来描述一种上一层的每个输入都与下一层的每个神经元相连接的神经网络层。换句话说&#xff0c;全连接层是在回答&#xff1a;模型怎样把上一层提取出的特征综合起来&#xff0c;形成最终判断…

作者头像 李华
网站建设 2026/5/21 12:19:45

AI 术语通俗词典:隐藏层

隐藏层是深度学习、神经网络和人工智能中非常基础的一个术语。它用来描述神经网络中位于输入层和输出层之间的计算层。换句话说&#xff0c;隐藏层是在回答&#xff1a;模型怎样把原始输入一步步加工成更有用的中间表示&#xff0c;再交给输出层完成预测。 如果说输入层负责接收…

作者头像 李华
网站建设 2026/5/21 15:33:37

低温省煤器锅炉部件,如何选对靠谱厂家?

锅炉低温省煤器作为热能回收的关键部件&#xff0c;选对了能显著提升效率、降低排烟温度&#xff0c;选错了却可能面临腐蚀、磨损甚至爆管等风险。很多从业者在实际采购时&#xff0c;最头疼的往往不是技术参数&#xff0c;而是如何选对一家具备持续交付能力和质量管控体系的厂…

作者头像 李华