Home Assistant Green 性能释放
Green 出厂的 HAOS 其实并没有把它的 CPU RK3566 的能力完全利用起来。Rockchip官网可以看到 RK3566 其实有如下两个好东西
-
NPU
支持 1Tops 算力
-
VPU
硬解码 4K 60fps H.265/H.264/VP9
硬编码 1080P 60fps H.265/H.264
为了让 Green 发挥出最佳性能,我编译了支持 NPU 和 VPU 的 Armbian。分两个版本,5.1 内核和 6.1 内核,唯一区别是 5.1 内核的支持 GPU 开源驱动 Panfrost。6.1 的 Panfrost 驱动还要等大佬们适配,不过应该也快了。如果只是玩 HA,那 GPU 基本没啥用,GPU 的驱动可以更流畅的跑桌面应用比如 Kodi 等
刷机
刷机教程我在之前 Green 评测文章里有,系统下载也在那
应用
首先要感谢大佬 @MarcA711 和 @nyanmisaka 为 RK35xx 系列 CPU 适配了 Friagte 和 Jellyfin 等
以下应用是朋友 @紫易辰 和 @r-MT 推荐的,更多用法可以自己摸索,我只是为了验证 CPU 性能,顺便写下教程
Frigate
Frigate 可以利用 RK3566 的 NPU 来识别监控 RTSP 流中人等事物,VPU 的解码器则用来处理视频流,可以实时转换视频流码率大小等
-
docker-compose.yml
version: "3" services: frigate: image: docker.io/marca711/frigate:latest-rk container_name: frigate volumes: - /etc/localtime:/etc/localtime:ro - /opt/frigate/conf:/config - /opt/frigate/data:/media/frigate - type: tmpfs target: /tmp/cache tmpfs: size: 1gb environment: - TZ=Asia/Shanghai - FRIGATE_RTSP_PASSWORD=frigate network_mode: host restart: always privileged: true
-
frigate 配置
模型我选的小的 n,NPU 识别速度在 60ms。如果是最大的 s 模型,那速度会降低到 130ms 左右,模型按我的写法会自动下载,如果没有自动下载请手动下载后扔到对应目录
实测监控在 2.4G 网络下,3 秒内能识别到人,建议换有线连接效果会更好,RTSP 无线延迟比较高
2 两监控 CPU 的占用情况,一个 1080P H264,一个 480P H265,都实时转成 720P
如果监控的流超过 1080P,建议用子 RTSP 流(TPLINK,水星都有),RK3566 硬转码只支持 1080P,超过会消耗更多 CPU
config.yml
mqtt: enabled: false ffmpeg: hwaccel_args: preset-rk-h264 cameras: living_camera: detect: width: 1280 height: 720 fps: 5 ffmpeg: inputs: - path: rtsp://admin:xxx@192.168.x.x:554/h264/ch1/main/av_stream roles: - detect balcony_camera: detect: width: 1280 height: 720 fps: 5 ffmpeg: inputs: - path: rtsp://admin:xxx@192.168.x.x:554/stream2 roles: - detect detectors: rknn: type: rknn core_mask: 0 model: path: default-yolov8n width: 320 height: 320 input_pixel_format: bgr input_tensor: nhwc
Jellyfin
Jellyfin 不多做介绍了,不怎么会玩,实时转码不要超过 1080P 的视频就行,配置中记得开启 RKMPP
-
docker-compose.yml
version: "3" services: jellyfin: image: nyanmisaka/jellyfin:240220-arm64 container_name: jellyfin volumes: - /etc/localtime:/etc/localtime:ro - /opt/jellyfin/conf:/config - /opt/jellyfin/cache:/cache - /opt/jellyfin/media:/media environment: - TZ=Asia/Shanghai network_mode: host restart: always privileged: true command: - for dev in dri dma_heap mali0 rga mpp_service iep mpp-service vpu_service vpu-service hevc_service hevc-service rkvdec rkvenc vepu h265e ; do [ -e "/dev/$dev" ] && echo " --device /dev/$dev"; done
其他
国产 RK35xx 系类 CPU 真的很不错,RK3566 虽然是比较低端的一款,但各方面表现都很不错。如果换成 RK3588(8 核 CPU,6 TOPS NPU,8K 编解码等) 那所有性能都会起飞
工作原因,时间太少,只能抽空搞搞,接下来可能会抽空适配一些其他类似 CPU 的机器