Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save YumingChang02/122bad30695298c8d38b5725a75fbc20 to your computer and use it in GitHub Desktop.
Save YumingChang02/122bad30695298c8d38b5725a75fbc20 to your computer and use it in GitHub Desktop.
install nyanmisaka ffmpeg on rockchip vender kermel ( rk3399 rk3568 rk3588 )
# Native compilation on ARM/ARM64 host
sudo apt update && sudo apt install -y git meson cmake pkg-config gcc libdrm-dev libasound2-dev libmp3lame-dev libopusenc-dev
# Build MPP
mkdir -p /dev/shm/dev && cd /dev/shm/dev
git clone -b jellyfin-mpp --depth=1 https://github.com/nyanmisaka/mpp.git rkmpp
pushd rkmpp
mkdir rkmpp_build
pushd rkmpp_build
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TEST=OFF \
..
make -j $(nproc)
sudo make install
# Build RGA
mkdir -p /dev/shm/dev && cd /dev/shm/dev
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 \
--default-library=shared \
-Dcpp_args=-fpermissive \
-Dlibdrm=false \
-Dlibrga_demo=false
meson configure rkrga_build
sudo ninja -C rkrga_build install
# Build the minimal FFmpeg (You can customize the configure and install prefix)
mkdir -p /dev/shm/dev && cd /dev/shm/dev
git clone --depth=1 https://github.com/nyanmisaka/ffmpeg-rockchip.git ffmpeg
cd ffmpeg
./configure --prefix=/usr --arch=aarch64 --enable-neon --enable-optimizations --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga --enable-nonfree --enable-libmp3lame --enable-libopus
make -j $(nproc)
# Try the compiled FFmpeg without installation
./ffmpeg -decoders | grep rkmpp
./ffmpeg -encoders | grep rkmpp
./ffmpeg -filters | grep rkrga
# Install FFmpeg to the prefix path
sudo make install
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment