本期聚焦:
此前连载已涵盖 AI‑ISP、AI 模型部署等关键环节——如果把 AI 模型比作“屋顶”,RKADK 就是支撑起整座应用的“承重墙”。本文将深入解析 RKADK(Rockchip Application Development Kit),带大家了解这套应用层音视频开发框架的基座能力。
做过嵌入式视觉应用开发的工程师都清楚:从摄像头 Sensor 成功出图、完成 ISP 调试之后,应用开发阶段仍面临大量繁琐工作,每个环节都涉及复杂的 API、状态机与回调函数:
- VI(Video Input):配置 Sensor、MIPI 接口、分辨率、帧率;
- VENC(Video Encode):设定 H.264 / H.265 编码参数、码率控制、GOP 结构;
- AENC(Audio Encode):音频采集与 AAC 编码;
- MUXER:MP4 / TS 文件封装及时间戳同步;
- RTSP / RTMP:网络协议栈、端口管理与推流会话维护。
RKADK 的定位非常明确:在底层多媒体组件之上再封装一层,提供通用基础组件,显著降低应用开发的复杂度。
- 底层能力层:Rockit(媒体处理中间件)、RKMedia(媒体框架)、MPP(多媒体处理平台)、VENC / VI 驱动;
- RKADK 封装层:将底层分散的 API 聚合成统一的功能模块——Record(录像)、Photo(拍照)、Stream(码流获取)、Thumb(缩略图)、RTMP / RTSP(网络推流);
- 应用接口层:开发者直接调用 C API 并参考示例程序,即可快速实现摄像头产品的核心功能:录像、拍照、推流、取流、缩略图等。
图1 SC450ai摄像头
图2 MIPI CSI接口
3.1 录像测试(rkadk_record_test)
功能:测试录像功能
root-buildroot: rkadk_record_test
录制文件保存在/data/RecordTest_*.mp4,录制过程输入quit退出。
代码参考:
talowe_rv1126b_linux6.1/app/rkadk/examples/rkadk_record_test.c
3.2 拍照测试(rkadk_photo_test)
功能:测试拍照功能
root-buildroot: rkadk_photo_test
按回车拍摄一张图片,保存在/tmp/PhotoTest_*.jpeg,输入quit退出。
代码参考:
talowe_rv1126b_linux6.1/app/rkadk/examples/rkadk_photo_test.c
3.3 RTMP 推流测试(rkadk_rtmp_test)
功能:测试rtmp推流,需要先在windows端运行取流软件,再在板端执行以下指令:
root-buildroot: rkadk_record_test
输入quit退出。
windows端:PC端打开VLC -> 媒体 -> 打开⽹络串流 -> 输⼊⽹络URL:rtmp://板端ip地址/live/substream
代码参考:
talowe_rv1126b_linux6.1/app/rkadk/examples/rkadk_rtmp_test.c
3.4 RTSP 推流测试(rkadk_rtsp_test)
功能:测试rtsp推流,需要先在windows端运行取流软件,再在板端执行以下指令:
root-buildroot:rkadk_rtsp_test
输入quit退出
windows端:PC端打开VLC -> 媒体 -> 打开⽹络串流 -> 输⼊⽹络URL:rtsp://板端ip地址/live/main_stream
代码参考:
talowe_rv1126b_linux6.1/app/rkadk/examples/rkadk_rtsp_test.c
3.5 视频码流获取测试(rkadk_stream_test)
功能:视频码流获取测试
root-buildroot: rkadk_stream_test -M video
Ctrl+C退出
代码参考:
talowe_rv1126b_linux6.1/app/rkadk/examples/rkadk_stream_test.c
3.6 缩略图测试(rkadk_thumb_test)
功能:获取文件缩略图测试
root-buildroot: rkadk_thumb_test -i /tmp/test.mp4 -T JPG
文件保存在/tmp/thm_test_1.jpg
代码参考:
talowe_rv1126b_linux6.1/app/rkadk/examples/rkadk_thumb_test.c
前九期连载主要展示“这块板子能做什么”,本期则回答“这些能力是如何串联起来的”。将各环节串联之后,RKADK 的角色便一目了然:rkadk_stream_test 获取的码流,正是 YOLO 检测模型的输入源。AIISP 处理后的图像经 VI 进入 RKADK,RKADK 一方面将全分辨率码流送往 VENC 进行编码录像或推流,另一方面将指定分辨率的数据帧通过零拷贝机制传递给 NPU 完成 AI 推理。
这也解释了为何此前所有 AI Demo 的部署都如此“轻量”——RKADK 已经将最复杂的媒体处理部分封装妥当,开发者只需聚焦于模型推理与业务逻辑本身。
如需完整开发资料、测试固件或套件申请,欢迎联系眺望电子技术支持工程师。
下期预告:
下一篇我们将继续展示AI视觉开放平台中AVS多路图像拼接效果,敬请期待!
182
