Azure Media Service (1) 使用OBS进行Azure Media Service直播
《Windows Azure Platform 系列文章目录》
今天正好有客户问如何使用OBS进行Azure Media Service直播,我这里简单介绍一下。
先决条件:
1. OBS Studio: https://obsproject.com/,下载并安装
2. Azure China账户
操作步骤主要分为以下几部分:
1.创建Media Service
2.OBS操作步骤
3.预览
4.设置直播带宽
5.设置CDN
第一部分.创建Media Service
1.登录Azure China管理平台:https://manage.windowsazure.cn
2.创建新的Media Service服务,并设置Storage Account

3.等待这个Media Service创建完毕后,点击创建成功的Media Service。然后选择Channels,Add New Channel

4.在弹出的窗口,设置Channel Name。Encoding Type选择None。图略。
5.Inges Protocol选择RTMP
6.Channel Creation。设置本地OBS客户端访问的IP地址。即客户端推送的白名单。
如果是通过本地PC机器的OBS访问Media Service,选择Restrict to current IP Address
如果是其他机器的OBS访问,设置IP Address OR CIDR Rang
选择完成设置。
7.等待Channel的状态为 Ready。然后点击Start Streaming,根据需要选择加密方式。
我这里选择Unencrypted

8.点击下图的Ingest URL

点击上图的2 Ingest URLS。弹出窗口,牢记
- Primary(RTMP): rtmp://leilivechannel-leimediaservice.channel.mediaservices.chinacloudapi.cn:1935/live/107b55fdb25d482fb23c4222e3e3f48f,这个是输入的URL
- 而上图的Publish URL,是客户端查看的URL:
http://leimediaservice.streaming.mediaservices.chinacloudapi.cn/edaea887-adb2-41c6-90e4-f5f18c659510/3bcfbbde-90c9-496a-9ba9-82201dca134e.ism/Manifest
第二部分:OBS操作步骤:
1.在本地PC机器,打开OBS Studio。选择文件设置

2.在串流中,选择自定义流媒体服务器。
输入Azure Media Service的Primary (RTMP):
rtmp://leilivechannel-leimediaservice.channel.mediaservices.chinacloudapi.cn:1935/live/107b55fdb25d482fb23c4222e3e3f48f
流秘钥,输入上面的live/后面的内容,即:107b55fdb25d482fb23c4222e3e3f48f。
如下图:

3.输出,视频比特率进行合理设置,比如800

4.然后设置输入源。步骤略:

5.最后,点击开始串流

可以看到,本地PC机器上传的带宽为966kb/s
注意:保证本地的OBS机器到Internet带宽和网络稳定
一定要保证带宽充足,应至少为上传视频码率总和的4-5倍。例如,上传为800Kbps单码率,那么直播现场的live encoder所在电脑应该有至少4Mbps独享带宽,并且要保证网络的稳定。否则,当直播源有一段时间不能连接服务器,而且没有保持RTMP连接,那么直播源再次连接成功以后,也要在azure云上reset channel,才能重新正常播放。
第三部分:预览
我们可以根据自己的需要,自己开发播放器。
1.当我们设置完毕后,就可以通过Azure Media Player进行预览:
http://ampdemo.azureedge.net/ (注意这个网站在海外,使用起来会比较慢)
2.我们上面设置的Public URL:
输入到Azure Media Player的URL里面,如下图:

然后点击上图的Update Player。就可以看到本地播放的内容了。显示的是我的桌面。

设置直播带宽
1.我们登录Azure China管理平台:https://manage.windowsazure.cn
2.选择Media Service,然后选择Stream Endpoints:

3.选择上面的default,页面跳转
根据需要,设置这个Media Service直播的互联网带宽:

上图中,一个Unit为200 mbps带宽。注意:如果设置很高,则支出的互联网带宽也越贵。

第五部分:设置CDN
1.如果我们不想支持带宽费用,我们也可以保持STREAMING UNITS为1。然后通过设置CDN,来保证客户端的用户体验。注意CDN也会产生额外的费用。
2.设置CDN的前提要求:需要客户具有自己的DNS地址,且该DNS地址必须经过ICP备案。
3.我们选择新建,CDN,Quick Create。然后输入以下内容:

1) Acceleration Type为HTTP Live Steaming Acceleration
2) Original Domain Type为Media Service
3) Origin Domain为选择自己创建的Media Service
4) Custom Domain为客户自己的DNS域名,比如cdn.contoso.com.cn
5) Origin Host Header选择默认
6) ICP Number,为自己域名cdn.contoso.com.cn的备案号
最后,客户就可以通过自己的域名:cdn.contoso.com.cn,来访问Media Service服务啦。
Azure Media Service (1) 使用OBS进行Azure Media Service直播的更多相关文章
- 如何通过Azure Service Management REST API管理Azure服务
通过本文你将了解: 什么是Azure Service Management REST API 如何获取微软Azure 订阅号 如何获取Azure管理证书 如何调用Azure Service Manag ...
- [SDK2.2]Windows Azure Cloud Service (35) 使用VS2013发布Azure Cloud Service
<Windows Azure Platform 系列文章目录> 好久没有更新BLOG了,今天我们继续Windows Azure相关的内容. 笔者最近把Visual Studio升级到了20 ...
- 如何将Azure DevOps中的代码发布到Azure App Service中
标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Servi ...
- 【Azure微服务 Service Fabric 】使用az命令创建Service Fabric集群
问题描述 在使用Service Fabric的快速入门文档: 将 Windows 容器部署到 Service Fabric. 其中在创建Service Fabric时候,示例代码中使用的是PowerS ...
- [SQL in Azure] Getting Started with SQL Server in Azure Virtual Machines
This topic provides guidelines on how to sign up for SQL Server on a Azure virtual machine and how t ...
- 【初码干货】【Azure系列】1、再次感受Azure,体验Windows Server 2016并部署BlogEngine.NET
上个月末,在某人的建议下,重新注册了一个1元试用账户(包含1个月期限的1500元订阅),并充值了1000元转为了正式账户,相当于1000元得到了2500的订阅,于是又一次开启了Azure之旅. 在这不 ...
- Azure机器学习入门(二)创建Azure机器学习工作区
我们将开始深入了解如何使用Azure机器学习的基本功能,帮助您开始迈向Azure机器学习的数据科学家之路. Azure ML Studio (Azure Machine Learning Studio ...
- Windows Azure Storage (18) 使用HTML5 Portal的Azure CDN服务
<Windows Azure Platform 系列文章目录> Update:2015-04-15 如果读者使用的是国内由世纪互联运维的Azure China服务,请参考笔者的文档:Azu ...
- [Windows Azure] Developing Multi-Tenant Web Applications with Windows Azure AD
Developing Multi-Tenant Web Applications with Windows Azure AD 2 out of 3 rated this helpful - Rate ...
随机推荐
- Angular 1.x 升级到 Angular 2
原项目用ng1.5写的,现在改成ng2.0了,踩了不少坑,不过都忘记了. 如果你也正好要做这个工作,正好看到这个文章,不妨参考下. AngularJs 1.x -> 2.0 ng-repeat ...
- IOS远程推送
IOS远程推送 一.关于推送通知 推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能.是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径,是从外部服务器发送到应用程序上的.一般说 ...
- Algorithm | Binary Search
花了半天把二分查找的几种都写了一遍.验证了一下.二分查找的正确编写的关键就是,确保循环的初始.循环不变式能够保证一致. 可以先从循环里面确定循环不变式,然后再推导初始条件,最后根据循环不变式的内容推导 ...
- js微博发布框的实现
观察了微博发布框, 1.发现他的剩余文字是动态改变的, 2.且文字为零时 发布框颜色为暗色 3.文字不符合标准时提交不通过 整理了一下思路 js会主要用到的方法 1.onclick() //点击发布时 ...
- Webpack教程
打开链接:Webpack教程
- CYQ.Data 批量添加数据性能测试(每秒千、万)
今天有网友火晋地同学进了CYQ.Data官方群了,他正在折腾了一个各大ORM性能测试的比较的软件,如下图 折腾的种类也不少: 感觉这软件折腾的不错~~~值的期待~~~ 另外,他指出CYQ.Data 在 ...
- ABP理论学习之N层架构
返回总目录 自从写这个系列博客之后,发现很多园友还是希望有个直接运行的demo,其实在github上就有官方的demo,我直接把这demo的链接放到这里吧,另外,我分析,这些找不到demo的同学,很可 ...
- 前端神器avalonJS入门(三)
本章将介绍如何使用avalon来实现前端路由功能. 我们需要用到两个avalon路由配套模块—— mmHistory.js 和 mmRouter.js .其中mmHistory是用于历史管理,它会劫持 ...
- mysql字符串处理例子
项目中用到的,要判断表中某个字段的某几位,若为某个值则替换,用到了几个典型的字符串操作,记录备注实现方案如下: 备注:如果替代字符串是唯一的话,可以用replace,这里用的是concat拼接. DE ...
- python自动化测试(4)-使用第三方python库技术实现
python自动化测试(4)-使用第三方python库技术实现 1 概述 关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 ...