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

音视频入门知识(六):消息获取模式篇

⭐六、消息获取模式篇

推模式(Push Mode)

当通知消息来之时,服务器主动将所有相关信息都通过参数的形式“推给”客户端。客户端无需主动请求数据。

服务端一直监听某个端口,当客户端有数据要发送时,就推到这个端口上给服务端。

常见的推模式协议:

  • RTMP(Real-Time Messaging Protocol)
    • 主要用于视频流的推送,常用于直播。
    • 服务器主动将视频流推送到客户端,客户端只需接收数据并播放。
  • WebSocket
    • 通过 WebSocket,服务器可以主动推送消息或数据到客户端,客户端可以实时接收。
    • 适用于低延迟的实时应用。
  • 国标(GB/T 28181):
    • 广泛应用于视频监控系统,尤其是在公共安全领域。
    • 国标协议中的视频流是实时推送的

拉模式

当通知消息来之时,通知的函数不带任何相关的信息,而是要客户端主动去“拉”信息;客户端主动请求服务器获取数据,客户端会按需获取流媒体数据。

客户端的某个端口有无时无刻有流的存在,当服务端需要流时,服务端自行连接客户端的端口,从客户端端口里面拉数据

这种模式适用于客户端对数据流的控制需求较高的场景,客户端可以在任何时候请求数据。

弊端:当客户端在内网,服务端在公网,则服务器找不到客户端设备,无法进行拉模式

常见的拉模式协议:

  • HTTP Live Streaming (HLS)
    • 客户端定期向服务器请求分段的媒体文件(通常是 .ts 文件)。
    • 通过 M3U8 播放列表,客户端可以获取媒体片段并播放。
  • RTSP(Real-Time Streaming Protocol)
    • 客户端主动请求流媒体服务器并通过拉模式获取实时视频流。
    • 常用于 IP 摄像头、监控等系统中。
    • RTSP 通常配合 RTP (Real-time Transport Protocol) 使用进行数据传输。
  • FTP(File Transfer Protocol)
    • 在一些场景下,流媒体内容也可以通过 FTP 拉取,尤其是用于大文件传输。

http://www.kler.cn/a/455148.html

相关文章:

  • LeetCode2108 找出数组中的第一个回文字符串
  • PL/SQL语言的并发编程
  • Python基础语法知识——列表、字典、元组与集合
  • HarmonyOS NEXT 实战之元服务:静态多案例效果(一)
  • Redis 应用场景深度探索
  • 如何高效学习PHP框架源码
  • nexus docker安装
  • 使用 Three.js 创建圣诞树场景
  • 指针详解之 多层嵌套的关系
  • ES和MONGODB备份脚本
  • [Android]按下扫描键时启动一个线程来执行某些操作
  • 大语言模型的token和向量
  • PDF书籍《手写调用链监控APM系统-Java版》第7章 插件与链路的结合:Tomcat插件实现
  • 模方要使用多机引擎,有什么要求
  • Vue.js组件开发-实现访问页面自动获取数据
  • 119.【C语言】数据结构之快速排序(调用库函数)
  • AI 神经网络在智能家居场景中的应用
  • springboot系列教程(三十一):springboot整合Nacos组件,环境搭建和入门案例详解
  • QWidget应用封装为qt插件,供其他qt应用调用
  • PDF书籍《手写调用链监控APM系统-Java版》第12章 结束
  • 【论文复现】农作物病害分类(Web端实现)
  • 一文详解MacOS+CLion——构建libtorch机器学习开发环境
  • ASP.NET WebForms:实现全局异常捕获与处理的最佳实践
  • 系统安全——可信计算
  • nginx服务器实现上传文件功能_使用nginx-upload-module模块
  • 22.跳过报错(最简) C#例子