安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现)

这篇具有很好参考价值的文章主要介绍了安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

书接上期,我们已经实现了许多功能了,但是对于视频流的实时上传还未实现,本期主要分享的就是如何具体实现网页实时显示摄像头采集到的视频,从而实现安防中监控的功能,这个功能完成后呢,就只剩下一个功能需求了,那就是GPRS模块,能够实现危险报警的功能,也能够打电话警报;只有这些功能完全实现,我们才能完整的结束这个项目!下面来带大家看一下视频流信息究竟是如何一步步上传到网页的呢?

一、硬件准备和硬件设备的查询

首先呢,必须准备一个摄像头,哈哈哈,对头不!接下来教大家来看一下怎样查看摄像头的基本信息,如果是在Windows下,大家只需要把USB摄像头插入电脑的USB接口,显示的信息如下:
安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现),安防监控项目,音视频,单片机,stm32,嵌入式硬件,arm开发,linux,安防监控
大家可以在这里进行查看摄像头的属性信息,主要是查看硬件ID,包括VID和PID,并且可以在UVC官方网站里面看一下是否支持这个摄像头;
如果大家直接插入到A9板子上,那么得看一下是否板子的内核支持,首先我们必须确定的是USB必须支持,紧接着查看设备节点目录下是否有该设备节点;
当插入摄像头的时候会显示以下信息:
安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现),安防监控项目,音视频,单片机,stm32,嵌入式硬件,arm开发,linux,安防监控
安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现),安防监控项目,音视频,单片机,stm32,嵌入式硬件,arm开发,linux,安防监控
并且大家也能够看到这里的ID号和Windows下的ID号是一致的!

紧接着查看设备节点:
安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现),安防监控项目,音视频,单片机,stm32,嵌入式硬件,arm开发,linux,安防监控
哈哈哈,大家是不是还想看一下拔出是个啥情况,满足大家需求:
安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现),安防监控项目,音视频,单片机,stm32,嵌入式硬件,arm开发,linux,安防监控
如果上述这些操作大家都正常,那么表示咱们的硬件环境已经搭建完成了,接下来需要做的就是进行软件实现视频流上传了;
大家一定要注意板子的内核一定得支持USB接口,要不然咱们插上摄像头是不会显示信息的,先配置内核,编译好内核后放在tftp目录下,板子启动后再插入;

二、 jpeg库的移植

又到了移植的环节了,本项目做到这里呢,已经是第三个移植了,从前两个移植中我们基本已经知道了移植其实就是将现成的接口标准库拿过来加入到自己的项目框架中,进行合理运用;

2.1 源码下载

源码的下载可以点击下面这个网站:http://sourceforge.net/apps/mediawiki/mjpg-streamer/index.php?title=Main_Page

2.2 jpeg库的移植

依旧是先下载,http://www.ijg.org/files/jpegsrc.v8b.tar.gz
紧接着解压缩,命令是

tar -xvf jpegsrc.v8b.tar.gz 

接下来配置源码,需要注意的是这里的./configure后面需要紧接着传参:

cd jpeg-8b 
./configure --prefix=自己指定一个目录  --host=arm-none-linux-gnueabi 
注意:--prefix表示最终生成的库和头文件等存放的目录,自己指定一个存在的路径就可以,
后面编译mjpeg-streamer的时候回用到,此处必须使用绝对路径,--host=arm-none-linux-gnueabi  --host表示生成的库的运行平台,
注意是两个 -  ,末尾不能加-./configure 之后为一行命令

这里提到了绝对路径,一般再移植的过程中我们都使用绝对路径,这样保证不会出错;因为毕竟是移植,如果设置为相对路径,移植后的目录已经发生了变化,也就意味着相对路径的相对基准已经发生了变化;还记得boa服务器的移植吗,如果不是移植再根目录下,而是在某一个路径下,那么配置boa.conf文件的时候就必须设置为绝对路径了;这个就是设置为绝对路径的优势!

接下来进行编译,make就行;
最后拷贝库文件到跟文件系统中:

sudo cp /home/fengjunhui/securitymonitor/mjpeg streamer/video/jpegarm/lib/* /home/fengjunhui/source/rootfs/lib

三、mjpeg-stream的移植

首先下载源码;svn cohttps://mjpg-streamer.svn.sourceforge.NET/svnroot/mjpg-streamermjpg-streamer
下载源码后进行解压:
安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现),安防监控项目,音视频,单片机,stm32,嵌入式硬件,arm开发,linux,安防监控
这几个目录文件的作用如下:

doc mjpg-streamer udp_client 
mjpeg-client mjpg-streamer-experimental uvc-streamer 
mjpg-streamer :目录下提供了 的执行程序和各个输入输出设备组件 
uvc-streamer   : 目录下提供了 uvc-streamer的可执行目录 
mjpeg-client: : 分别有 linux和windows 的客户端
  1. 进入到mjpg-stream目录下
  2. 修改源码
vi ./plugins/input_uvc/Makefile
将CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC 
修改为
CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I /home/secure/mjpeg-streamer/video/jpegarm/include  (这个命令大家根据自己的路径来敲)

将(CC)(CFLAGS) -o @inputuvc.cv4l2uvc.lojpegutils.lodynctrl.lo(LFLAGS)
修改为
(CC)(CFLAGS) -L /home/fengjunhui/securitymonitor/mjpeg-streamer/video/jpegarm/lib –o @inputuvc.cv4l2uvc.lojpegutils.lodynctrl.lo(LFLAGS)
  1. 在mjpg-streamer-code-182/mjpg-streamer 目录下
编译:make CC=arm-linux-gcc 
在mjpg-streamer生成了 
input*.so output*.so 和 mjpg_streamr 可执行文件 
小问题:
make CC=arm-linux-gcc
make: svnversion: Command not found     
  解决方案:sudo apt-get install subversion
  	 安装之前先更新一下软件包的源和依赖:
  	Sudo apt-get update              更新软件源
  	Sudo apt-get -f   install         更新依赖
再次编译:
make
Nothing to be done for `all'.
先
make clean,
然后再
make CC=arm-linux-gcc
查看生成的库和可执行的文件: 
fengjunhui@ubuntu:~/securitymonitor/mjpeg-streamer/mjpg-streamer-code-182/mjpg-streamer$ ls *.so
input_file.so         input_uvc.so    output_http.so
input_testpicture.so  output_file.so  output_udp.so
ls mjpg_streamer
mjpg_streamer
  1. 移植到开发板
mkdir    /home/fengjunhui/source/rootfs/mjpg-streamer (你的根文件系统目录)
cp   *.so    /home/fengjunhui/source/rootfs/mjpg-streamer  -arf
cp   mjpg_streamer  /home/fengjunhui/source/rootfs/mjpg-streamer  -arf

将源码目录中的start.sh和目录www拷贝到~/source/rootfs/mjpg-streamer/目录下,然后就可以测试啦 
sudo   cp start.sh   www/    ~/source/rootfs/mjpg-streamer/ -arf

四、测试结果

先打开开发板把内核跑起来,内核必须支持USB,并且对摄像头也有一定的要求,这里需要给大家说仔细了,上面说到的设备号必须在http://www.ideasonboard.org/uvc/网站里面,但是经过我的实测发现,如果其他移植过程都没有问题,并且运行start.sh脚本也没有问题,或者有以下问题:

ERROR opening V4L interface: No such file or directory
 Init v4L2 failed !! exit fatal 
 i: init_VideoIn failed
MJPG-streamer [1296]: init_VideoIn failed

那么大家都可以打开start.sh文件,在以下处进行更改:
安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现),安防监控项目,音视频,单片机,stm32,嵌入式硬件,arm开发,linux,安防监控
紧接着在A9开发板运行BOA服务器,直接进入视频流文件夹下运行start.sh脚本,那么可以观测到以下现象:
安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现),安防监控项目,音视频,单片机,stm32,嵌入式硬件,arm开发,linux,安防监控
安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现),安防监控项目,音视频,单片机,stm32,嵌入式硬件,arm开发,linux,安防监控
以上两张图片就是在网页上显示的视频中午截图所得,视频还是比较模糊的,但是实测了一下离近一点会清晰一点,摄像头用的还是比较便宜哈!


总结

本期的分享就到这里结束了,本期的这些过程如果大家一步步做下来的话,大家会发现遇到的问题还是不少的,但是问题永远是存在的,有时候是硬件设备不匹配,有时候是软件不支持,所以选型就是一个非常重要过程;希望大家还是能够根据自己的项目找到合适的选型;最后,各位小伙伴们如果有收获,可以点赞收藏哦,你们的认可是我创作的动力,一起加油!文章来源地址https://www.toymoban.com/news/detail-741036.html

到了这里,关于安防监控项目---mjpeg-streamer视频图像显示(实时视频流实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VUE+webrtc-streamer 实现实时视频播放(监控设备-rtsp)

    下图则启动成功,此时在浏览器访问127.0.0.1:8000可以看到本机监控画面 地址:https://github.com/mpromonet/webrtc-streamer/releases 注意:第三步在本机启动服务所以 new WebRtcStreamer(id,serverUrl)中URL传入127.0.0.1端口可 文章参考链接:https://blog.csdn.net/liona_koukou/article/details/126605137

    2024年02月02日
    浏览(42)
  • 【树莓派不吃灰】基础篇⑲ 搭建usb摄像头MJPG-streamer图片流监控,支持远程视频监控访问

    ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️ ❤️ 本篇创建记录 2022-11-12 ❤️ ❤️ 本篇更新记录 2022-11-12 ❤️ 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言 📝 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正

    2023年04月15日
    浏览(27)
  • 智能安防系统-视频监控系统

    一、智能安防系统 1、智能安防系统介绍 安全防范系统成为了智慧城市与物联网行业应用中的一个非常重要的子系统。 安防系统主要包括:视频监控系统、入侵报警系统、出入口控制系统、电子巡查系统以及智能停车场管理系统等5个子系统。 AI人工智能安防系统功能:基于

    2024年02月03日
    浏览(44)
  • VUE3+TS+VITE+webrtc-streamer实现实时视频播放(监控设备-rtsp,进来保你成)

    目录 1、下载webrtc-streamer,下载最新window版本  2、解压下载包  3、双击webrtc-streamer.exe启动服务  4、引入webrtc-streamer         1、将下载包中html文件夹下webrtcstreamer.js文件和html/libs文件夹下adapter.min.js文件复制到VUE项目public目录下 2、在index.html文件里引入这两个js文件 5、使

    2024年02月05日
    浏览(26)
  • GB28181安防视频监控系统、liveweb视频管理平台介绍

    视频监控系统是现代社会中不可或缺的一部分,广泛应用于各个领域,如安全监控、交通监控、工业生产监控等。为了满足不同领域的需求,视频监控系统需要具备多种技术。 首先,高清视频技术是视频监控系统的基本要求。高清视频能够提供更清晰、更逼真的图像,帮助用

    2024年03月15日
    浏览(39)
  • 视频监控/安防监控/AI视频分析/边缘计算EasyCVR平台如何调取登录接口获取token?

    安防视频监控管理平台/视频汇聚/视频云存储平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、AI智能分析等,视频监控智能分析平台EasyCVR融合性强、开放度高、部署轻快,在

    2024年02月09日
    浏览(36)
  • 视频云存储/安防监控视频智能分析网关V3:占道经营功能详解

    违规占道经营者经常会在人流量大、车辆集中的道路两旁摆摊,导致公路交通堵塞,给居民出行的造成不便,而且违规占路密集的地方都是交通事故频频发生的区域。 TSINGSEE青犀视频云存储/安防监控视频/AI智能分析网关V3运用视频+AI智能分析技术,实现对城市管理中违规、违

    2024年02月11日
    浏览(32)
  • 视频监控/安防监控/AI视频分析/边缘计算/TSINGSEE青犀AI算法智慧仓储解决方案

    随着全球经济与科学技术的双重推动,我国的仓储管理已经进入了高速发展时期,物流仓储也由简单的储藏仓库向智能化仓储转变。TSINGSEE青犀AI智慧仓储解决方案是利用先进的信息技术和物联网技术来提高仓储管理效率、降低成本的一种仓储管理模式。 方案功能 1)智能算法

    2024年02月09日
    浏览(43)
  • 视频云存储/安防监控/视频汇聚EasyCVR平台新增经纬度选取功能

    视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、

    2024年02月12日
    浏览(37)
  • 安防监控系统/视频云存储EasyCVR平台视频无法播放是什么原因?

    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入

    2024年02月08日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包