参考视频:
韦东山老师手把手带你从0开始自己做一个视频监控系统
这篇文章写的很好,很容易理解了,就不造轮子了
正点原子imx6ull开发板视频监控项目实战系列1: 总体方案介绍
插入usb摄像头,控制台输出设备信息,证明UVC驱动已经编译成功
usb 1-1.3: New USB device found, idVendor=0c45, idProduct=64ab usb
1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb
1-1.3: Product: Integrated_Webcam_HD usb 1-1.3: Manufacturer: 170428-
uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD (0c45:64ab)
input: Integrated_Webcam_HD as
/devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input3 usb 1-1.4: new high-speed USB device number 4 using ci_hdrc usb 1-1.4:
New USB device found, idVendor=0bda, idProduct=8179 usb 1-1.4: New USB
device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-1.4: Product:
802.11n WLAN NIC usb 1-1.4: Manufacturer: Realtek
查看/dev/video*,有视频类设备文件,证明UVC驱动已经编译成功
测试方案
将从摄像头获取的图像投射到RGB566显示屏
移植libjpeg
因为我的摄像头只支持图像格式:MJPEG,YUV422,而显示屏只支持RGB565,所以需要使用工具将MJPEG转码为RGB565。
v4l2+framebuf应用编程
特此将libjpeg+v4l2+frambuff+移植过程分享出来
简介
正点原子imx6ull开发板视频监控项目实战系列3:
ffmpeg
这篇文章介绍了ffmepeg的用途和对摄像头的拉流方式
移植
因为正点原子的文档没有对ffmpeg详细移植步骤,在网络上找了好几个移植描述,但是并不正确,只有这个才是适合我的板子的.
以下是我做的运行脚本,可直接拷走使用,切记16,17行内容不能分行分行运行,回报错误
FFmpeg移植-迅为IMX6ULL开发板
1 #!/bin/bash
2 ./configure \
3 --cross-prefix=arm-linux-gnueabihf- \
4 --enable-cross-compile \
5 --target-os=linux \
6 --cc=arm-linux-gnueabihf-gcc \
7 --arch=arm \
8 --prefix=/home/sheldon/linux/tool/ffmpeg-install \
9 --enable-shared \
10 --disable-static \
11 --enable-gpl \
12 --enable-nonfree \
13 --disable-ffplay \
14 --enable-swscale \
15 --enable-pthreads \
16 --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-x86asm \
17 --disable-stripping --enable-libx264 \
18 --extra-cflags=-I/home/sheldon/linux/tool/x264_install/include/ \
19 --extra-ldflags=-L/home/sheldon/linux/tool/x264_install/lib/ --extra-libs=-ldl