本文介紹瑞芯微RK3588平臺(tái),F(xiàn)Fmpeg硬件編解碼移植及性能測(cè)試方法。
FFmpeg簡(jiǎn)介與實(shí)測(cè)數(shù)據(jù)
- FFmpeg簡(jiǎn)介
FFmpeg是一套多媒體框架,能夠解碼、編碼、轉(zhuǎn)碼、復(fù)用、解復(fù)用、流、過(guò)濾和播放數(shù)字音頻、視頻,提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。
- 實(shí)測(cè)數(shù)據(jù)
(1)2K視頻編解碼,視頻文件大小為103MB
硬件解碼+編碼數(shù)據(jù):

軟件解碼+編碼數(shù)據(jù):

(2)4K視頻編解碼,視頻文件大小為128MB
硬件解碼+編碼數(shù)據(jù):

軟件解碼+編碼數(shù)據(jù):

交叉編譯與移植FFmpeg
以下操作在PC端虛擬機(jī)里面進(jìn)行
- 下載7.1版本ffmpeg源碼:
git clone -b 7.1 --single-branch https://gitee.com/work_public/ffmpeg-rockchip.git
- 交叉編譯FFmpeg
(1)進(jìn)入FFmpeg源碼目錄:
cd ffmpeg-rockchip
(2)設(shè)置pkgconfig 環(huán)境變量:
export PKG_CONFIG_SYSROOT_DIR=/sysroot_rk3588_ubuntu2204/ export PKG_CONFIG_PATH=/sysroot_rk3588_ubuntu2204/usr/lib/aarch64-linux-gnu/pkgconfig
(3)創(chuàng)建install目錄:
mkdir install
(4)執(zhí)行configure_rk3588.sh 并寫入如下參數(shù):
./configure \ --prefix=$(pwd)/install \ --enable-gpl \ --enable-version3 \ --enable-libdrm \ --enable-rkmpp \ --enable-rkrga \ --enable-libv4l2 \ --enable-cross-compile \ --target-os=linux \ --arch=aarch64 \ --cross-prefix=/opt/arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- \ --enable-static \ --enable-shared \ --enable-ffmpeg \ --enable-ffplay \ --enable-ffprobe \ --pkg-config=/usr/bin/pkg-config \ --sysroot=/opt/sysroot_rk3588_ubuntu2204/ \ --extra-cflags="-I/opt/sysroot_rk3588_ubuntu2204/usr/include/aarch64-linux-gnu" \ --extra-ldflags="-B/opt/sysroot_rk3588_ubuntu2204/usr/lib/aarch64-linux-gnu -Wl,-rpath-link=/opt/sysroot_rk3588_ubuntu2204/usr/lib/aarch64-linux-gnu" arm-gnu-toolchain-11.3.rel1-x86_64-aarch64-none-linux-gnu
工具下載地址:
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads/11-3-rel1
(5)編譯配置文件:
./configure_rk3588.sh
(6)開(kāi)始編譯:
make -j8
(7)安裝
make install
(8)安裝完成后,安裝文件保存在install目錄:
├── bin │ ├── ffmpeg │ ├── ffplay │ └── ffprobe ├── include │ ├── libavcodec │ ├── libavdevice │ ├── libavfilter │ ├── libavformat │ ├── libavutil │ ├── libpostproc │ ├── libswresample │ └── libswscale ├── lib │ ├── libavcodec.a │ ├── libavcodec.so -> libavcodec.so.61.19.101 │ ├── libavcodec.so.61 -> libavcodec.so.61.19.101 │ ├── libavcodec.so.61.19.101 │ ├── libavdevice.a │ ├── libavdevice.so -> libavdevice.so.61.3.100 │ ├── libavdevice.so.61 -> libavdevice.so.61.3.100 │ ├── libavdevice.so.61.3.100 │ ├── libavfilter.a │ ├── libavfilter.so -> libavfilter.so.10.4.100 │ ├── libavfilter.so.10 -> libavfilter.so.10.4.100 │ ├── libavfilter.so.10.4.100 │ ├── libavformat.a │ ├── libavformat.so -> libavformat.so.61.7.100 │ ├── libavformat.so.61 -> libavformat.so.61.7.100 │ ├── libavformat.so.61.7.100 │ ├── libavutil.a │ ├── libavutil.so -> libavutil.so.59.39.100 │ ├── libavutil.so.59 -> libavutil.so.59.39.100 │ ├── libavutil.so.59.39.100
- 移植至主板端(以下操作在主板端進(jìn)行)
(1)將剛才打包的ffmpeg_install.tar拷貝到主板上解壓:
sudo mkdir /usr/local/ffmpeg sudo tar -xvf ffmpeg_install.tar -C /usr/local/ffmpeg/
(2)設(shè)置環(huán)境變量,修改/home/industio/.bashrc,在末尾增加:
export PATH=/usr/local/ffmpeg/bin:$PATH export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH
(3)執(zhí)行生效:
source /home/industio/.bashrc
編解碼測(cè)試
- 測(cè)試常見(jiàn)命令(以下操作在主板端進(jìn)行)
(1)測(cè)試時(shí),需要主板端開(kāi)啟性能模式,且主板接上風(fēng)扇散熱,開(kāi)啟性能模式指令:
echo performance | tee $(find /sys/ -name *governor);
(2)測(cè)試時(shí)查看CPU使用率:
top -d 1
- 解碼測(cè)試
(1)解碼1080P的mp4視頻
time ffmpeg -stream_loop -1 -hwaccel rkmpp -hwaccel_output_format drm_prime -afbc rga -i ./LG_1080p_60fps.mp4 -an -sn -vframes 5000 -f null -
(2)解碼4K(3840*2160)mp4視頻:
time ffmpeg -stream_loop -1 -hwaccel rkmpp -hwaccel_output_format drm_prime -afbc rga -i ./LG_2160p_30fps.mp4 -an -sn -vframes 5000 -f null -
- 編碼測(cè)試
(1)1080P H.264, CQP rate control:
time ffmpeg -f lavfi -i testsrc2=s=1920x1080,format=nv12 -c:v h264_rkmpp -qp_init 26 -profile:v main -level 4.1 -g:v 100 -vframes 5000 -y /tmp/tmp.mp4
(2)2160p H.265, CQP rate control:
time ffmpeg -f lavfi -i testsrc2=s=3840x2160,format=nv12 -c:v hevc_rkmpp -qp_init 26 -profile:v main -level 4.1 -g:v 100 -vframes 5000 -y /tmp/tmp.mp4
至此,RK3588 FFmpeg的移植和測(cè)試教程已完成,關(guān)注觸覺(jué)智能,提供RK系列RK3562、RK3568、RK3576、RK3588的FFmpeg測(cè)試對(duì)比
-
測(cè)試
+關(guān)注
關(guān)注
8文章
5912瀏覽量
130347 -
瑞芯微
+關(guān)注
關(guān)注
26文章
663瀏覽量
53169 -
RK3588
+關(guān)注
關(guān)注
8文章
462瀏覽量
6831
發(fā)布評(píng)論請(qǐng)先 登錄
迅為瑞芯微RK3588與3588S如何選型硬件區(qū)別
迅為瑞芯微RK3588開(kāi)發(fā)板深度剖析丨首選的性能
米爾RK3576和RK3588怎么選?-看這篇就夠了
從性能到成本,深度剖析 RK3588 與 RK3576 怎么選
iTOP-3588開(kāi)發(fā)板采用瑞芯微RK3588處理器四核心架構(gòu)GPU內(nèi)置獨(dú)立NPU強(qiáng)大的視頻編解碼
AIoT行業(yè)SoC天花板,RK3588瑞芯微旗艦芯片開(kāi)發(fā)板發(fā)布!
8K,6T,Soc芯片RK3588、RK3588S開(kāi)發(fā)資料
重磅!基于瑞芯微RK3588旗艦芯片打造的MinipcRK3588面世
RK3588芯片支持8K視頻的硬編解碼
關(guān)于瑞芯微 RK3588的試用體驗(yàn)
基于RK3588平臺(tái)的高性能XR解決方案
瑞芯微旗艦芯RK3588開(kāi)發(fā)板開(kāi)售 比亞迪為應(yīng)達(dá)利頒獎(jiǎng)
基于RK3588平臺(tái)的會(huì)議平板即將發(fā)布

瑞芯微RK3576平臺(tái)FFmpeg硬件編解碼移植及性能測(cè)試實(shí)戰(zhàn)攻略 觸覺(jué)智能RK3576開(kāi)發(fā)板演示

評(píng)論