易百纳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版本开箱_第1张图片
  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版本开箱_第2张图片

  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版本开箱_第3张图片
恭喜你推流成功

  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版本开箱_第4张图片
    附上一张我摄像头的接法: 摄像头是imx415

你可能感兴趣的:(1024程序员节,嵌入式硬件,视频编解码)