IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> RTSP、RTP、RTCP、RTMP区别 -> 正文阅读

[网络协议]RTSP、RTP、RTCP、RTMP区别

1 RTSP

实时流协议(Real Time Streaming Protocol,RTSP)与HTTP同等级的应用层网络协议(基于TCP,传输&控制协议)

RTSP消息分为两大类,一类是请求消息(request),一类是回应消息(ressponse)

RTSP信令交互采用TCP方式,在应用层交互开始前建立一个TCP(三次握手四次挥手) socket(套接字)用来作信令交互,叫做TCPSockfd( 套接字描述符)

常见信令:

1.1 OPTIONS:

功能:请求用于返回服务端支持的 RTSP 命令列表

1.2 DESCRIBE:

功能:用于请求指定的媒体流的SDP描述信息

在DESCRIBE之后,我们建立一个UDP的socket,用于RTP包的传输,UDPSockfd bind到一个端口,比如:26958

1.3 SETUP:

功能: 命令用于配置数据交付的方法

SETUP之后有必要做一个natdetect:私有信令,这个信令是用UDPSockfd发的,收也是UDPSockfd来收,这样就做了一个nat穿越
NAT_DETECT

1.4 PLAY:

功能:请求流

1.5 PAUSE:

功能:暂停

1.6 GET_PARAMETER:

功能:心跳作用

1.7 ANNOUNCE:

也是用UDPSockfd来收的,用来处理边界值

2 RTP

实时传输协议(Real-time Transport Protocol)一般不作为单独应用层协议处理

RTP传输音频/视频数据,如果是PLAY,Server发送到Client端,如果是RECORD,可以由Client发送到Server

整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTP控制协议(即RTCP)

3 RTCP

实时传输控制协议(Real-time Transport Control Protocol)是实时传输协议(RTP)的一个姐妹协议

RTCP包括Sender Report和Receiver Report,用来进行音频/视频的同步以及其他用途,是一种控制协议

4 RTMP

实时消息传输协议(Real Time Message Protocol)基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种

RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信

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

区别

  1. RTSP发起/终结流媒体、RTP传输流媒体数据 、RTCP对RTP进行控制、同步

  2. RTSP VS RTMP

    • RTSP虽然实时性最好,但是实现复杂,适合视频聊天和视频监控;

    • RTMP强在浏览器支持好,加载flash插件后就能直接播放,所以非常火,相反在浏览器里播放rtsp就很困难了。

基于TS的传输协议栈

在这里插入图片描述

  1. 媒体流传输和接收通道

    • 走UDP协议:UDP负责传输单播中的MP2T/UDP、MP2T/RTP/UDP和组播流;
    • 走TCP协议:RTSP(TCP)负责传输MP2T/TCP、MP2T/RTP/TCP单播流;
    • 注:RTP协议为可选性支持
      rtsp可基于rtp之上,比如常见的视频流传输过程:视频压缩文件->rtp打包->基于udp的rtsp网络传输;也可以不做成rtp包,直接基于udp传送,如视频压缩文件->基于udp的rtsp网络传输。
      RTP传输是建立在 UDP 协议上的。
      RTSP一般使用udp作为传输层,适合IPTV场景。
  2. 媒体流会话控制通道
    基于TCP的RTSP负责信令控制

  3. 总结起来:1)RTSP传输一般使用UDP,信令交互采用TCP,协议基于TCP;2)RTP协议基于UDP

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:44:24  更:2022-05-11 16:44:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:40:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码