音视频直播(一)

直播协议基础

从网络上搜寻到的有关推流与拉流的示意图
在这里插入图片描述
从推拉流和协议入手来讲解直播

推流与拉流

推流与拉流示意图:
在这里插入图片描述

其实可以简要的理解为推流就是直播端,而拉流就是客户端哦。

推流

推流:将直播的内容推送至服务器的过程。即指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验很是糟糕。要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP、HLS等,使用RTMP传输的延时通常在1–3秒,对于手机直播这种实时性要求非常高的场景,RTMP也成为手机直播中最常用的流传输协议。最后通过一定的Qos算法将音视频流数据推送到网络断,通过CDN进行分发。

拉流

拉流:指服务器已有直播内容,用指定地址进行拉取的过程。即是指服务器里面有流媒体视频文件,这些视频文件根据不同的网络协议类型(如RTMP、RTSP、HTTP等)被读取的过程,称之为拉流,说的简单点,你观看优酷视频就可以看成是拉流,视频文件存储在优酷的服务器上面,你通过HTTP(或者RTMP/RTSP)协议,也就是网页的形式去获取视频观看,这就是拉流的过程,在这个过程中有三个要素:

  1. 服务器【提供视频文件存储的地方】
  2. 传输协议【就是你要通过什么方式传输视频】
  3. 读取终端【就是通过什么播放出来】

直播传输协议

流媒体中的传输协议有很多种,主要从开源流媒体协议与格式来说。(自定义不开源的直播协议,可以参考阿里云、腾讯云等云厂商的服务,如ARTC协议)

RTMP协议由Adobe公司开发,基于TCP协议,是Flash播放器和服务器之间音频、视频和数据传输的开放协议,目前主流的视频云服务都以RTMP为主要推流协议。
ARTC是阿里云提供的低延迟直播RTS(Real-time Streaming)解决方案使用的协议头。
SRT是一种基于UDT协议(一种基于UDP协议的变种)的开源低延迟视频传输协议,解决了TCP协议传输延迟高的问题。Haivision和Wowza合作成立SRT联盟,管理和支持SRT协议开源应用的组织。主要用于海外直播主流,是未来直播技术的主流协议。

在这里插入图片描述

RTMP传输协议 && HTTP-FLV协议

RTMP和HTTP-FLV都是建立在FLV封装之上的,主要区别是RTMP一般用作直播源推流,HTTP-FLV一般用作直播观看

  • RTMP: 一般用于直播源推流,直播系统内直播流数据传递
  • HTTP-FLV: 一般用于客户端直播流观看
  • RTMP、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值