完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 jackeyt 于 2017-5-1 15:19 编辑 试用目录: 1、【EVB-T335开发板试用体验】1、开箱上电 2、【EVB-T335开发板试用体验】2、开发环境搭建+踩坑纪录 3、【EVB-T335开发板试用体验】3、建立linux内核source insight工程 4、【EVB-T335开发板试用体验】4、linux驱动篇:点亮一盏LED灯(上) 5、【EVB-T335开发板试用体验】5、linux驱动篇:点亮一盏LED灯(中) 此贴是【EVB-T335开发板试用体验】的第七篇:结项篇之一——移植mjpg-streamer实现监控 一、什么是mjpg-streamer 要了解什么是mjpg-streamer,首先我们先来了解一下以下概念: 在嵌入式系统中,常用的视频图像处理开源系统有:luvcview、cheese、motion、mjpg-streamer或者ffmpeg,其中:
mjpg-streamer,是用于从webcam摄像头采集图像,把他们以流的形式通过基于ip的网络传输到浏览器如Firehox,Cambozola,VLC播放器,Windows的移动设备或者其他拥有浏览器的移动设备。它可以利用某些webcams的硬件压缩功能来降低服务器CPU的开销。它为嵌入式设备和一些常规服务器提供了一个轻量且更少CPU消耗的方案,因为它无需为视频帧压缩浪费大量的计算效率。 一般下载后(涉及到的源码以及相关的库,我已经放到附件中,有需要的朋友可到下方下载吧),mjpg-streamer下包含如下目录:其中mjpg-streamer提供了各个输入输出设备组件,uvc-streamer提供了uvc-streamer的可执行目录,mjpeg-client分别有linux和Window的客户端测试程序。 二、mjpg-streamer的工作流程 三、mjpg-streamer的线程流程 四、mjpg-streamer的移植过程 mjpg-stream的移植需要jpeg的库,所以我们先移植jpeg的库。 4.1、jpeg库的移植 1)下载源码:http://www.ijg.org/files/jpegsrc.v8b.tar.gz 或者在附件中,下载我上传的源码包! 2)解压
3)配置源码
4)编译
如下: 5)安装
结果如下: 如上图,libjpeg.so即是我们想要的库。 6)拷贝库文件相关至开发板lib目录下 6.1)、在Ubuntu主机下:
6.2)、在开发板上:
4.2、mjpg-streamer移植前的准备 2)sudo apt-get install libjpeg62-dev 3)sudo apt-get install imagemagick 4.3、mjpg-streamer移植 1)下载源码 在https://sourceforge.net/projects/mjpg-streamer/下载的源码(mjpg-streamer-r63)有点老了,最新的版本使用以下命令下载:(或者使用我上传的源码附件包)
2)解压源码
3)查看目录结构
再使用ls命令查看: 一共有这么多目录: doc mjpg-streamer udp_client mjpeg-client mjpg-streamer-experimental uvc-streamer mjpg-streamer :目录下提供了 的执行程序和各个输入输出设备组件 uvc-streamer : 目录下提供了 uvc-streamer的可执行目录 mjpeg-client:: 分别有 linux和windows 的客户端 4)修改源码 修改Makfile: (路径:home/jackeyt/mjpg-streamer-code-182/mjpg-streamer/plugins/input_uvc/Makfile) 将
改为:
将:
修改为:
注:/home/jackeyt/libjpeg 就是上面移植jpeg库后安装的目录。 5)编译:
在mjpg-streamer生成了:input*.so output*.so 和 mjpg_streamr 可执行文件 如下图所示:
拷贝
4.4 挂载摄像头 我们这里使用UVC免驱摄像头进行挂载,至于UVC摄像头,已经很常见了,这里不再赘述了。插入摄像头后,发现: 看来,是内核并未加入该驱动,因此,我们需要修改内核了。 1)修改内核: Device Drivers ---> <*> Multimedia support ---> Video capture adapters---> V4L USBdevices ---> <*> USB Video Class (UVC) UVC input events devicesupport <*> GSPCA based webcams ---> USB support ---> USB announce newdevices <*> USB Gadget Support---> <*> USB Webcam Gadget 2)重新编译并烧录: 根据官方提供的手册进行烧录,这里不再赘述了。 3)重新插上USB摄像头: 此时,USB摄像头已经成功识别出来,我们此时,再次输出命令,查看摄像头挂载至何处? 可以发现:我们的摄像头已经被成功挂载,并设为video0了。 4)运行mjpg-streamer 切换至mjpg-streamer的目录,使用命令:
或者使用mjpg-streamer官方提供的脚本:
可以看到执行效果: 五 最终效果 在浏览器中输入:开发板相应的地址即可看到视频效果
如下图所示: 其次,我们还可以通过上文所提及的:mjpg-streamer-code-182mjpeg-clientbin下的windows或者linux的客户端进行访问:
|
|
相关推荐
4 个讨论
|
|
只有小组成员才能发言,加入小组>>
【盈鹏飞RK3399安卓主板 XPC-3399Pro免费试用】+烧写出厂固件
10273 浏览 0 评论
【盈鹏飞EVB-T335开发板试用体验】debian系统烧写
3296 浏览 1 评论
【盈鹏飞I.MX6UL工控开发板试用体验】linux can 测试
3192 浏览 0 评论
264浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 19:07 , Processed in 0.709944 second(s), Total 73, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号