当前位置: 首页 > news >正文

实战小项目之视频监控(1-1)

实战小项目之视频监控(1-1)

目前常见的视频监控和视频直播都是使用了 RTMP 和 RTSP 流媒体传输协议等。

RTSP(Real-Time Stream Protocol)由 Real Networks 和 Netscape 共同提出的,基于文本的多媒体播放
控制协议。RTSP 定义流格式,流数据经由 RTP 传输;RTSP 实时效果非常好,适合视频聊天,视频监控等
方向。

RTMP(Real Time Message Protocol)由 Adobe 公司提出,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题,优势在于低延迟,稳定性高,支持所有摄像头格式,浏览器
加载 flash 插件就可以直接播放。

RTSP 和 RTMP 的区别:
RTSP 虽然实时性最好,但是实现复杂,适合视频聊天和视频监控;RTMP 强在浏览器支持好,加载 flash插件后就能直接播放,所以非常火,相反在浏览器里播放 rtsp 就很困难了。

本章我们将向大家介绍如何通过 FFmpeg+Nginx、使用 RTMP 推流实现视频监控或直播。

本章将会讨论如下主题内容。

⚫ 视频监控简介

⚫ Nginx 简介

⚫ 如何移植 Nginx

⚫ FFmpeg+Nginx 实现 RTMP 推流

⚫ 拉流

视频监控简介

本章我们将使用 RTMP 流媒体服务来实现视频监控,RTMP 流媒体服务框架图如下所示:

在这里插入图片描述

图 34.1.1 流媒体服务

推流端负责将视频数据通过 RTMP 流媒体协议传输给 RTMP 流媒体服务器,拉流端可以从流媒体服务器中通过 RTMP 协议获取到视频数据;而流媒体服务器负责接收推流端的视频数据、当有客户端(拉流端)想要获取视频数据时再将其发给相应的客户端。

所以从上图可知,要想实现 RTMP 视频监控,必须要有这三部分:推流客户端、拉流客户端以及流媒体服务器。那这些需要我们自己去实现吗?当然不需要,譬如推流我们可以使用 FFmpeg 来做,拉流则可以
实现 VLC 播放器来做,而流媒体客户端则使用 Nginx 来搭建即可!

http://www.lryc.cn/news/34508.html

相关文章:

  • DEJA_VU3D - Cesium功能集 之 103-直角箭头(标绘+编辑)
  • Vue 对象扩展运算符(…)
  • 又是活动 没啥好说的 送代码
  • ARP报文内容详细分析
  • js一键保存当前页面所有图片
  • 【Spring AOP】如何统一“拦截器校验、数据格式返回、异常返回”处理?
  • 规划数据指标体系方法(下)——新海盗模型
  • UML学习备忘录
  • Vue3手写分页在分页的基础上用到Pagination 分页组件
  • 冥想第七百二十四天
  • Jenkins+Docker自动化部署项目
  • TX2配置RealSense D455相机SDK和ros驱动
  • Sentinel架构篇 - 来源访问控制
  • 多线程的Thread 类及方法
  • QT入门Item Views之QTreeView
  • Servlet | Servlet简单入门——构建第一个Servlet项目
  • Spring的IOC/DI,依赖注入的实现
  • 【tensorflow onnx】TensorFlow2导出ONNX及模型可视化教程
  • 天梯赛训练L1-013--L1-015
  • 进程(操作系统408)
  • 浅谈运维工程师的开发能力的培养
  • Netcode升级到1.2.0网络变量的变化的变化
  • 冥想第七百二十二天
  • AB测试——流程介绍(定义问题和指标选取)
  • Linux(Centos)安装Minio集群
  • LeetCode 1662. 检查两个字符串数组是否相等 / 795. 区间子数组个数 / 剑指 Offer 47. 礼物的最大价值
  • 【C++】缺省参数函数重载
  • Hbuilder 下载与安装教程
  • Mybatis工程升级到FlunetMybatis后引发的问题以及解决方法
  • Oracle VM VirtualBox6.1.36导入ova虚拟机文件报错,代码: E_INVALIDARG (0x80070057)