我有一台带摄像头的PC和阿里云,怎么进行一场直播? flashmicrosoft浏览器
程序员文章站
2022-07-07 15:12:38
...
摘要: 开通阿里云直播服务:阿里云直播服务接收直播流,并提供直播播放地址,完成一场直播需要先开通阿里云直播服务,在 视频直播产品主页 中单击 立即开通,开通阿里云直播服务。 添加直播加速域名:您需要做直播服务需要提供一个经过备案的域名,并且在视频直播控制台中 添加直播加速域名。
准备工作
开始直播
直播需要如下步骤:
- 获取推流地址:假如我们的直播加速域名为 a.com,那么推流地址为:rtmp://video-center.alivecdn.com/AppName/StreamName?vhost=a.com。
- 推流:可以使用阿里云提供的直播 demo 工具进行推流测试:https:// promotion.aliyun.com/ntms/act/streamplay.html?spm=5176.137251.709409.4.MiBmaJ&wh_ttid=pc,将第一步中的推流地址填入推流工具中的 推流地址 处,并单击 开始直播 即可。
- 播放:对于正在进行的推流,可以使用如下几个地址进行播放,将任一地址填入直播 demo 工具的拉流地址,单击 开始点播 即可。
注:需要把下面的 a.com 换成自己的直播域名。
- http://a.com/AppName/StreamName.flv
- rtmp://a.com/AppName/StreamName
- http://a.com/AppName/StreamNmae.m3u8
常见问题
1.有没有其他工具可以进行推流?
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 播放地址:http://a.com/live/abc.flv
hls 播放地址:http://a.com/live/abc.m3u8
- 推流地址:rtmp://video-center.alivecdn.com/app/s1?host=a.com
rtmp 播放地址:rtmp://a.com/app/s1
httpflv 播放地址:http://a.com/app/s1.flv
hls 播放地址:http://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
httpflv:http://a.com/live/abc.flv
- 转码流 ld 播放地址:
rtmp:rtmp://a.com/live/abc_ld
httpflv:http://a.com/live/abc_ld.flv
- 转码流 sd 播放地址:
rtmp:rtmp://a.com/live/abc_sd
httpflv:http://a.com/live/abc_sd.flv
直播录制
保存直播内容,即直播录制。
阿里云直播录制的设计逻辑为对域名进行配置,推流地址符合配置规则直播流将被录制,并写入用户的 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
同时可以在控制台上进行直播录制配置,参见 用户指南 > 直播录制。
阅读更多干货好文,请关注扫描以下二维码: