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

⭐六、消息获取模式篇

推模式(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 拉取,尤其是用于大文件传输。
相关推荐
Hygge-star3 小时前
Flask音频处理:构建高效的Web音频应用指南
前端·flask·音视频·pygame·csdn开发云
hao_wujing12 小时前
使用有限计算实现视频生成模型的高效训练
音视频
追随远方13 小时前
Android音频开发:Speex固定帧与变长帧编解码深度解析
android·音视频
aqi0014 小时前
FFmpeg开发笔记(六十四)使用国产的RedPlayer播放器观看网络视频
android·ffmpeg·音视频·直播·流媒体
英英_1 天前
视频爬虫的Python库
开发语言·python·音视频
weixin_527550401 天前
Linux 环境下高效视频切帧的实用指南
linux·运维·音视频
ai产品老杨1 天前
减少交通拥堵、提高效率、改善交通安全的智慧交通开源了。
前端·vue.js·算法·ecmascript·音视频
红米饭配南瓜汤1 天前
WebRTC中的几个Rtp*Sender
网络·网络协议·音视频·webrtc·媒体
EasyDSS2 天前
EasyRTC嵌入式音视频通信SDK助力物联网/视频物联网音视频打造全场景应用
人工智能·音视频
aqi002 天前
FFmpeg开发笔记(六十三)FFmpeg使用vvenc把视频转为H.266编码
ffmpeg·音视频·直播·流媒体