我有一台带摄像头的PC和阿里云,怎么进行一场直播?

957 阅读5分钟
摘要: 开通阿里云直播服务:阿里云直播服务接收直播流,并提供直播播放地址,完成一场直播需要先开通阿里云直播服务,在 视频直播产品主页 中单击 立即开通,开通阿里云直播服务。 添加直播加速域名:您需要做直播服务需要提供一个经过备案的域名,并且在视频直播控制台中 添加直播加速域名。

准备工作

开通阿里云直播服务:阿里云直播服务接收直播流,并提供直播播放地址,完成一场直播需要先开通阿里云直播服务,在 视频直播产品主页 中单击 立即开通,开通阿里云直播服务。
添加直播加速域名:您需要做直播服务需要提供一个经过备案的域名,并且在视频直播控制台中 添加直播加速域名


开始直播

直播需要如下步骤:
  1. 获取推流地址:假如我们的直播加速域名为 a.com,那么推流地址为:rtmp://video-center.alivecdn.com/AppName/StreamName?vhost=a.com。
  2. 推流:可以使用阿里云提供的直播 demo 工具进行推流测试:https:// promotion.aliyun.com/ntms/act/streamplay.html?spm=5176.137251.709409.4.MiBmaJ&wh_ttid=pc,将第一步中的推流地址填入推流工具中的 推流地址 处,并单击 开始直播 即可。
  3. 播放:对于正在进行的推流,可以使用如下几个地址进行播放,将任一地址填入直播 demo 工具的拉流地址,单击 开始点播 即可。
注:需要把下面的 a.com 换成自己的直播域名。

常见问题

1.有没有其他工具可以进行推流?
示例中使用的是 Flash 进行推流,还可以使用 OBS 进行推流,OBS 下载及使用教程

2.如果我需要同时进行多场直播怎么办?
阿里云直播设计逻辑为:完成配置后,可以自行管理推流地址,无需创建直播地址,相应的播放地址通过规则来映射。假如用户的直播加速域名为 a.com,那么推流地址为:rtmp://video-center.alivecdn.com/AppName/StreamName?vhost=a.com。其中 AppName 和 StreamName 用户可以根据自己需求任意设置和管理。

例如,如下的直播推流地址都是可以使用的(相应的播放地址列在推流地址后面)。
  • 推流地址:rtmp://video-center.alivecdn.com/live/abc?vhost=a.com
rtmp 播放地址:rtmp://a.com/live/abc
httpflv 播放地址:a.com/live/abc.fl…
hls 播放地址:a.com/live/abc.m3…
  • 推流地址:rtmp://video-center.alivecdn.com/app/s1?host=a.com
rtmp 播放地址:rtmp://a.com/app/s1
httpflv 播放地址:a.com/app/s1.flv
hls 播放地址:a.com/app/s1.m3u8

3.上面提到的三种地址,有什么区别?
  • 三种播放地址的延迟不一样:httpflv 与 rtmp 延迟较小,适合交互比较强的直播,hls 延迟较大,适合交互比较弱的直播。
  • 三种播放地址的兼容性不一样:httpflv 和 rtmp 需要 flash 播放器或则客户端播放器,hls 可以直接在浏览器中播放。

直播转码

直播常见一个问题是,推流的码率设置得比较高、很清晰,但是网络差的观众无法观看,我们可以使用直播转码功能,将推上来的直播流转成多种码率,满足不同网络的用户观看需求。


配置规则

阿里云直播转码的设计逻辑与录制类似,对域名进行配置,推流地址符合配置规则直播流将被转码。

转码模版

每个转码模版会有一个 ID,内容为一组转码参数的集合,制定了转码输出流的码率、分辨率等参数。

阿里云提供 2 组转码模版:高质量转码模版和低质量转码模版,每组转码模版分别有四种分辨率、码率的组合,这些模版分别为:
  • 高质量模版:ld、sd、hd、ud
  • 低质量模版:lld、lsd、lhd、lud

转码配置规则

用户的推流地址形式如下:
rtmp://video-center.alivecdn.com/AppName/StreamName?vhost=a.com
这个推流地址中,有三部分是由用户管理的:域名 (a.com)、AppName、StreamName。用户可以配置对某个 域名+AppName 使用某几个转码模版,配置后,当用户推流时,符合该域名与 AppName 的直播流将被转码。

示例

配置:域名为 a.com, AppName 为 live 进行转码,如下直播流将被转码。

rtmp://video-center.alivecdn.com/live/StreamName?vhost=a.com
rtmp://video-center.alivecdn.com/live/xyz?vhost=a.com

用户可以在控制台上进行 直播转码配置

转码流播放地址:转码流播放地址由原始流播放地址+_+ 转码 ID 构成。例如,在域名 a.com,AppName 为 live 的直播域名下配置了 ld、sd 的转码,则相应的推流、播放地址分别为:
  • 推流地址: rtmp://video-center.alivecdn.com/live/abc?vhost=a.com
  • 原始流播放地址:
rtmp:rtmp://a.com/live/abc
  • 转码流 ld 播放地址:
rtmp:rtmp://a.com/live/abc_ld
  • 转码流 sd 播放地址:
rtmp:rtmp://a.com/live/abc_sd
参见 转码地址

直播录制

保存直播内容,即直播录制。


阿里云直播录制的设计逻辑为对域名进行配置,推流地址符合配置规则直播流将被录制,并写入用户的 OSS。

录制规则

用户的推流地址形式如下:

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

这个推流地址中有三部分是由用户管理的:域名 (a.com)、AppName、StreamName。用户可以配置对某个 域名 + AppName 进行录制,配置后,当用户推流时,符合该域名与 AppName 的直播流将被录制。

示例

配置域名为 a.com,AppName 为 live 进行录制,如下直播流将被录制。

rtmp://video-center.alivecdn.com/live/StreamName?vhost=a.com
rtmp://video-center.alivecdn.com/live/xyz?vhost=a.com

同时可以在控制台上进行直播录制配置,参见 用户指南 > 直播录制。

阅读更多干货好文,请关注扫描以下二维码: