文章目录
- [1 概要](#1 概要)
- [2 视频监控的作用](#2 视频监控的作用)
- [3 视频监控方案](#3 视频监控方案)
-
- [3.1 我们需要实现的内容](#3.1 我们需要实现的内容)
- [3.2 几种流媒体协议](#3.2 几种流媒体协议)
- [4 总结](#4 总结)
- [5 其他章节链接](#5 其他章节链接)
1 概要
本章将会介绍两种视频监控方案,,其中一种可以运行在低性能的板子上,另一种是热门的流媒体方案。
2 视频监控的作用
- **家居:**家庭安防;照顾老人,小孩;照顾宠物
- **公司:**仓库防火防盗,疫情防控(摄像头配合温度测试,自动检测体温)
- **农业:**大棚检测,研究记录
- **娱乐:**极限运动记录,风景拍摄
- **社会:**交通检测,安保
3 视频监控方案
3.1 我们需要实现的内容

整个过程可以分为三个部分,推流端,流媒体服务器端,流媒体客户端(手机等)。
-
推流端
在我们的开发板上需要运行两个进程,一个进程处理摄像头的数据,一个进程用于网络线程,进行数据传输,即推流,推流我们可以使用MMJPG-Streamer,ffmpeg等。
-
流媒体服务器端
之后推流会推流到流媒体服务器上,现在的流媒体服务器用的比较广泛的是Nginx。
-
拉流端/流媒体客户端
流媒体客户端通过拉流可以从流媒体服务器上获取相应的视频资源并显示在客户端上,现在用的比较多的拉流软件是VLC。

3.2 几种流媒体协议

其中RTMP和HTTP-FLV是adobe公司的产品。
RTMP基于TCP,存在被拦截的风险,基于此原因,后续开发了HTTP-FLV(现在主流的直播所用协议),此协议在浏览时会直接将资源下载到本地,防止被拦截,但是此可能会导致资源已被盗取。

4 总结
介绍了整体流程和几种常见的流媒体服务器。
5 其他章节链接
- 三种视频监控方案介绍
- MJPG-streamer方案的实现以及原理分析
- 流媒体方案的实现之ffmpeg
- 流媒体方案的实现之Nginx
- 摄像头和声卡接口