行业分析 1、随着宽带接入上网的逐步普及,用户对网上娱乐的要求逐步增多 2、网站通过网络进行视频直播等服务会加大服务器的负载 3、视频音频类网站消耗巨大的带宽资源, 4、对整个的网络传输环节要求更高 5、因为我国现有的网络环境差异,为全国范围内的互联网用户提供网络直播服务困难点更大 服务优势 1) CDN 的节目存储和分发系统采用层次化结构,中心存储系统可存储所有节目,在边缘服务器存储热门节目,降低源服务器的服务压力; 2) 通过“全局调度、本地负载均衡”策略实现内容全局分发调度与就近服务;支持在省中心与各地市、各地市之间实现灵活的、策略化异地负载均衡,在全局范围内实现最优的资源共享; 3)支持多级CDN层次结构,多级CDN之间的数据完全同步并保持一致性;支持地域之间设置隶属关系,使地域流媒体服务器(缓存服务器)具有多层分布式结构的特点,实现地市之间的异地负载分摊,进 一步对骨干网的流量进行优化管理; 4) CDN采用应用层路由技术,路由选择完全实时、定位准确(准确率为100%)、仅需可一次即可实现全局定位,可避免出现错误重定位与多次重定向的问题,大大提升系统响应速度,改善用户的娱乐体验。 解决方案 为了解决上述问题,CDN为视频音频类网站提供 CDN加速 服务,把原网站上的大量内容分发到离用户最近的CDN节点上,从而带给用户流畅的视频体验 CDN点播加速服务是可以帮助网站向全国范围内的终端用户提供稳定的视频点播服务。网上视频点播会加大服务器的负载并会消耗巨大的带宽资源,同时对整个的网络传输环节也有很高的要求,在我国现有的网络环境中,ICP向全国范围内的互联网用户提供视频点播服务会非常困难。但是借助速CDN网络可以使这一应用成为现实。
CDN网络节点优化分配,可将终端用户对网站的请求定向到离用户最近响应效果最好的流媒体服务节点上,通过流媒体服务节点,可以为终端用户提供稳定可靠的视频点播服务。在网站使用CDN点播加速服务之前,可根据网站要求将供终端用户点播的媒体文件加载到CDN网络的流媒体服务节点上。从而解决源站的带宽压力问题,提高流媒体点播的播放质量。
服务器 阿里云 云服务器ECS Centos7.4
域名阿里云的域名
SSL协议 certbot生成的SSL协议
阿里云官方CDN 学习路径
1.为什么使用CDN?
阿里云内容分发网络 CDN 将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。
从这个节点获取资源,使得访问更加流畅,降低真实服务器的负载。
对于家大业大的服务器拥有者可以通过增加带宽达到相同的效果。
登录阿里云账号,在阿里云 控制台页面 下面产品选择CDN,或者左上角侧导航点击打开,再下来选项中选择CDN
1.开通方式有两种,一种流量方式,一种带宽方式
使用流量,通过购买流量包,在访问缓存在节点资源时候,会消耗流量,直到流量用完。
使用带宽,包年服务
2.选择某一种方式,勾选同意CDN协议,即可开通成功
1.如果走流量,进入CDN控制台,购买流量包
配置如下
2.创建加速域名(域名管理-添加域名)目的获取 CNAME
3.解析域名
针对阿里云域名,依照 步骤
值得注意的主机记录与记录类型搭配的组合 不能与列表中的其他项目冲突
在这一切都完成后,通过WIN+R 输入cmd打开终端,通过 ping 加速域名 来查看是否成功开启CDN
如果出现
如果回显信息包括 . kunlun*.com,则表示CNAME配置已经生效,域名加速也已生效。
访问下自己加速域名下的资源看一看,是否出现了问题?
出现的问题:
1.如果 CDN管理 中的HTTPS显示未开启,而自己确开通了HTTPS(配置了SSL),那么通过HTTPS访问网站资源会报错,说是无法加密解密,我出现这个问题,是因为我使用的certbot配置的SSL,由于挂载得项目需要python2.7等问题,虽然配置SSL成功,但是有一个警告
NGINX configured with OpenSSL alternatives is not officiallysupported by Certbot.
所以出现这个问题后,我不知道是不是因为SSL本身配置的问题
查看 域名管理列表 - 点击加速域名右侧的 管理 ,选择HTTPS配置 强制跳转
配置了 https ->http
最终问题得到了解决,资源可以访问到了
2. 配置CDN且预热资源成功,但是总是无法命中,回源怎么办?
进入CDN控制台 -》 域名管理 -》管理 -》缓存配置 -》 添加
地址添加需要缓存的文件后缀,多个以“,”号分隔;添加过期时间和权重,其中权重 1-99 ,权重越高,执行规则越优先
添加完一个后,可以继续点击添加,添加另一个规则。
以我的为例,我需要对视频进行CDN节点加速,则
1. 关闭CDN服务 , 选择列表内的操作域名 最右侧三个点,点开有 停止 与 删除 ,可供操作
2.CDN提供资源的刷新和预热功能。
通过刷新功能,您可以强制CDN节点回源并获取最新文件;
通过预热功能您可以在业务高峰前预热热门资源,提高资源访问效率。
通过本文您可以了解刷新和预热功能的配置方法,也可以查询其操作记录。
刷新操作,将最新内容强制推送至CDN节点 - 进入 CDN控制台 -》 点击 刷新预热 -》 选择操作方式 -》 添加对应内容
如:
刷新
淘汰旧文件,重新获取文件的新版本
当文件有跟新时,需要手动执行刷新操作,将CDN中缓存的历史版本设置为超时,并从源站获取最新的版本。
刷新操作相对于一个触发更新的动作。
如果不刷会有啥问题呢?
用户在访问URL时,命中的是CDN中的旧数据,因此需要“缓存刷新”。
预热
首次发布的文件,主动从源站推送到CDN,让用户访问到CDN时不用回源命中
预热时间
资源预热完成时间将取决于用户提交预热文件的数量、文件大小、源站带宽情况、网络状况等诸多因素。
手动访问加速域名,只是推送数据到离你最近的节点,而不是所有的节点,所以阿里云CDN还是需要预热或刷新同步资源。
摘要: 本文介绍PC端直播推流与播放器快速接入方法,对移动端推流和播放可以参考官网文档。
作者简介:阿里花名樰篱,阿里云视频服务产品运营(我是一个爱好直播而且懂技术的女汉纸,欢迎点击名字关注我哦)
每每看到开发哥哥们对直播功能抓头苦闷,小妹我也是看在眼里着急在心里,其实看似复杂的直播功能,可以通过开通阿里云直播服务来快速集成的。开发哥哥们静下心来,花几分钟时间认真读完小妹这篇文章,相信你就知道如何在阿里云直播控制台快速接入PC端直播功能了:
直播流程
Step1:直播前准备
登录阿里云官网 ,点左上角登录
登录视频直播控制台
控制台会检查所依赖服务的开通状态,请按页面引导操作
** 添加直播域名**
需要注意的是:
直播域名需要进行备案审核,审核通过后即可使用,未备案的域名请先进行备案,备案流程。
域名配置成功后,这个域名会自动配置好 CDN 直播加速功能,域名进行CNAME绑定后即可使用直播加速功能。
CNAME绑定
将您添加的直播域名的DNS CNAME纪录修改为直播域名管理详情页面上显示的CNAME绑定地址。我们需要把阿里云提供的推流地址和直播域名进行绑定,这样当推流到直播域名时会推流到我们的直播中心。
请按照以下步骤进行域名CNAME绑定
直播域名在万网申请
获取直播控制台直播域名对应的 CNAME。
点击阿里云官网控制台的域名解析页面,选择需要绑定的域名。
进入域名解析标签页,点击高级设置。
填写解析参数,并保存。
解析正常会很快生效,如果是新创建的域名解析不存在DNS刷新问题,如果是修改了CNAME,则不同的 DNS 上有缓存数据,可能最长需要48小时才能更新完毕。
直播域名在其他途径申请
其他途径申请的域名,请在域名所在网站操作域名CNAME绑定。
在阿里云控制台执行域名转入流程。
获取推流和播放地址
在 域名管理 中,点击直播加速域名 管理 :
鉴权配置
直播流媒体的推送和播放采用同一套鉴权方案,可以在控制台的鉴权配置中进行配置,详细了解鉴权配置。
注意
只有进行鉴权配置后,该加速域名才能正常进行推流和播流,直播业务类型仅支持A类型鉴权方式。
推流和播流地址需要分别进行鉴权签名计算,每一个签名都是严格按照URL计算的,故不可使用推流URL计算得到的签名应用到播流地址,同理每一种播流地址都会对应不同的鉴权计算结果。
举例:
在直播控制台 - 域名管理 - 直播域名管理详情页 - 鉴权配置 设置鉴权配置如下:
1、开启鉴权
2、手动输入鉴权主key值,详细内容访问 鉴权说明鉴权设置
Step2:推流
获取鉴权后的推流地址:
直播控制台 - 域名管理 - 直播域名管理详情页 - 基本信息 取得推流地址如下:
rtmp://video-center.alivecdn.com/AppName/StreamName?vhost=live.aliyun.com
使用直播控制台 - 域名管理 - 直播域名管理详情页 - 鉴权配置 页面的鉴权URL计算器计算鉴权URL:
输入推流地址(AppName、StreamName可自行修改)、鉴权KEY、有效时间,点击<生成>按钮即可得到鉴权URL。
推流操作
推流地址:
rtmp://video-center.alivecdn.com/APPName/StreamName?vhost=live.aliyun.com
说明
http://video-center.alivecdn.com是直播中心服务器,允许自定义,例如您的域名是http://live.aliyun.com(注意:该域名不可以和你的直播加速域名相同),可以设置DNS,将您的域名CNAME指向http://video-center.alivecdn.com即可。
APPName是应用名称,支持自定义,可以更改。
StreamName是流名称,支持自定义,可以更改。
vhost参数是最终在边缘节点播放的域名,即你的直播加速域名。
直播推流操作可使用第三方推流软件,这里介绍 OBS 推流软件的操作方法。
请到OBS官网下载最新软件 Windows版本 Mac版本
在OBS 设置 中应按下图设置:
Mac版推流地址设置:
Windows版推流地址设置:
实际 Mac版obs的流密钥与Windows版播放路径/串码流(如果存在)中的内容不会显示明文。
以上面的推流地址为例,参数设置为:
FMS URL / URL: rtmp://http://video-center.alivecdn.com/AppName
播放路径/串码流(如果存在)/ 流秘钥: StreamName?vhost=http://live.aliyn.com
如您开启了鉴权,则鉴权参数也一并放在 Mac版obs的流密钥与Windows版播放路径/串码流(如果存在)中。
Step3:播放
用那种协议进行播放?
协议 | 优点 | 缺点 | 延时
------- | ------- | -------
FLV | 高并发、低延时 | 非标准做法,需要依赖SDK播放 | 1s-3s
RTMP | 延时小 | 高并发支持不好 | 1s-3s
HLS(M3U8) | 手机浏览器普遍支持 | 延时大 | >=10s,与切片时长有关,最大3个TS长度
客户可以根据实际业务场景灵活搭配使用,需要在移动端浏览器、移动H5端进行播放,建议使用HLS(M3U8)方式进行播放,无需集成SDK非移动端或者已集成SDK的,低并发量并需要有更小的延时,可使用RTMP,高并发量建议使用FLV。
Web页面后台直接预览
使用OBS等工具使用鉴权URL推流后,可在 直播控制台 - 流管理 - 正在推流 页面查询到正在直播的推流记录,通过 直播地址 可查询播放地址,并可预览播放。
通过VLC预览
下载VLC,默认安装后无需做额外设置,文件—>打开网络串流,填写播放地址并点击打开后开始播放。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)