为客户提供Rockchip(瑞芯微)、Intel(英特尔)平台的主板开发,整机方案设计、软件开发定制或基于代理(Firefly)开源平台做硬软件的二次定制开发、技术支持等及其配套服务; 设计经验涵盖多个操作系统,包括Windows、Android、Linux、Ubuntu、Debian11、Buildroot、RTLinux 、国产系统:麒麟Linux、统信UOS等。
IoT AI边缘网关、工业嵌入式电脑
Core-3588SJD4
Core-1684JD4 八核高算力AI核心板
Core-1684XJD4八核高算力AI核心板
iCore-1684XQ 32Tops高算力AI核心板
iCore-3588JQ 8K工业AI核心板
Core-3588SG 8K人工智能核心板
iCore-3588MQ 车规级AI核心板
Core-3128J 四核Cortex-A7高性能核心板
Core-1109-JD4高性能AI智能视觉核心板
Core-3328-JD4 四核64位入门级核心板
Core-3399K-JD4 六核高性能AI核心板
iCore-3562JQ 高性能工业级核心板
Core-3288J 四核Cortex-A17高性能核心板
iCore-RK3568JQ
iCore-3588Q 8K人工智能核心板
Core-3588L 8K人工智能核心板
Core-RK3588J
Core-RK3568
Core-RK3566-JD4
Core-3399-JD4六核高性能核心板
Core-3399J六核高性能核心板
Core-3399PRO-JD4
Core-PX30-JD4
Core-3328-JD4
Core-1126-JD4
Intel Kaby Lake
Core-1808-JD4
Intel Gemini Lake-R
Core-3308BY
Intel Cherry Trail Z8350
ROC-RK3576-PC 低功耗大模型主板
ITX-3588J 8K 人工智能 ITX标准主板
ROC-RK3588S-PC
ROC-RK3399-PC Pro 六核64位高性能主板
ROC-RK3308B-CC Plus IoT四核64位开源主板
AIO-1684JD4 八核高算力AI主板
AIO-3399PROC
AIO-3399J
Face-RK3399 AI主板
ITX-3568JQ四核工业级主板
ROC-RK3568-PC SE 四核64位开源主板
AIO-3562JQ 高性能工业级主板
AIO-3588L 8K人工智能主板
AIO-3588Q 8K高算力人工智能主板
AIO-3399C
ROC-RK3588-PC 八核8K人工智能开源主板
ROC-RK3568-PC
AIO-3588SG 八核8K人工智能主板
AIO-3288C
ROC-RK3588-RT 八核8K人工智能多网口开源主板
ROC-RK3566-PC
AIO-3568J
AIO-3588Q 8K高算力人工智能主板
AIO-3568J四核高性能人工智能主板
EC-A1684JD4八核高算力AI主机
EC-R3588RT 智能路由
EC-R3588SPC 八核8K人工智能工业主机
EC-A3568J四核64位AI嵌入式主机
EC-A1688JD4 工业级智算AI主机
EC-I3588J 八核8K主机
EC-A3588JQ 八核8K AI工业主机
EC-R3399PC六核64位嵌入式主机
EC-R3568PC 四核64位AI嵌入式主机
EC-A1684XJD4 FD 八核32T高算力AI嵌入式主机
EC-A3588Q 八核8K AI嵌入式主机
EC-R3308CC工业主机
EC-A1684JD4 FD 八核高算力AI嵌入式主机
EC-A3588L 旗舰级人工智能主机
EC-R3588SPC FD 八核8K人工智能工业主机
iHC-3568JGW 工业5G智能网关
EC-A3399C 六核小型嵌入式主机
iHC-3308GW工业4G智能网关
EC-OrinNX 100T 高算力边缘计算主机
EC-OrinNano 40T 边缘计算主机
RK3568工控机
RK3399Pro AI智能工控机
RK3399工控机
Station RK3568 P2 BOX
Station M2 RK3566 Box
Station P1 RK3399 Box
10.1
10.1 寸工业平板(工控版本)
Station M1 RK3328 Box
10.1 寸工业平板(行业版本)
RK3566安卓信息发布控制盒
人脸识别一体机
RK3399/RK3328具有强大的视频编解码能力,Soc集成的硬件视频编解码器VPU,能同时处理多路视频的编解码,Soc集成的图形加速引擎RGA, 可以高效地处理图形缩放、旋转、颜色空间转换等操作。结合VPU和RGA,可以高效地实现视频流的解码和后处理,作为第三方应用处理的数据源。
调用API
Rockchip开发的mpp库,提供了非常易于使用API,通过各种不同的控制项,可以适应多种不同场景的视频编解码应用。
硬件准备
RK3399平台:AIO-3399C主板 + 12路摄像头

运行Demo
Firefly在RK3399和RK3328 Ubuntu平台上, 针对目前最常见的场景,提供了一个多路RTSP流解码的Demo,Demo支持在RK3399平台上, 同时解12路H264/H265 RTSP,测试流帧率为25fps,无丢帧,低延时,CPU占用率较低(基本只用于RTSP流接收和封包)。在RK3328平台上,同时能解6路H264/H265 RTSP。

运行过程
Demo中,MPP解码->图像后处理->显示整个流程中,VPU和RGA都是直接访问内存物理地址,整个过程零内存拷贝,效率很高。处理后的数据,通过libdrm接口,直接送往显示接口输出。
Demo对解码后的图像输出数据,只做了显示处理,如果在实际应用中需要对图像做处理,可能会导致帧率下降。
演示效果
运行时效果图如下:

实时帧率
实时帧率计算结果如下:

安装方法
Demo运行在RK3399 或 RK3328 Ubuntu 18.04平台上。
1. 确认系统中存在 /dev/rga 设备节点。 如果没有此节点, 请参考wiki更新最新的固件。
2. 安装:
$ sudo apt update $ sudo apt install firefly-multi-rtsp
3.根据实际环境,修改配置文件。 参照下一节配置参数。
4. 运行:
$ sudo test_ff_rtsp_dec
5. 退出:
运行过程中,按Enter键,退出Demo, 由于退出时需要关闭多路rtsp流,所以退出时需要稍作等待。
配置参数
Demo中提供了一个配置文件config.json,用于配置demo的运行环境。
配置文件位于/etc/ff_rtsp_dec/config.json ,json格式。(注意不要在config.json中添加注释,否则可能会导致json解析出错)
主要配置项如下
基础参数:
"basepara" : {
"dri_path" : "/dev/dri/card0", //不要修改
"prefer_monitor_w" : 1920,
"prefer_monitor_h" : 1080,
"code_type" : "H265", //rtsp流编码类型,H264/H265
"line_count" : 12, //rtsp流数量
"output_w" : 480, //每一路解码后的输出size.
"output_h" : 360,
"rotate" : 0 //旋转 未使用
},
其中prefer_monitor_w 和 prefer_monitor_h是配置外接显示设备的分辨率。
1. 配置外接显示设备的分辨率,仅在显示设备支持多种分辨率(如HDMI、DP等显示器)时有效,如果显示设备支持该分辨率,则将显示设备设置为该分辨率。
2. LVDS, MIPI屏该配置无效(但仍需保留该配置项,只是配置值无效),因为LCD支持一种分辨率。
3. 配置此参数后,Demo将显示设备设置为对应的分辨率,然后计算该分辨率是否能够完整显示所有路RTSP解码后的输出。如果不能显示,应该减小rtsp流数量,或者减小输出尺寸。
line_h = prefer_monitor_w / output_w; line_v = prefer_monitor_h / output_h; line_h * line_v