天天看點

易百納rv1126 201版本開箱

他們社群的編輯器真的很弱啊…

首先, 這個闆子特點就是便宜, 然後最重要的支援很少, 資料一般, 很多人在群裡問很基礎的問題, 就寫個開箱文章吧.

目标是能跑rkmedia_vi_venc_rtsp_test, 用vlc可以看到推流.

那麼從編譯到推流, 一共分幾步??

  1. 安裝ubuntu18 64bit版本虛拟機
  2. 下載下傳sdk, rv1126_rv1109_linux_sdk_v1.8.0.0_PuerVersion.tar.gz 這個版本, 親測有效.
  3. 使用刷機工具, 刷機
    易百納rv1126 201版本開箱
  4. 在Ubuntu裡面安裝編譯環境
sudo apt update
sudo apt upgrade
sudo apt install -y repo gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools autoconf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make binutils build-essential gcc g++ bash patch gzip gawk bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client subversion asciidoc w3m dblatex graphviz python-matplotlib libc6:i386 libssl-dev expect fakeroot cmake flex bison liblz4-tool libtool keychain expect-dev
           
  1. 把sdk複制到ubuntu, 解壓, 設定一下運作環境跟目标開發闆的類型
./envsetup.sh 選78 rockchip_rv1126_rv1109
./build.sh lunch 選4 BoardConfig-aybering.mk
           
  1. 然後嘗試編譯uboot, kernel, rootfs
./build.sh uboot
./build.sh kernel
./build.sh rootfs
           
  1. 接下來在ubuntu裡面安裝免費的vscode, 并安裝喜歡的控件:

    Atom One Dark Them

    C/C++

    Rainbow Brackets

    github copilot(可選)

    eclipse keymap(可選)

  2. 用vscode打開external/rkmedia目錄
    易百納rv1126 201版本開箱
  3. 修改example裡面的Makefile檔案, 這個是重頭戲.
hide := @
ECHO := echo

# 這裡是交叉編譯的位址, 要根據你sdk所在的實際路徑修改
GCC := /home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc-8.3.0

# 這裡要指定buildroot的編譯器根目錄
SYSROOT = /home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/buildroot/output/rockchip_rv1126_rv1109/host/arm-buildroot-linux-gnueabihf/sysroot

# 下面要指定rkaiq庫的頭檔案位置
CFLAGS := -I../include/rkmedia \
			-I/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/camera_engine_rkaiq/include/common \
			-I/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/camera_engine_rkaiq/include/xcore \
			-I/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/camera_engine_rkaiq/include/uAPI \
			-I/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/camera_engine_rkaiq/include/algos \
			-I/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/camera_engine_rkaiq/include/iq_parser

LIB_FILES := -L$(SYSROOT)/usr/lib \
			 -L/home/marc/rv1126_rv1109_linux_sdk_v1.8.0_20210224/external/rkmedia/examples/librtsp/

# 後面要加入rtsp庫
LD_FLAGS := -lpthread -leasymedia -ldrm -lrockchip_mpp \
	        -lavformat -lavcodec -lswresample -lavutil \
			-lasound -lv4l2 -lv4lconvert -lrga \
			-lRKAP_ANR -lRKAP_Common -lRKAP_3A \
			-lmd_share -lrkaiq -lod_share -lrtsp

CFLAGS += -DRKAIQ

SAMPLE_COMMON := common/sample_common_isp.c

# 要編譯的源檔案就是rkmedia_vi_venc_rtsp_test.c, 最後形成的可執行檔案在build/rkmedia_vi_venc_rtsp_test目錄, 你可以手動建一個這個目錄
all:
	$(GCC) rkmedia_vi_venc_rtsp_test.c $(SAMPLE_COMMON) $(LIB_FILES) $(LD_FLAGS) $(CFLAGS) -o build/rkmedia_vi_venc_rtsp_test --sysroot=$(SYSROOT)
	# $(GCC) helloworld.c $(SAMPLE_COMMON) $(LIB_FILES) $(LD_FLAGS) $(CFLAGS) -o build/helloworld --sysroot=$(SYSROOT)
	$(hide)$(ECHO) "Build Done ..."

           
  1. 提示Build Done … 沒報錯, 就成功了
  2. 用usb線把闆子的otg的口, 跟ubuntu連起來, 在ubuntu裡面用apt install adb, 安裝adb, 裝完之後用adb devices看看能找到這個adb裝置不, 不行的話看看otg是否映射到了ubuntu虛拟機上
  3. 用adb push rkmedia_vi_venc_rtsp_tes /userdata/rkmedia_vi_venc_rtsp_tes 把app直接推到開發闆上, 當然你可以用nfs.
  4. 在開發闆上跑這個app的時候, 後面要加一個 -a, 即
chmod +x rkmedia_vi_venc_rtsp_tes
./rkmedia_vi_venc_rtsp_tes -a
           

這樣螢幕上就會滾動

易百納rv1126 201版本開箱

恭喜你推流成功

  1. 回到ubuntu, 拿usb網卡, 一條網線, 連到開放闆 ,如果你的開發闆沒有該過ip, 位址就應該是192.168.100.75, 把你的usb網卡的ip設定到這個網段, 直到确定能ping通你的開發闆.
  2. 然後apt install vlc, 使用這個串流位址播放: rtsp://192.168.100.75/live/main_stream
  3. 哎呀媽, 出畫面了…
    易百納rv1126 201版本開箱
    附上一張我攝像頭的接法: 攝像頭是imx415
    易百納rv1126 201版本開箱

繼續閱讀