Linux基础项目开发2:物联网监控——视频监控方案介绍(一)

前言:

这次我们来做一个关于视频监控的基础小项目,需要我们用到网络的相关知识,还会学到好多优秀的网络协议,下面让我们开始对物联网视频监控进行一个大体框架的介绍吧

目录

项目内容:

1.视频监控方案介绍

2.视频监控的作用

3.使用流媒体

4. 几种流媒体协议

5.流媒体服务:两端加一服 


项目内容:

1.视频监控方案介绍

介绍2种方案,一种可以运行在低性能的板子上,另一种是热门的流媒体方案MJPG-streamer

方案的实现

1.移植、使用                  2.框架,代码

流媒体方案的实现之ffmpeg

1.移植、使用                 2.内部流程                        3.参数讲解

流媒体方案的实现之Nginx

1.移植                            2.多场景使用

摄像头和声卡接口

1.摄像头V4L2接口        2.声卡ALSA接口

内网穿透

1.原理                           2.两种实现方法

 2.视频监控的作用

家居

        1.家庭安防               2.照顾老人、小孩        3.照顾宠物

公司

        1.仓库防火防盗        2.疫情防控(摄像头配合温度测试,自动检测体温)

农业

        1.大棚监测               2.研究记录

娱乐

        1.极限运动记录        2.风景拍摄

社会

        1.交通监测                2.安保

如果只是想在客厅查看房间的情况,不需要什么复杂的协议

 我们需要写2个程序:

        在连接摄像头的ARM板子上,实现一个服务器程序:它一边读取摄像头数据,一边等待客户端连接并发送数据

        在手机或电脑上,编写客户端程序,它会从ARM板上获得数据并显示出来

        这2个程序之间,并不需要实现复杂的协议

                        约定数据格式

                        传输一帧帧的数据

实际上,我们可以使用现成的程序:

        mjpg-streamer,它运行在ARM板上

        在手机上使用浏览器直接观看视频

mjpg-streamer优点:

        程序简单,所有源码一目了然,便于学习

        对ARM板的性能要求不高,主频200MHzARM芯片也能实现

 mjpg-streamer缺点:

        只能实现局域网内的视频监控

        要实现互联网视频监控,需要另外实现内网穿透

        mjpg-streamer没有实现声音传输

        mjpg-streamer项目已经不再维护,仅仅建议用于学习

3.使用流媒体

我们需要写3个程序:

        在连接摄像头的ARM板子上,实现一个推送程序:它一边读取摄像头数据,一边把数据推送给服务器

        在服务器上,实现“流媒体服务器”程序:它接收ARM板发来的数据,并把数据转换格式后发给手机等客户端

        在手机等客户端上,实现拉取程序:它从服务器上拉取数据,并显示出来

实际上,我们可以把互联网功能去掉:

        把“推送程序”、“流媒体服务器”程序,都在ARM板上运行;手机等客户端只能在同一个局域网里观看视频

        或者也使用内网穿透技术实现互联网视频监控

我们并不需要从头实现这些功能:

        推送程序:ffmpeg

        流媒体服务器程序:Nginx

        客户端程序:VLC浏览器

我们需要了解一些协议:

        程序一多,大家都遵守一些协议才好协同工作

        有很多流媒体协议

        STMP、HTTP-FLVHLS

 4. 几种流媒体协议

RTMP

        Real Time Messaging Protocol

        Adobe公司出品,需要Flash player才能观看

        延时小,适合直播

HttpFlv

        在HTPP上实现RTMP,传输的数据跟RTMP一样都是flv文件

        B站开源了flv.js,实现了纯HTML5观看直播,不再需要Flash player

        延时小,适合直播

        HttpFlv只能做直播,而RTMP可以实现更多操作        

        但是HttpFlv通过Http 80端口传输,穿透性强

HLS

        HTTP Live Streaming

        Apple出品

        延时大,适合看视频,不适合直播

 

5.流媒体服务:两端加一服 

注意:

        RTMP可以用在双端

        HTTPFLV 、HLS 只能用在拉流端

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/266899.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

远程工作:自由职业者如何成功赚钱

前言 在这个不断进步的数字化时代,远程工作已经从一个可选的边缘工作方式,成长为主流职业趋势的一部分。特别是自从全球疫情改变了我们的生活和工作方式以来,远程工作的概念不再是遥不可及的理想,而是已经成为许多人日常工作的现…

音乐制作工具 Ableton Live 12中文最新 for Mac

Ableton Live 12 Mac具有直观的界面和强大的功能,使得音乐制作变得更加简单和高效。它支持实时录制、编辑和混音,用户可以在创作过程中随时进行修改和调整。此外,该软件还提供了各种音频效果、虚拟乐器和采样器,使用户可以创建出更…

WPF仿网易云搭建笔记(4):信息流控制之消息订阅

文章目录 专栏和Gitee仓库前言消息订阅最简单的案例简单用例父组件订阅子组件回调 结果 消息订阅机制消息token是A还是B?传递消息的载体。双重token重复订阅问题 结论 专栏和Gitee仓库 WPF仿网易云 Gitee仓库 WPF仿网易云 CSDN博客专栏 前言 上一篇文章中,我们简单…

Keepalived+Nginx实现高可用(上)

一、背景与简介 为了服务的高可用性,避免单点故障问题,通常我们使用"冗余设计思想"进行架构设计。冗余设计思想,本质就是将同一个应用或者服务放置在多台不同的服务器上[鸡蛋不放在同一个篮子里],这样减少整体服务宕机的…

Proxmark3 Easy救砖-20231209

事情是这样的,在淘宝买了个PM3,拿到手后刷固件的,一不小心刷成砖头了,现象就是四个灯全亮,插上电脑USB不识别。问商家他也不太懂,也是个半吊子技术,远程给我刷机搞了半天也没有搞定,…

Spark与PySpark(1.概述、框架、模块)

目录 1.Spark 概念 2. Hadoop和Spark的对比 3. Spark特点 3.1 运行速度快 3.2 简单易用 3.3 通用性强 3.4 可以允许运行在很多地方 4. Spark框架模块 4.1 Spark Core 4.2 SparkSQL 4.3 SparkStreaming 4.4 MLlib 4.5 GraphX 5. Spark的运行模式 5.1 本地模式(单机) Local运行模…

scripty妙用

在monorepo项目中,随着子模块增多, 每个子项目都需要配置各自的package.json,并且大同小异,为了进一步提高配置效率,引入了scripty,自己写脚本,直接就可以用哦 1、安装 npm install scripty --save-dev 2…

051:vue项目webpack打包后查看各个文件大小

第050个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

Firmware Analysis Plus (Fap)固件模拟安装教程(最新)

最近在搞IoT的研究,但是难在设备比较难弄,只有固件,而没有设备,买吧,又太费钱,不划算。好在有很多项目可以在模拟环境中运行固件。但是几乎没有一个平台能够模拟所有硬件设备。IoT产品的架构也不尽相同。 …

C# WPF上位机开发(文本编辑器的界面开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 通常我们学习一个新软件的时候,一般都要看下这个软件有哪些菜单、工具栏有什么、状态栏有什么。每一个菜单或者工具代表着什么意义&…

无线且列窄图片如何转excel?

写此文原因:图片要转excel,这放以前,是不能实现的功能,但随着人工智能的蓬勃发展,人们已克服了这一难题,但是,我们知道,要将图片识别成excel,识别程序首先要先识别图片中…

nodejs+vue+微信小程序+python+PHP基于spark的酒店管理系统-计算机毕业设计推荐

通过管理系统进行全面的线上管理。管理者可以通过基于spark的酒店管理系统,全面掌握酒店客房的各项状态,会员通过系统查询酒店客房信息,在线预定。 酒店作为旅游过程必须的设施,也逐渐需需要进行信息化管理,把酒店类型…