最近搞环视360,在3588板子上接了一个 主控为TP2815的4路AHD转MIPI 板子,可以同时接入4路1080P@30FPS模拟信号。本人通过gst-launch-1.0可以正常取流,但是尝试通过ffmpeg作为后端死活播放不出来。经排查,发现本转接板在设备书中以ISP形式进行注册,那么注册的/dev/video0-3节点为Video Capture Multiplanar,而标准ffmpeg并不支持多层设备,所需要安装ffmpeg-rockchip。
ffmpeg-rockchip
专为 Rockchip 平台(如 RK3588)设计的 FFmpeg 分支,它全面支持硬件加速视频处理,包括 MPP 硬件编码器、解码器,以及 RGA 滤镜加速
安装
sudo apt update
sudo apt install git meson cmake pkg-config gcc libasound2-dev libdrm-dev ninja-build -y
编译MPP(硬件编解码库)
cd ~/ffmpeg
git clone -b jellyfin-mpp --depth=1 https://github.com/nyanmisaka/mpp.git rkmpp
mkdir -p rkmpp/rkmpp_build && cd rkmpp/rkmpp_build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DBUILD_TEST=OFF ..
sudo make -j$(nproc)
sudo make install
编译 RGA(图像加速滤镜库)
cd ~/ffmpeg
git clone -b jellyfin-rga --depth=1 https://github.com/nyanmisaka/rk-mirrors.git rkrga
meson setup rkrga rkrga_build --prefix=/usr --libdir=lib --buildtype=release -Dcpp_args=-fpermissive -Dlibdrm=false -Dlibrga_demo=false
meson configure rkrga_build
sudo ninja -C rkrga_build install
编译ffmpeg-rockchip
cd ~/ffmpeg
git clone --depth=1 https://github.com/nyanmisaka/ffmpeg-rockchip.git ffmpeg-rockchip
cd ffmpeg-rockchip
./configure --prefix=/usr --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga --enable-alsa --enable-libv4l2
make -j$(nproc)
sudo make install
安装完毕后验证支持情况
- 解码器
- 编码器
- 硬件滤镜
- 注意 MPP只支持NV12/NV16图像编码,TP2815转接板需要对图像格式进行设置


