域名分发的使用教程
9 个月前
提示:如果你对分发不是很了解,请耐心看完,相信聪明的你很快就懂了

功能简介

该功能就是实现负载均衡,原理就是当用户从前端请求m3u8的时候,会从多个服务器随机读取ts切片,从而改善服务器的负载、带宽不足的情况。

特别提示

1、本文以服务器分发做参考教程,所以配置过程可能会麻烦点。
2、你也可以使用云分发存储功能,将切片同步到阿里云oss、七牛云、又拍等,然后在分发设置处直接填上阿里云oss、七牛云的域名即可。

设置分发前后的m3u8加载过程

一般我们安装完程序,都是转码切片后,直接使用m3u8播放地址观看,这时候m3u8加载过程如下:

#比如我的m3u8链接地址如下:
http://moemv.com/videos/201910/28/5db7045f57112a77e0aca6df/6agc5a/index.m3u8
#当用户读取m3u8后,这时候会依次从服务器读取ts文件,然后完成播放,链接大致如下:
http://moemv.com/videos/201910/28/5db7045f57112a77e0aca6df/6agc5a/index0.ts
http://moemv.com/videos/201910/28/5db7045f57112a77e0aca6df/6agc5a/index1.ts
http://moemv.com/videos/201910/28/5db7045f57112a77e0aca6df/6agc5a/index2.ts
http://moemv.com/videos/201910/28/5db7045f57112a77e0aca6df/6agc5a/index3.ts

如果观看用户多了后,带宽跟不上了,负载高了,这时候可以添加几个分发域名(服务器),比如我设置如下:

此时,m3u8加载和分发前就不一样了,加载过程如下:

#比如我的m3u8链接地址如下:
http://moemv.com/videos/201910/28/5db7045f57112a77e0aca6df/6agc5a/index.m3u8
#当用户读取m3u8后,这时候会分别从你添加的分发域名(服务器)读取全部的ts链接,才开始播放,链接大致如下:
http://a.moemv.com/videos/201910/28/5db7045f57112a77e0aca6df/6agc5a/index0.ts
http://b.moemv.com/videos/201910/28/5db7045f57112a77e0aca6df/6agc5a/index1.ts
http://a.moemv.com/videos/201910/28/5db7045f57112a77e0aca6df/6agc5a/index2.ts
http://b.moemv.com/videos/201910/28/5db7045f57112a77e0aca6df/6agc5a/index3.ts

这里就可以看到,设置分发前后,只是加载ts链接的域名变化了,路径都不变。

也就是,你只需要保证从分发域名能读取到全部的ts切片即可,分发域名也可以是cdn域名,也就是cdn需要缓存全部的ts切片,并且域名可以读取到这些ts切片。

分发域名设置

提示:以下会说2种设置方法,个人推荐方法二,毕竟操作比较简单,具体看自己需求。

设置方法一

1、先将转码服务器的切片文件夹,如public/videos整个文件夹同步到分发服务器。
2、在分发服务器添加一个域名,将同步好的videos文件夹移动到该域名根目录,即和转码服务器的ts链接路径对应即可。

设置方法二

这里推荐使用智能缓存分发系统,好处就是不需要转移切片目录,直接简单配置即可使用,介绍和使用:点击查看

在转码后台添加分发域名

提示:域名分发的设置请前往转码设置处,如果你想设置多个分发域名,那么使用多个分发服务器并配置多个分发域名即可。

关于分发域名的设置和使用,注意以下几点:

1、只要开启了域名分发,那么用户在读取m3u8的时候,只会从这些设置的分发域名中读取ts链接,未添加的不会读取。
2、由于所有的ts切片默认存放在转码服务器中,所以我们也可以将转码服务器的域名添加到分发这里。

下面一般是我自用的分发设置,一般怎么设置就看你们的需求了,你觉得转码服务器网络不行,可以不用填转码服务器域名。

可能出现的问题及解决

添加分发后,如果出现播放不了的问题,可以参考该教程:点击查看