本章主要記錄如何移植 nanogui 以及在 buildroot 下快樂(lè)編譯 ffmpeg:
- nanogui 是一個(gè)輕量級(jí)的圖形開(kāi)發(fā)庫(kù),底層使用 wayland 以及 opengles 進(jìn)行加速渲染
- ffmpeg 是視頻處理不可或缺的一個(gè)開(kāi)源中間組件,使用 buildroot 編譯起來(lái)簡(jiǎn)直爽歪歪(之前我手工編譯過(guò)ffmpeg那是一個(gè)麻煩)
主要參考資料:[The Buildroot User Manual.pdf](The Buildroot User Manual.pdf)
1. nanogui 編譯
在編譯 nanogui 這里,修改相關(guān)的選項(xiàng)配置,采用 wayland以及openglES2作為底層加速。記得最重要的一點(diǎn),我采用 nanogui倉(cāng)庫(kù)的 glfw版本,一直出現(xiàn)問(wèn)題,通過(guò)導(dǎo)出 WAYLAND_DEBUG=1
,發(fā)現(xiàn)提示如下錯(cuò)誤run nanogui example1 on YY3568, but crashed:
xdg_surface@31: error 3: xdg_surface must not have a buffer at creation
后來(lái)采用上游的最新版本的 glfw 重新編譯 nanogui,就可以正常運(yùn)行 nanogui 的 example 了。這里展示下截圖:
這部分我修改的代碼,在我fork 的 nanogui 倉(cāng)庫(kù)的 yy2568分支,后續(xù)主要軟件開(kāi)發(fā)也會(huì)在這個(gè)倉(cāng)庫(kù)完成。
2. buildroot 編譯ffmpeg
在這個(gè)過(guò)程中,學(xué)習(xí)到了如何重新構(gòu)建或者編譯單獨(dú)的 package,而不用重新構(gòu)建整個(gè)buildroot,大概有幾種方法,最簡(jiǎn)單的方法是刪除掉 output目錄對(duì)應(yīng)build目錄下的包,比如想重新編譯 sdl2.那么需要?jiǎng)h除掉對(duì)應(yīng)的 sdl2
還有其它的兩種方法,分別如下所示:
具體如何單獨(dú)編譯單獨(dú)的包,需要修改 SDK 的編譯腳本,主要修改的是文件device/rockchip/common/mk-buildroot.sh
,如下所示:
diff --git a/device/rockchip/common/mk-buildroot.sh b/device/rockchip/common/mk-buildroot.sh
index 95b96b6..f59cc83 100755
--- a/device/rockchip/common/mk-buildroot.sh
+++ b/device/rockchip/common/mk-buildroot.sh
@@ -26,6 +26,8 @@ fi
source $TOP_DIR/buildroot/build/envsetup.sh $RK_CFG_BUILDROOT
# 執(zhí)行使用 brmake 腳本進(jìn)行構(gòu)建
+#$TOP_DIR/buildroot/utils/brmake sdl2-reconfigure &&
+# $TOP_DIR/buildroot/utils/brmake ffmpeg-rebuild
$TOP_DIR/buildroot/utils/brmake
if [ $? -ne 0 ]; then
為什么我需要重新編譯 sdl2 呢,是因?yàn)殚_(kāi)始的配置沒(méi)有開(kāi)啟 BR2_PACKAGE_SDL2_WAYLAND
和BR2_PACKAGE_SDL2_OPENGLES
導(dǎo)致使用ffplay遠(yuǎn)程??狄曨l時(shí)啟動(dòng)會(huì)出如下錯(cuò)誤:
[2023-08-11 13:10:28.080] Could not initialize SDL - No available video device
[2023-08-11 13:10:28.080] (Did you set the DISPLAY variable?)
重新編譯后就可以正確讀取到海康視頻碼流了。我的 buildroot對(duì)應(yīng)的配置文件rockchip_rk3568_defconfig
放在附件附件:rockchip_rk3568_defconfig.zip中了。放一張 YY3568 包裝盒視頻截圖:
審核編輯 黃宇
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
4900瀏覽量
97065 -
編譯
+關(guān)注
關(guān)注
0文章
649瀏覽量
32775 -
ffmpeg
+關(guān)注
關(guān)注
0文章
46瀏覽量
7372 -
RK3568
+關(guān)注
關(guān)注
4文章
492瀏覽量
4891
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論