首页 视频直播 快速入门 快速开始视频直播

快速开始视频直播

更新时间: 2023-09-21 09:58:57

通过阅读本文,您可以了解视频直播的基本流程。

前提条件

  • 您已经注册了阿里云账号并完成账号实名认证。注册地址请参见阿里云官网。注册指引请参见注册阿里云账号。实名认证指引请参见个人实名认证企业实名认证

  • 您已经准备好推流域名和播流域名,并完成备案。具体操作,请参见备案

    说明
    • 如果您的直播中心在海外且加速区域采用海外及港澳台加速,则域名无需经过备案。

    • 如果推流域名和播流域名是同一个一级域名下的两个二级域名,则只需要将一级域名进行备案。

视频直播基本流程

  1. 开通服务

  2. 添加推流域名和播流域名

  3. 配置CNAME

  4. 关联推流域名和播流域名

  5. 配置自定义鉴权(可选)

  6. 生成推流地址和播放地址

  7. 直播推流

  8. 直播播放

开通服务

说明

您可以观看视频讲解学习如何开通直播服务,详情请参见开通直播服务

  1. 登录阿里云官网,在顶部菜单栏选择产品 > 视频服务 > 视频直播,进入视频直播产品首页。

  2. 单击立即开通,进入开通页面。

  3. 视频直播开通页,选择计费方式为按使用流量计费按带宽峰值计费,并选中视频直播服务协议

  4. 单击立即开通

添加推流域名和播流域名

使用视频直播服务前,您需要分别添加推流域名和播流域名。

说明

您可以观看视频讲解学习如何添加域名,详情请参见添加域名

  1. 登录视频直播控制台

  2. 在左侧导航栏单击域名管理,进入域名管理页面。

  3. 单击添加域名
  4. 根据实际需求配置域名详情。
    配置域名
    参数参数分类说明
    加速域名
    输入您需要加速的域名。注意事项如下:
    • 加速域名一般使用子域名,例如: demo.aliyundoc.com
    • 直播服务暂不支持添加泛域名,例如: *.aliyundoc.com
    • 加速域名不允许重复添加,如果出现域名已添加的提示,请检查您的域名是否已经添加到其他云产品中,例如视频点播、全站加速、SCDN和视频监控。
    • 开通视频直播服务后,每个账户最多可添加20个域名,如果您域名的总带宽日均峰值大于50 Mbps,且业务无风险,可以提交工单申请增加域名个数。关于如何提交工单,请参见联系我们
    • 加速内容必须合法且符合业务规范,详情请参见域名准入标准
    说明 子域名必须在同一个账号下。您在添加域名时,直播服务会进行检查,如果子域名被添加到不同账号,系统会报错。
    直播中心

    直播中心用来提供云上直播流的媒体处理服务,如截图、录制、转码、云导播等。

    需要关联的直播推流域名与播流域名的直播中心所在地域要保持一致,初次配置后不可更改。

    关于如何选择直播中心,请参见如何选择直播中心?

    业务类型
    • 播流域名
    • 推流域名
    指域名的加速类型,推流域名与播流域名分别对应推流加速与播流加速。初次配置后不可更改。
    说明
    • 添加推流域名时,业务类型请选择推流域名;添加播流域名时请选择播流域名
    • 您无法将同一域名既添加为推流域名,又添加为播流域名。
    加速区域中国内地 指域名可执行加速的地域。
    • 中国内地

      当主播在中国内地时,推流域名应选择中国内地

      当观众在中国内地时,播流域名应选择中国内地

      域名需要在工信部备案,推荐您进入阿里云ICP代备案管理系统进行备案。

    • 全球加速

      当主播在中国内地、中国香港、中国澳门、中国台湾以及其他国家和地区时,推流域名应选择全球加速

      当观众在中国内地、中国香港、中国澳门、中国台湾以及其他国家和地区时,播流域名应选择全球加速

      域名需要在工信部备案,推荐您进入阿里云ICP代备案管理系统进行备案。
    • 海外及港澳台加速

      当主播在海外及中国香港、中国澳门、中国台湾时,推流域名应选择海外及港澳台加速

      当观众在海外及中国香港、中国澳门、中国台湾时,播流域名应选择海外及港澳台加速

      如果选择海外及港澳台加速且直播中心在海外,则域名无需在工信部备案。

      如果选择海外及港澳台加速且直播中心在中国境内,则域名需要在工信部备案。推荐您进入阿里云ICP代备案管理系统进行备案。

    说明

    关于如何选择CDN加速区域,请参见如何选择域名的CDN加速区域?

    全球加速
    海外及港澳台加速
  5. 单击下一步

配置CNAME

启用视频直播加速服务,需要将您的域名(推流域名和播流域名)指向阿里云视频直播分配的CNAME地址。此处以DNS服务商为阿里云(原万网)为例介绍配置CNAME的方法。更多DNS服务商及操作详情,请参见配置CNAME域名解析

说明
  • 您可以观看视频讲解学习如何解析CNAME,详情请参见解析CNAME

  • 由于阿里云CDN校验域名的DNS解析记录的服务器部署在中国内地。如果您对域名做了分区域DNS解析配置,例如仅对域名的中国内地以外区域(中国香港、中国澳门、中国台湾、其他国家和地区)配置了阿里云CDN的CNAME地址,校验服务器将无法解析到该CNAME地址,且在CDN控制台该域名的CNAME状态会显示为待配置,这种情况不影响CDN的加速服务。

  • 阿里云CDN、全站加速DCDN、直播以及点播产品的CNAME域名仅可以作为阿里云CDN的调度解析使用,对于恶意使用CNAME域名的行为,阿里云有权清退对应的域名和账号。
  1. 登录云解析DNS控制台
  2. 在左侧导航栏选择域名解析,进入域名解析页面。
  3. 单击待设置域名操作列的解析设置
  4. 单击添加记录,配置信息如下所示:001
    参数描述
    记录类型选择CNAME,将域名指向另外一个域名。
    主机记录输入域名的前缀,常见前缀和对应的示例域名如下表所示。
    解析请求来源选择默认值。
    记录值输入记录的CNAME值。
    TTL选择默认值。
    前缀示例域名说明
    demodemo.aliyundoc.com解析子域名。
    @aliyundoc.com解析主域名。
    **.aliyundoc.com泛解析。
  5. 单击确定,完成CNAME配置。

验证生效:执行ping <域名>dig <域名>命令,如果返回的解析结果和视频直播控制台上该域名的CNAME值一致,表示CNAME配置已生效。002

关联推流域名和播流域名

目前视频直播采用边缘推流方式,您需要关联推流域名和播流域名,才能进行直播的推流和播流。

说明

您可以观看视频讲解学习如何关联推流域名与播流域名,详情请参见关联推流域名与播流域名

  1. 域名管理页面,选择您添加的播流域名,单击操作列的域名配置,进入直播管理 > 基本配置页面。

  2. 单击基础信息页签。
    在此页面,您可以查看该域名的CNAME、创建时间、业务类型、直播中心、加速区域、流数限制。基础信息
    说明
    • 直播配额管理目前仅支持华北2(北京)、华东2(上海)、华南1(深圳)、亚太东南1(新加坡)中心,其余中心提升配额可提交工单。关于如何提交工单,请参见联系我们
    • 关于直播配额管理(流数限制),更多信息请参见配额管理
    • 如需要修改加速区域设置,请参见修改加速区域
  3. 单击推流信息页签。

  4. 单击添加推流信息推流域名后的编辑图标,选择需要关联的推流域名。

配置自定义鉴权(可选)

URL鉴权功能旨在保护用户站点的内容资源不被非法站点下载盗用。域名初次添加时,默认开启URL鉴权。

鉴权功能开启状态下,有默认鉴权和自定义鉴权两种鉴权方式,您可按需选择默认鉴权或自定义鉴权。采用默认鉴权无需设置。如不采用默认配置,您也可以对鉴权主KEY备KEY有效时长进行自定义,并输入原始URL。

初次关闭URL鉴权,需要了解盗刷风险并签署《直播服务关闭URL鉴权免责协议》。建议您保持默认开启状态,否则会出现直播被盗录、盗播的风险。

说明

您可以观看视频讲解学习如何配置URL鉴权,详情请参见配置URL鉴权

  1. 域名管理页面,选择您要配置的播流域名,单击操作列的域名配置

  2. 选择直播管理 > 访问控制,进入访问控制页面。

  3. 单击URL鉴权页签,单击修改配置

    说明

    URL鉴权已开启的情况下,单击修改配置即可配置URL鉴权信息。若您之前已关闭URL鉴权,开启URL鉴权开关即可配置URL鉴权信息。

  4. 配置URL鉴权信息。

    配置项和说明如下表所示。

    配置项

    说明

    鉴权类型

    视频直播播流域名仅支持使用鉴权A,来实现对源站资源的有效保护。

    说明

    URL鉴权错误,都会返回403报错,请重新计算。

    • MD5计算类错误

      例如:X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be

    • 时间类报错

      例如:X-Tengine-Error:denied by req auth: expired timestamp=1439469547

    主KEY

    当您添加域名时,控制台会随机生成一个主用密码。您可以通过在直播控制台左侧的导航栏选择域名管理,选择您需要配置的域名,单击域名配置 > 访问控制 > URL鉴权,在URL鉴权页面查看主用密码。您还可以重新输入自定义的鉴权方式对应的主用密码。

    备KEY

    输入自定义的鉴权方式对应的备用密码。

    有效时长

    有效时长是指该URL鉴权仅在有效期内可用来发起推流或者播放。直播推流和播放都是长链接行为,在有效期内已经发起的直播推流或者播放行为,不会因为有效期过期而中止,但新发起的推流和播放请求会因为有效时长过期会失败。

    第一次添加新域名默认有效时长为1天(即1440分钟)。你可以自定义输入鉴权方式的默认有效时长,最小设置为1分钟,无上限限制。单位:分钟。

生成推流地址和播放地址

推流地址和播放地址是用于推送直播流和拉取直播流播放的域名,您可参考以下步骤生成推流地址和播放地址。

方式一:控制台生成

如果您希望快速生成推流地址和播放地址,可通过控制台工具生成。具体操作,请参见直播地址生成器

方式二:自定义拼接

通过自定义拼接生成推流地址和播放地址时,在拼接前需要自行判断直播流是否经过转码,是否进行鉴权,并准备好直播流的推流域名、播流域名、AppName(应用名称)、StreamName(直播流名称)、转码模板ID(如有)和鉴权串(如有)。拼接规则如下:

地址类

拼接规则

地址示例

推流地址

推流域名+AppName+StreamName+鉴权串

  • RTMP:rtmp://demo.aliyundoc.com/app/stream?auth_key={鉴权串}

  • RTS:artc://demo.aliyundoc.com/app/stream?auth_key={鉴权串}

  • SRT:srt://demo.aliyundoc.com:1105?streamid=#!::h=demo.aliyundoc.com,r=/app/stream?auth_key={鉴权串},m=publish

    说明

    其中m=publish不在鉴权串中,例如:srt://demo.aliyunlive.com:1105?streamid=#!::h=demo.aliyunlive.com,r=/1/1?auth_key=1661312655-0-0-3fded78b61b14071****aa6e6d2,m=publish

播放地址

播流域名+AppName+StreamName+鉴权串

  • RTMP:rtmp://example.aliyundoc.com/app/stream?auth_key={鉴权串}

  • FLV:http://example.aliyundoc.com/app/stream.flv?auth_key={鉴权串}

  • M3U8:http://example.aliyundoc.com/app/stream.m3u8?auth_key={鉴权串}

  • RTS:artc://example.aliyundoc.com/app/stream?auth_key={鉴权串}

转码流地址

播流域名+AppName+StreamName_转码模板ID+鉴权串

转码流地址需要在StreamName后加_转码模板ID

  • RTMP:rtmp://example.aliyundoc.com/app/stream_{转码模板ID}?auth_key={鉴权串}

  • FLV:http://example.aliyundoc.com/app/stream_{转码模板ID}.flv?auth_key={鉴权串}

  • M3U8:http://example.aliyundoc.com/app/stream_{转码模板ID}.m3u8?auth_key={鉴权串}

  • RTS:artc://example.aliyundoc.com/app/stream_{转码模板ID}?auth_key={鉴权串}

延播播放地址

播流域名+AppName+StreamName-alidelay+鉴权串

延播播放地址需要在StreamName后加-alidelay

  • RTMP:rtmp://example.aliyundoc.com/app/stream-alidelay?auth_key={鉴权串}

  • FLV:http://example.aliyundoc.com/app/stream-alidelay.flv?auth_key={鉴权串}

  • M3U8:http://example.aliyundoc.com/app/stream-alidelay.m3u8?auth_key={鉴权串}

  • RTS:artc://example.aliyundoc.com/app/stream-alidelay?auth_key={鉴权串}

说明
  • 表格中RTS地址,即超低延时直播RTS地址,使用前需开通超低延时直播功能

  • 视频直播根据StreamName而不是根据AppName来判断直播流是否唯一。如果您设置了不同的应用名称,还要保证直播流名称不同,才能保证最终的直播流不同。如果需要一个域名下不同的AppName推相同的流(StreamName),请联系我们开启App隔离功能。

  • 使用转码模板或鉴权串时,需要将{***}整体替换为实际内容。鉴权串是根据鉴权算法得出的一个加密字符串,需开启鉴权功能才可以生成。您可以在视频直播控制台开启鉴权功能并获取鉴权串,请参见配置URL鉴权,也可通过MD5算法计算获取鉴权串,请参见鉴权URL组成

  • 如果是纯拉流场景,您可以不需要生成推流域名。

  • 转码流地址需设置转码模板才可以生成。您可在控制台添加或查看转码模板的ID,具体操作,请参见通用转码,也可以通过调用AddCustomLiveStreamTranscodeDescribeLiveStreamTranscodeInfo接口添加或获取转码模板ID。

  • 延播播放地址需配置延播才可以生成,您可在控制台添加。具体操作,请参见延播配置。如果原播流域名未配置延播或未开播,则对应延播播放地址无法拉取到。

直播推流

直播推流是把采集阶段封装好的音视频直播流推送到阿里云直播服务中心的过程。此处以使用OBS推流工具推流为例进行介绍。更多推流工具操作详情,请参见直播推流

说明

您可以观看视频讲解学习如何进行直播推流,详情请参见直播推流和播放

  1. 下载并安装OBS推流工具。下载地址,请参见OBS Studio
  2. 运行OBS推流工具。
  3. 在菜单栏中选择文件 > 设置
  4. 在设置页面选择推流,配置信息如下所示:
    001
    参数描述
    服务选择自定义
    服务器输入已经生成的鉴权推流地址,例如:rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************
    串流密钥串流密钥为空。
  5. 在OBS主界面来源区域添加推流源,然后单击开始推流
    002
说明

如果在推流过程中出现推流异常等问题,可优先使用自助问题排查工具进行自助检测。本工具可快速诊断常见直播推流问题,并根据具体异常提供解决建议。具体操作,请参见自助问题排查

直播播放

直播播放是将直播服务中心已有直播内容分发到播放器进行播放的过程。此处以通过VLC播放器播放为例进行介绍,更多播放器操作详情,请参见直播播放

说明

您可以观看视频讲解学习如何进行直播播放,详情请参见直播推流和播放

  1. 下载并安装VLC播放器。下载地址,请参见VLC media player
  2. 运行VLC播放器。
  3. 在菜单栏中选择媒体 > 打开网络串流
  4. 网络页签中输入网络URL,即播放地址,例如:rtmp://example.aliyundoc.com/app/stream?auth_key=1543300311-0-0-d47ce016332bf280cf275********
  5. 单击播放
说明

如果在播放过程中出现播放异常等问题,可优先使用自助问题排查工具进行自助检测。本工具可快速诊断常见直播播放问题,并根据具体异常提供解决建议。具体操作,请参见自助问题排查

其他功能

视频直播提供了权限管理、基础服务、直播加速、直播安全、直播延时、HTTP配置、直播流媒体处理、云端合流、云导播台、直播管理、数据统计和日志管理等丰富的功能。您可以阅读开发指南概述,了解以上功能的使用方法。

阿里云首页 视频直播 相关技术圈