- 搭建直播系统所需的组件,以及每个组件的功能。
- 一次直播活动的流程,包括准备工作,进行中和活动结束。这里给出建议的步骤,供读者参考。
- 直播在Azure中产生的费用。
1. 系统架构
1.1 摄像设备和客户端编码软件
摄像设备可以是专业摄像机、笔记本自带的摄像头,您也可以在iPhone上安装Wirecast Cam作为摄像设备。具体的配置方法在这里:http://mingfeiy.com/using-iphone-live-stream-azure-media-services。
客户端编码软件有很多选择,例如: Wirecast, Adobe Media Live Encoder, FFMPEG等。参考我的这篇博客: 如何配置Flash Media Live Encoder (FMLE)从而使用Azure直播服务.客户端编码器的功能是把来自摄像设备的视频和音频信号进行压缩,并根据用户的设置把多种码率的码流通过RTMP协议注入到Azure中。
1.2 频道和节目 (channel and program)
频道(channel)在云端接收视频流。它提供Ingest URL和Preview URL。Ingest URL需要设置在客户端编码软件里,Preview URL提供给直播活动的后台人员,用来在云端监控当前的视频流。
节目(program)在一个频道中将视频流归档为video文件放到Azure存储中。每个频道(channel)最多可以设置3个节目(program)。我们可以为Program设置ArchiveWindow - 即录制的时长。如果一个直播活动的总时长为1小时,而archive window设为20分钟,这个program将总是保留最近20分钟的视频流。
1.3 资产(Asset)
即录制直播活动所产生的视频文件,它存在于Azure存储中,并产生存储的费用。
1.4 流媒体endpoint
流式处理单元(streaming unit)所完成的工作包括:动态打包(dynamic packaging), 动态加密(dynamic encryption),动态提取元数据。每个流式处理单元提供预留的200Mbps带宽。Azure服务等级协议承诺的是80%,即160Mbps的带宽。它与CDN相结合,提供更大的用户覆盖范围。
1.5 Azure媒体播放器
Azure直播功能为客户端推出的流媒体格式包括: Smooth Streaming, HLS和DASH。只要支持这些格式的设备和播放器都可以用。Azure团队开发了一个统一的,基于浏览器的播放器,它自动检测设备类型,并推送相应格式的直播流。这个播放器是基于HTML5实现的,用户也可以自己开发各种设备上的播放器。Azure Media Player可以在这里获得:http://azure.microsoft.com/blog/2015/04/15/announcing-azure-media-player/ 。
1.6 Azure Portal
http://manage.windowsazure.cn 通过这个管理界面,用户可以创建管理channel, program,并通过preview URL进行预览。
1.7 Video Editor
这个组件并不是必需的。用户往往需要一个编辑软件,来对直播活动的视频文件进行编辑,例如去掉开头10分钟准备的部分。
2. 直播活动
2.1 开播前的准备
- 创建频道(channel), 设置为Stop状态
- 创建流式处理单元(streaming unit), 设置为Stop状态
2.2 开播前60分钟
- 启动频道
- 启动流式处理单元
- 准备开播前的背板,并通过预览URL来监测。
2.3 直播开始
在直播中,您可以通过Azure portal的preview URL来监控直播活动。
2.4 直播结束
- 在活动结束的15分钟后停止频道,停止流式处理单元。
- 对录制的视频进行剪辑和发布。