前 言
本文主要介紹基于創龍科技TL3588-EVM評估板的視頻開發案例,適用開發環境如下。
Windows開發環境:Windows 7 64bit、Windows 10 64bit
虛擬機:VMware16.2.5
開發環境:Ubuntu20.04.6 64bit
U-Boot:U-Boot-2017.09
Kernel:Linux-5.10.160
Debian:Debian11
LinuxSDK:LinuxSDK-[版本號](基于rk3588_linux_release_v1.2.1_20230720)
我司提供的視頻開發案例位于產品資料“4-軟件資料Demoplatform-demos”目錄下,本文檔對應案例的測試模塊型號、測試結果說明如下表所示。
表 1
評估板文件系統默認已支持GStreamer庫,可執行如下命令查看GStreamer庫使用說明。
Target# gst-inspect-1.0 -h
圖 1
GStreamer是用來構建流媒體應用的開源多媒體框架,其目標是要簡化音視頻應用程序的開發,目前可被用于處理MP3、Ogg、MPEG1、MPEG2、AVI、Quicktime等多種格式的多媒體數據。
v4l2_capture案例
案例說明
本案例主要基于V4L2與DRM子系統實現MIPI攝像頭的視頻采集,并通過HDMI進行顯示,驗證CAMERA1~CAMERA6接口功能。
備注:當前程序僅支持NV12格式數據采集。
程序流程圖如下圖所示。
圖 2
V4L2(Video For Linux Two)為Video ForLinux API的第二個版本,用于模擬無線電、視頻捕獲、輸出驅動程序的內核接口。
DRM(Direct Rendering Manager)用于管理顯示輸出和分配buffer。關于DRM子系統的詳細介紹可參考產品資料“6-開發參考資料其他參考文檔”目錄下的《brezillon-drm-kms》。
圖 3?DRM整體框架
案例測試
我司提供已配置的內核鏡像文件boot-xxx-xxx.img,位于產品資料“4-軟件資料Demoplatform-demosv4l2_capturedtsbin”目錄下,其對應關系如下表所示。
表 2
本次以替換boot-ov13850-cam2.img內核鏡像為例,請將其拷貝至評估板文件系統,執行如下命令替換評估板內核鏡像。如需測試其他模塊以及對應的接口,請根據實際情況替換內核鏡像。
備注:如需固化至eMMC,請將設備節點修改為"/dev/mmcblk0p3"。
Target# dd if=boot-ov13850-cam2.img of=/dev/mmcblk1p3
Target# sync
Target# reboot
圖 4
本次以測試創龍科技TL13850模塊為例,請將產品資料"4-軟件資料Demoplatform-demosiqfiles"目錄下的IQ參數文件ov13850_RK-CMK-8M-2-v1_CK8401.json拷貝至評估板文件系統"/etc/iqfiles/"目錄下,然后執行如下命令,進行轉換字符。
Target# dos2unix /etc/iqfiles/ov13850_RK-CMK-8M-2-v1_CK8401.json
Target# sync
Target# reboot
圖 5
備注:如需測試其他模塊,請將對應IQ參數文件拷貝至評估板文件系統"/etc/iqfiles/"目錄下,進行轉換字符,對應IQ參數文件如下表所示。
表 3
TL13850模塊測試
請使用FFC軟排線將MIPI攝像頭模塊(創龍科技TL13850)連接至評估板CAMERA2接口,將評估板HDMI OUT接口連接至HDMI顯示屏。
注意:請使用FFC軟排線(30pin,間距0.5mm,同向),按照如下方法進行硬件連接,并仔細核對評估板接口、FFC軟排線、攝像頭三者線序,否則可能燒毀攝像頭。
圖 6
執行如下命令采集視頻,并輸出至顯示設備。
Target# ./v4l2_capture -M rockchip -i /dev/video-camera0 -S 1920x1080 -f NV12 -F NV12 -b 4 -o 208:71:1920x1080
圖 7
圖 8
Camera Module v2模塊測試
請使用FFC軟排線將MIPI攝像頭模塊(樹莓派Camera Module v2)連接至評估板CAMERA3接口,將評估板HDMI OUT接口連接至HDMI顯示屏。
注意:請使用FFC軟排線(15pin,間距1.0mm,反向),按照如下方法進行硬件連接,并仔細核對評估板接口、FFC軟排線、攝像頭三者線序,否則可能燒毀攝像頭。
圖 9
執行如下命令采集視頻,并輸出至顯示設備。
Target# ./v4l2_capture -M rockchip -i /dev/video-camera0 -S 1920x1080 -f NV12 -F NV12 -b 4 -o 208:71:1920x1080
圖 10
圖 11
案例編譯
設備樹編譯
將案例"dtssrc"目錄下tl3588-evm-imx219.dts、tl3588-evm-ov13850.dts設備樹拷貝至LinuxSDK源碼"kernel/arch/arm64/boot/dts/rockchip/"目錄下。
圖?12
請按照《Debian系統使用手冊》文檔Debian系統鏡像編譯、生成章節,替換設備樹并重新編譯內核,將生成的內核鏡像文件拷貝至評估板文件系統進行固化,評估板重啟后將會加載新的內核鏡像文件。
程序編譯
將案例源碼拷貝至Ubuntu工作目錄,進入src源碼目錄,執行如下命令修改Makefile文件中的SDK_ROOT_PATH路徑,請根據實際情況修改為LinuxSDK源碼路徑。
Host# vi Makefile
圖 13
圖 14
執行如下命令進行案例編譯,編譯完成將會在相同目錄下生成可執行程序。
Host# make
圖 15
案例解析
設備樹說明
我司提供的設備樹文件tl3588-evm-xxx.dts,位于產品資料“4-軟件資料Demoplatform-demosv4l2_capturedtssrc”目錄下。其對應關系如下表所示。
表 4
如需使用相應接口測試攝像頭模塊,可參考如下方法修改對應設備樹文件。本次以CAMERA3接口為例,測試樹莓派Camera Module v2模塊。
將代碼"#define CAMERA3_ENABLE_IMX219 0"修改為:"#define CAMERA3_ENABLE_IMX219 1"即可。
圖 16?tl3588-evm-imx219.dts
關鍵代碼說明
(1)顯示初始化。
圖 17
(2)采集初始化。
圖 18
(3)DRM buffer申請與綁定。
圖 19
(4)圖像采集與顯示。
圖 20
審核編輯 黃宇
-
開發板
+關注
關注
26文章
6289瀏覽量
118058 -
RK3588
+關注
關注
8文章
556瀏覽量
7320
發布評論請先 登錄
創龍 瑞芯微 RK3588 國產2.4GHz八核 工業開發板—視頻開發案例(下)
創龍 瑞芯微 RK3588 國產2.4GHz八核 工業開發板—IgH?EtherCAT主站開發案例(下)
創龍 瑞芯微 RK3588 國產2.4GHz八核 工業開發板—IgH?EtherCAT主站開發案例(上)
創龍 瑞芯微 RK3588 國產2.4GHz八核 工業開發板—物聯網模塊開發案例
創龍 瑞芯微 RK3588 國產2.4GHz八核 工業開發板—視頻開發案例(上)
評論