1、获取mjpg-streamer源码 | svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer
|
2、修改Makefile文件 | cd mjpg-streamer/plugins/input_uvc
sudo nano Makefile
|
将CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC 改为CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC –I ~/jpeg-6b-release/include 将input_uvc.so: $(OTHER_HEADERS) input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(CC) $(CFLAGS) -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(LFLAGS) 改为input_uvc.so: $(OTHER_HEADERS) input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(CC) $(CFLAGS) -L~/jpeg-6b-release/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(LFLAGS) 注:红字部分为之前编译安装libjpeg的目录 编译前,还需要安装jpeg支持库: | sudo apt-get install libjpeg62-dev
|
3、编译 编译完成,目录下多了可执行文件mjpg_streamer 还有一些.so 动态库。 在这里我们还需要将libjpeg.so.62拷贝至mjpg_streamer文件夹下。关于libjpeg.so.62的交叉编译上一贴已经介绍。 我们把整个mjpg-stremer 文件夹拷贝到到U盘上备用。 4、启动 将U盘和USB摄像头插入Aworks开发板。 进入/media/usb-sda1/mjpg-streamer目录。执行 这里可能会提示错误,如果提示video capture not supported,检查USB摄像头是否正常,如果摄像头正常,可能是视频设备路径错误,启动vi编辑器,编辑start.sh文件 将./mjpg_streamer -i "./input_uvc.so -d /dev/video0" -o "./output_http.so -w ./www" 改为./mjpg_streamer -i "./input_uvc.so -d /dev/video1 -f 30" -o "./output_http.so -w ./www" mjpg_streamer 的具体用法可以自己去搜索一下。这里添加的-f 30是将视频的帧率设定位30帧,不设置的话默认是5帧,30帧就很流畅了。 修改后启动 这样就是启动成功了。可以看到分辨率、端口等参数都是默认的,mjpg_streamer的功能很强大,还有很多可以设置的参数,需要请自行搜索。 现在使用浏览器访问指定的端口就可以看到视频,我这里的地址是http://192.168.0.100:8080/stream.html 点击左面的Control还可以在弹出的页面对摄像头参数进行调节。 视频很流畅,这是我录制的一段视频:http://www.meipai.com/media/399867675
|