欢迎光临
我们一直在努力

直播云服务器搭建,广电云直播在线直播

本文为蛋蛋团直播云知识讲解两篇中的第二篇,更多精彩,请关注公众号:蛋蛋团(ID:dandan_tuan)

大纲

一、直播科普

1、直播是什么

2、视频编码压缩

3、视频直播的准确定义

二、常见直播技术梳理

1、直播业务逻辑

2、直播技术栈

三、直播协议的区别以及应用场景

1、推流

2、拉流

3、开源推拉流软件推荐

四、借助直播云快速搭建直播

1、简要流程

2、产品框架


三、直播协议的区别以及应用场景

在第二部分,我们已经详细介绍了直播的流程,其中还简要的介绍的直播过程中拉流和推流所使用到的协议,下面我们来一一详解。

1、推流

推流协议:RTMP、RTSP和QUIC备注:RTSP、RTMP、QUIC协议都在应用层。

RTSP是流媒体协议,主要应用于安防监控,目前绝大多数的摄像头默认支持RTSP推流。一般传输的是 ts、mp4 格式的流。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。但是实现复杂,各家CDN支持度不高,一般需要将直播流转码成CDN支持更好的RTMP。

一般来说,视频数据由RTP传输、视频质量由RTVP/RTCP控制,视频建议和控制由RTSP控制。备注:作为点播协议实现倍数播放必须使用到RTSP,因为RTSP是双向协议。

RTMP也是流媒体协议,属于Adobe,基于TCP长链接一般传输的是 flv,f4v 格式流。优点是延时低,国内CDN厂商都兼容。这也是主要的推流方式。但是在浏览器中只能使用 Flash 实现播放器。但作为拉流协议时无法支持移动端 Web 播放(手机无法安装flash)是它的硬伤。

QUIC全称quick udp internet connection,即“快速 UDP 互联网连接”。是谷歌公司制定的一种基于 UDP 协议的低时延互联网传输协议。使用QUIC推流,针对弱网用户也能够有很好的用户体验。

各大平台对QUIC都大同小异,而在七牛。主要是将基于TCP的RTMP传输改成基于QUIC的RTMP传输,即对外暴露的推流地址都是RTMP形式。

2、拉流

有直播推流到流媒体服务器,那肯定也会有相应的拉流方式。相比较于推流,目前主流的拉流协议有三种:RTMP、HLS、HTTP-FLV。

RTMP拉流:

  1. 基于TCP长连接,默认使用端口1935,延时在1-3s左右
  2. Web端依赖flash,H5需要安装插件
  3. 手机浏览器由于flash原因,不能使用RTMP拉流

HLS拉流:

  1. 基于HTTP短连接,默认80端口,由苹果公司创造。
  2. 对H5支持较好,但是延时一般在10S以上
  3. 可以使用 HTTPS 做加密通道

HTTP-FLV:

  1. 基于HTTP长链接,默认80端口,延时在1-3s左右
  2. 使用B站开源flv.js可以很好的支持H5,否则也依赖flash
  3. 很好的支持移动端(Android,IOS)
  4. 可以使用 HTTPS 做加密通道

在支持浏览器的协议里,延迟排序是:

HTTP-FLV >= RTMP < HLS

而性能排序恰好相反:

RTMP > HTTP-FLV > HLS

就目前主流直播平台(斗鱼、虎牙等)清一色的都是使用HTTP-FLV(主)+RTMP(备)协议。而手机web端(小程序)则大多数使用的HLS协议。

3、开源推拉流软件推荐

1、推流工具

Windows端:

  • OBS(Open Broadcaster Software)
  • Adobe Flash Media Encoder(不再更新)
  • XSplit推流器
  • ffmpeg命令行工具

移动端(IOS和Andriod):

  • 七牛开源SDK

备注:不支持H5推流

2、播放工具

Web端:

  • 七牛云Web sdk
  • 超酷开源播放软件

Windows:

  • 七牛windows开源播放器
  • VLC播放器

移动端(IOS和Andriod):

  • 七牛开源移动播放器

四、使用云平台搭建直播平台

1、简要流程

这里采用的简洁版的直播搭建,由于前两年直播元年的风口,目前各大云厂商基本都有自己的直播云,也不需要需要自己搭建流媒体服务器了。

这里使用的是七牛直播云。

通过七牛开发者平台快速创建直播空间、直播流及获取推流播放地址等操作,一站式完成直播业务的基本推流及播放。

备注:申请七牛云直播需审核以及一个双备案(ICP及公安部)的域名。

2、产品框架

主要分为四部分:

业务服务器负责协调直播类应用的业务逻辑,包括但不限于:

1、创建直播房间

返回直播房间播放地址列表

2、关闭直播房间

LiveNet 实时流网络负责流媒体的分发、直播流的创建、查询等相关操作

3、采集端

负责采集和推送流媒体

4、播放端

负责拉取并播放流媒体

七牛云官网文档:https://developer.qiniu.com/pili/manual/1217/live-architecture-fleetly

之后,创建好直播空间,然后就可以使用推拉流服务。

利用推拉流地址,然后加上OBS推流开源软件采集影响即可。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。