抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

SylensHub

吃饭, 睡觉, 打游戏!

去年其实就使用Fydetab Duo压制过旅行中的视频,当时找的某个github上给的现成库,结果现在找不到这个库了… 于是这次我又尝试自己来编译了…

编译参考了库作者dnyanmisaka的文档,整个过程还是相对顺利的~

使用pixi准备编译环境

这里相比原文档中提到的git,meson,cmake,pkg-config,gcc,libdrm-dev多了很多东西,毕竟fydeos/chromeos并不是传统的linux,缺非常多常见库,因此要补充缺失的依赖程序。

1
2
pixi init
pixi add make gxx meson cmake pkg-config gcc libdrm libdrm-devel-conda-aarch64 pthread-stubs binutils diffutils awk

创建pixi环境后,需要pixi shell进入虚拟环境,进入后所有后续的编译安装目的地全部指向这个虚拟环境,这样安装后的依赖在最后的ffmpeg编译时才都找的到

编译rkmpp

1
2
3
4
5
6
7
8
9
10
11
12
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/local/share/project/ffmpeg/.pixi/envs/default/ \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TEST=OFF \
..
make -j $(nproc)
make install

编译RGA

1
2
3
4
5
6
7
8
9
10
11
git clone -b jellyfin-rga --depth=1 https://github.com/nyanmisaka/rk-mirrors.git rkrga
meson setup rkrga rkrga_build \
--prefix=/usr/local/share/project/ffmpeg/.pixi/envs/default/ \
--libdir=lib \
--buildtype=release \
--default-library=shared \
-Dcpp_args=-fpermissive \
-Dlibdrm=false \
-Dlibrga_demo=false
meson configure rkrga_build
ninja -C rkrga_build install

编译ffmpeg并安装

1
2
3
4
5
6
7
# ffmpeg部分
git clone --depth=1 https://github.com/nyanmisaka/ffmpeg-rockchip.git ffmpeg
cd ffmpeg
./configure --prefix=/usr/local/share/project/ffmpeg/.pixi/envs/default \
--enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga
make -j $(nproc)
make install

后记

执行上面所有的步骤后,虚拟环境内就有rockchip芯片专用的ffmpeg了,视频处理速度比cpu版本的快了10x有多~

晚点考虑把上面的内容做一个带任务的Pixi环境,然后也学习下怎么用pixi打包和上传包。

评论

留下友善的评论吧~