视频传输协议详解(RTMP、RTSP、HLS)

本文详细介绍了三种常见的视频传输协议:RTMP、RTSP和HLS。RTMP基于TCP,适合实时性要求较高的直播场景;RTSP用于控制多媒体数据传输,结合RTP和RTCP实现;HLS基于HTTP,具备良好的跨平台性和适应不同网络条件的能力,但延迟较高。
摘要由CSDN通过智能技术生成

这两年网络直播特别火,国内很多网络直播平台都做的风生水起,特别是熊猫直播、斗鱼、花椒等。投资人为了把平台做大做强,大把大把烧钱,搞的很多小伙伴们都很心动想跳槽去做直播。作为构建直播平台的基础之一 -—— 传输协议,我们该如何选择呢?那么首先我们就要了解这些协议的原理及特点。

RTMP——Real Time Messaging Protocol(实时消息传输协议) RTMP是由Adobe公司提出的,在互联网TCP/IP五层体系结构中应用层,RTMP协议是基于TCP协议的,也就是说RTMP实际上是使用TCP作为传输协议。

TCP协议在处在传输层,是面向连接的协议,能够为数据的传输提供可靠保障,因此数据在网络上传输不会出现丢包的情况。不过这种可靠的保障也会造成一些问题,也就是说前面的数据包没有交付到目的地,后面的数据也无法进行传输。幸运的是,目前的网络带宽基本上可以满足RTMP协议传输普通质量视频的要求。

RTMP传输的数据的基本单元为Message,但是实际上传输的最小单元是Chunk(消息块),因为RTMP协议为了提升传输速度,在传输数据的时候,会把Message拆分开来,形成更小的块,这些块就是Chunk。 消息(Message)的结构

Message结构分析

1.Message Type:它是一个消息类型的ID,通过该ID接收方可以判断接收到的数据的类型,从而做相应的处理。Message Type ID在1-7的消息用于协议控制,这些消息一般是RTMP协议自身管理要使用的消息,用户一般情况下无需操作其中的数据。

Message Type ID为8,9的消息分别用于传输音频和视频数据。Message Type ID为15-20的消息用于发送AMF编码的命令,负责用户与服务器之间的交互,比如播放,暂停等。

2.Playload Length: 消息负载的长度,即音视频相关信息的的数据长度,4个字节 3.TimeStamp:时间戳,3个字节。

4.Stream ID:消息的唯一标识。拆分消息成Chunk时添加该ID,从而在还原时根据该ID识别Chunk属于哪个消息。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值