欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【直播系列之二】快速接入PC端直播功能 浏览器javascriptc

程序员文章站 2022-07-07 16:59:48
...

摘要: 本文章介绍PC端直播推流与播放器快速接入方法,对移动端推流和播放可以参考官网文档。

看似复杂的直播功能,可以通过开通阿里云直播服务来快速集成。

静下心来,花几分钟时间认真读完这篇文章,相信你就知道如何在阿里云直播控制台快速接入PC端直播功能了。

直播流程
【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

Step1:直播前准备

登录阿里云官网 ,点左上角登录

登录视频直播控制台
控制台会检查所依赖服务的开通状态,请按页面引导操作

** 添加直播域名**

【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc
【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc
【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

需要注意的是:

  • 直播域名需要进行备案审核,审核通过后即可使用,未备案的域名请先进行备案,备案流程

  • 域名配置成功后,这个域名会自动配置好 CDN 直播加速功能,域名进行CNAME绑定后即可使用直播加速功能。

CNAME绑定

将您添加的直播域名的DNS CNAME纪录修改为直播域名管理详情页面上显示的CNAME绑定地址。我们需要把阿里云提供的推流地址和直播域名进行绑定,这样当推流到直播域名时会推流到我们的直播中心。

请按照以下步骤进行域名CNAME绑定

直播域名在万网申请

  • 获取直播控制台直播域名对应的 CNAME。
    【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

  • 点击阿里云官网控制台的域名解析页面,选择需要绑定的域名。
    【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

  • 进入域名解析标签页,点击高级设置。
    【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

  • 填写解析参数,并保存。

【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

  • 解析正常会很快生效,如果是新创建的域名解析不存在DNS刷新问题,如果是修改了CNAME,则不同的 DNS 上有缓存数据,可能最长需要48小时才能更新完毕。

直播域名在其他途径申请

  • 其他途径申请的域名,请在域名所在网站操作域名CNAME绑定。
  • 在阿里云控制台执行域名转入流程。

获取推流和播放地址

在 域名管理 中,点击直播加速域名 管理 :
【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc
【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc
【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

鉴权配置

直播流媒体的推送和播放采用同一套鉴权方案,可以在控制台的鉴权配置中进行配置,详细了解鉴权配置。

注意

只有进行鉴权配置后,该加速域名才能正常进行推流和播流,直播业务类型仅支持A类型鉴权方式。

推流和播流地址需要分别进行鉴权签名计算,每一个签名都是严格按照URL计算的,故不可使用推流URL计算得到的签名应用到播流地址,同理每一种播流地址都会对应不同的鉴权计算结果。

举例:

在直播控制台 - 域名管理 - 直播域名管理详情页 - 鉴权配置 设置鉴权配置如下:

1、开启鉴权

【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

2、手动输入鉴权主key值,详细内容访问 鉴权说明鉴权设置
【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

Step2:推流

获取鉴权后的推流地址:

直播控制台 - 域名管理 - 直播域名管理详情页 - 基本信息 取得推流地址如下:

rtmp://video-center.alivecdn.com/AppName/StreamName?vhost=live.aliyun.com

使用直播控制台 - 域名管理 - 直播域名管理详情页 - 鉴权配置 页面的鉴权URL计算器计算鉴权URL:

输入推流地址(AppName、StreamName可自行修改)、鉴权KEY、有效时间,点击<生成>按钮即可得到鉴权URL。

【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

推流操作

推流地址:

rtmp://video-center.alivecdn.com/APPName/StreamName?vhost=live.aliyun.com

说明

video-center.alivecdn.com是直播中心服务器,允许自定义,例如您的域名是live.aliyun.com(注意:该域名不可以和你的直播加速域名相同),可以设置DNS,将您的域名CNAME指向video-center.alivecdn.com即可。

APPName是应用名称,支持自定义,可以更改。

StreamName是流名称,支持自定义,可以更改。

vhost参数是最终在边缘节点播放的域名,即你的直播加速域名。

直播推流操作可使用第三方推流软件,这里介绍 OBS 推流软件的操作方法。

请到OBS官网下载最新软件 Windows版本 Mac版本

在OBS 设置 中应按下图设置:

【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

Mac版推流地址设置:

【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

Windows版推流地址设置:

【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

实际 Mac版obs的流密钥与Windows版播放路径/串码流(如果存在)中的内容不会显示明文。

以上面的推流地址为例,参数设置为:

FMS URL / URL: rtmp://video-center.alivecdn.com/AppName

播放路径/串码流(如果存在)/ 流秘钥: StreamName?vhost=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推流后,可在 直播控制台 - 流管理 - 正在推流 页面查询到正在直播的推流记录,通过 直播地址 可查询播放地址,并可预览播放。

【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc
【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

通过VLC预览

下载VLC,默认安装后无需做额外设置,文件—>打开网络串流,填写播放地址并点击打开后开始播放。

【直播系列之二】快速接入PC端直播功能
            
    
    
        浏览器javascriptc

如果截图看起来太累,最近我们还推出了视频演示,点击下面文字观看视频

开通直播服务
添加直播加速域名
添加直播转码模板
添加直播截图模板
添加直播录制模板