Jellyfin中国特供版现已支持Rockchip RK3588
NyanMisaka
编辑于 2023年12月21日 02:23

Jellyfin诞生5年以来,迄今已经支持了众多x86平台上的核显独显,之前也对低功耗的ARM平台例如树莓派进行过尝试,但由于其视频编解码和渲染性能过于羸弱,且在与树莓派官方开发者沟通后发现他们对于个人媒体服务器这一领域似乎并不感兴趣,不得已只能作罢。


前不久的树莓派5更是进一步裁剪了视频硬件支持为:有且仅有HEVC解码器,故不推荐作为Jellyfin服务器使用,除非你没有转码播放需求。


Rockchip RK3588

然后随着今年支持8K编解码的国产RK3588/3588S单板计算机/SBC的强势登场,个人自然也是少不了买来尝试,经过数个月的FFmpeg适配和驱动踩坑后,RK3588平台在Jellyfin中的支持终于真正落地。

RK3588硬件特性


RK3588平台在Jellyfin中支持的视频硬件特性如下:

  • 硬件解码 (MPEG1, MPEG2, MPEG4, H264(High10), HEVC(Main10), VP8, VP9, AV1)

  • 硬件编码 (H264, HEVC) (RK3588上最高8K@30FPS / 4K@120FPS / 1080p@480FPS)

  • 硬件图形缩放,像素格式转换,字幕烧录等

  • 硬件HDR转SDR色调映射(需要libmali OpenCL运行库)

  • 支持异步RGA和MPP编码器,提高多核硬件利用率

  • 支持AFBC无损压缩(Arm Frame Buffer Compression)节省内存带宽和功耗,提高FPS

已经在Rockchip 5.10和6.1内核上进行了完整的测试。理论上RK35xx和更老的RK33xx也可兼容,但我手头只有RK3588所以没法验证。

另外需要注意的是由于硬件功能限制,目前OpenCL色调映射仅RK3588/3588S平台可用。并且需要在host主机上正确安装配置了/lib/firmware/mali_csffw.bin固件,并通过clinfo命令确认了Mali-G610的OpenCL实际可用后,Jellyfin中的色调映射才可用。

Docker arm64/v8 镜像:docker pull nyanmisaka/jellyfin:latest-rockchip

新增RKMPP选项

以下是用于启动docker的配置文件作为参考,其中的privileged高权限选项,以及for...done之间的/dev/下的硬件设备名需要特别关注。

docker run -d \  --name jellyfin \  --privileged \  --net=host \  --restart=unless-stopped \  --volume /path/to/config:/config \  --volume /path/to/cache:/cache \  --volume /path/to/media:/media \  `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&#​34; ] && echo " --device /dev/$dev&#​34;; \   done` \  nyanmisaka/jellyfin:latest-rockchip


github.com/nyanmisaka

最后,感谢你阅读到这里。自购硬件开发不易,期待反馈,欢迎捐赠支持,也欢迎开发板厂商提供后续新平台硬件进行适配