jellyfin on orangepi5b
预先
rk3588参数
视频解码
8Kp60 H.265
、VP9
、AVS2
8Kp30 H.264
AVC/MVC
4Kp60 AV1
1080p60 MPEG-2/-1
、VC-1
、VP8
视频编码
采用 H.265/H.264
实时 8Kp30 编码
;
较低分辨率下支持多通道编码
VPU、RGA、Mali GPU
组件 | 主要功能 | 主要用途 |
---|---|---|
VPU | 视频编解码加速 | 视频播放器、流媒体、视频会议等 |
RGA | 图像处理加速 | 图像缩放、旋转、格式转换等 |
Mali GPU | 图形渲染加速 | 游戏、UI 动画、3D 渲染等 |
待解决
启用硬件加速 rkmpp 和 vpp_rkrga
查看设备是否支持硬解码
# 命令 ----------------------------------------------
orangepi@orangepi5b:~$ ls /dev/dri
card0 card1 renderD128 renderD129
# --------------------------------------------------
# 解释
card0 和 card1
cardX 设备节点表示 主设备节点,对应实际的 GPU 硬件。
card0 通常是第一个 GPU,card1 是第二个(如果存在)。
它们用于显示输出、帧缓冲控制等。
renderD128 和 renderD129
renderDX 设备节点是 渲染设备节点,专门用于图形渲染操作,而不涉及直接控制显示器。
这些节点允许用户空间程序使用 GPU 进行计算和图像渲染,但不控制显示输出。
renderD128 通常与 card0 关联,renderD129 可能与 card1 关联。
说明支持显卡硬解
检查驱动
rockchip_dri.so 是 Rockchip GPU 的 DRM 驱动文件,提供对图形硬件的支持。
如果 rockchip_dri.so 存在并且工作正常,那么很有可能系统已经安装并配置了与 Rockchip 硬件加速相关的其他库(包括 rkmpp)。
-
/dev/dma_heap:这个是与内存堆分配相关的设备节点,通常用于处理 DMA(直接内存访问)操作,在一些视频处理任务中可能会涉及到。
-
/dev/dri:这个目录通常包含与图形加速相关的设备节点,如 DRM(Direct Rendering Manager)设备,表示支持图形硬件加速。虽然这不直接指示 MPP 或 RGA,但它与硬件加速相关。
-
/dev/mpp_service:这个设备节点是与 MPP 相关的服务接口,说明你的设备已经启用了 MPP(Media Processing Pipeline)硬件加速服务。
-
/dev/rga:这个设备节点表示 RGA(Rockchip Graphics Accelerator)硬件加速接口,说明你的设备支持图像处理加速。
这些设备节点表示你的设备上已经正确安装了与 MPP 和 RGA 相关的硬件加速驱动。
确认 ffmpeg 支持rkmpp的硬件加速
- 支持 rkmpp:这是 Rockchip 的硬件加速库,专为 Rockchip 设备(如 Orange Pi)设计。它支持基于硬件的编码和解码,加速了视频处理过程,尤其是在使用 Rockchip SoC(如 RK3399 或其他系列)时。
- 支持 drm:这是通用的硬件加速接口,通常与显示驱动和视频输出相关。
安装opencl
检查OpenCL运行状态
查看docker是否正确加载驱动
已经成功加载
安装Mali G610 GPU驱动
sudo apt install ./libmali-valhall-g610-g13p0-gbm_1.9-1_arm64.deb
安装rkmpp
git clone https://github.com/rockchip-linux/mpp.git
cd /usr/local/application/mpp/build/linux/aarch64
./make-Makefiles.bash
cd /usr/local/application/mpp
sudo make -j4
sudo make install
sudo cp -r /usr/local/application/mpp/osal/ /usr/local/include/rockchip/
# 安装在/usr/local/lib/
测试docker正常调用驱动
检查 OpenCL 设备
# 在docker中运行
/usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device rkmpp=rk -init_hw_device opencl=ocl@rk
对 H.264 视频进行硬件加速编码测试
/usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -hwaccel rkmpp -init_hw_device opencl -i /config/input.mp4 -c:v h264_rkmpp -c:a copy output.mp4