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

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

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

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

交叉編譯與移植FFmpeg
以下操作在PC端虛擬機里面進行
- 下載7.1版本ffmpeg源碼:
git clone -b 7.1 --single-branch https://gitee.com/work_public/ffmpeg-rockchip.git
- 交叉編譯FFmpeg
(1)進入FFmpeg源碼目錄:
cd ffmpeg-rockchip
(2)設置pkgconfig 環(huán)境變量:
export PKG_CONFIG_SYSROOT_DIR=/sysroot_rk35xx_ubuntu2204/ export PKG_CONFIG_PATH=/sysroot_rk35xx_ubuntu2204/usr/lib/aarch64-linux-gnu/pkgconfig
(3)創(chuàng)建install目錄:
mkdir install
(4)執(zhí)行configure_rk3576.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_rk3576_ubuntu2204/ \ --extra-cflags="-I/opt/sysroot_rk3576_ubuntu2204/usr/include/aarch64-linux-gnu" \ --extra-ldflags="-B/opt/sysroot_rk3576_ubuntu2204/usr/lib/aarch64-linux-gnu -Wl,-rpath-link=/opt/sysroot_rk3576_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_rk3576.sh
(6)開始編譯:
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
- 移植至主板端(以下操作在主板端進行)
(1)將剛才打包的ffmpeg_install.tar拷貝到主板上解壓:
sudo mkdir /usr/local/ffmpeg sudo tar -xvf ffmpeg_install.tar -C /usr/local/ffmpeg/
(2)設置環(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
編解碼測試
- 測試常見命令(以下操作在主板端進行)
(1)測試時,需要主板端開啟性能模式,且主板接上風扇散熱,開啟性能模式指令:
echo performance | tee $(find /sys/ -name *governor);
(2)測試時查看CPU使用率:
top -d 1
- 解碼測試
(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 -
- 編碼測試
(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
至此,RK3576 FFmpeg的移植和測試教程已完成,關注觸覺智能,將為您帶來RK系列RK3562、RK3568、RK3576、RK3588的FFmpeg測試對比,敬請期待!
產(chǎn)品介紹
觸覺智能RK3576開發(fā)板,可提供郵票孔或板對板連接器兩種封裝的核心板,音視頻接口、通信接口等各類接口一應俱全,可幫助企業(yè)提高產(chǎn)品開發(fā)效率,縮短上市時間,降低成本和設計風險。助力全國產(chǎn)Arm高階應用! 支持工業(yè)級攝像機高清圖像輸入與4K HDMI超清錄屏,賦能工控視覺、AIOT等場景;8核與6T高算力,流暢運行視頻、AI應用及多任務處理,兼顧低功耗與工業(yè)穩(wěn)定性,全能型高階方案就選TA!
-
編解碼
+關注
關注
1文章
149瀏覽量
20354 -
開發(fā)板
+關注
關注
25文章
6002瀏覽量
110080 -
核心板
+關注
關注
6文章
1300瀏覽量
31515 -
ffmpeg
+關注
關注
0文章
49瀏覽量
7799 -
rk3576
+關注
關注
1文章
210瀏覽量
1232
發(fā)布評論請先 登錄
評論