使用OBS+Azure Media Service+CDN进行直播,配置方法及最佳实践

我们知道,在Azure Media Service进行直播需要一个本地实时编码器的配合。从Azure官方文档可以了解到下列四种编码器的配置方法:


https://www.azure.cn/documentation/articles/media-services-live-encoders-overview/.

  • Elemental Live
  • FMLE
  • Telestream Wirecast
  • NewTek TriCaster

OBS - Open Broadcaster Software (https://jp9000.github.io/OBS/settings/encodingsettings.html) 目前并不是Azure官方支持的实时编码器,但使用下面的配置,我们仍然可以利用Azure的直播服务。本文还会介绍Azure直播频道和CDN的配置方法。

OBS配置

使用OBS+Azure Media Service+CDN进行直播,配置方法及最佳实践_第1张图片

其中的FMS URL是通过Azure管理门户得到:

“播放路径/串流码”应填写Azure媒体服务中的频道名称:

下面是对编码器的配置:

使用OBS+Azure Media Service+CDN进行直播,配置方法及最佳实践_第2张图片


Azure频道设置

以上值得注意的是,当我们把视频编码设置为x264,这里有一个已知问题,即x264视频源不能在Azure直播频道把单码率视频流动态编码成多码率,请参考这篇官方文档。所以,我们在创建直播频道时,要注意下图所示的选项。这一选项在创建频道后无法更改。使用OBS+Azure Media Service+CDN进行直播,配置方法及最佳实践_第3张图片

CDN配置

使用OBS+Azure Media Service+CDN进行直播,配置方法及最佳实践_第4张图片

这里要注意的是: CUSTOM DOMAIN,您需要从自己公司注册的域名中指定一个二级域名,例如: livest.mycompany.cn。然后ORIGIN HOST HEADER会自动弹出对应的值。在做出以上配置后,您需要到域名管理平台里配置CNAME。例如livest.mycompany.cn指向CDL URL (livest.zdnet.com.cn.mschcdn.com)。之后我们通过类似下面这样的URL,来访问通过CDN加速的直播视频:

http://livest.mycompany.cn/5f5db016-82fd-4361-860f-439803decff7/04385b1b-d02d-4182-a43f-731b15a07e43.ism/Manifest(format=m3u8-aapl)

直播中要注意的问题

1. RTMP源到目标(直播现场到Azure云)的带宽和网络稳定性

一定要保证带宽充足,应至少为上传视频码率总和的4-5倍。例如,上传为800Kbps单码率,那么直播现场的live encoder所在电脑应该有至少4Mbps独享带宽,并且要保证网络的稳定。否则,当直播源有一段时间不能连接服务器,而且没有保持RTMP连接,那么直播源再次连接成功以后,也要在azure云上reset channel,才能重新正常播放。

使用OBS+Azure Media Service+CDN进行直播,配置方法及最佳实践_第5张图片

2. 使用Azure Media Player实现自动重连

选择Azure Media Player可以节省开发客户端播放器的开销和精力。它是一个基于HTML5实现的可以跨不同设备的播放器: http://ampdemo.azureedge.net/。您可以将代码嵌入到您的HTML网页里,实现视频播放。这个播放器在遇到网络错误时,如果不加处理,会返回下面的页面:

使用OBS+Azure Media Service+CDN进行直播,配置方法及最佳实践_第6张图片

这时,如果用户手动刷新页面,视频又会继续播放。为了解决这一问题,我们可以添加下面的代码,自动刷新页面,提高用户体验。请参考下面的代码片段:

使用OBS+Azure Media Service+CDN进行直播,配置方法及最佳实践_第7张图片



你可能感兴趣的:(Windows,Azure动手实验)