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 ...
随机推荐
- Ubuntu系统下lnmp环境搭建和Nginx多站点配置
最近需要使用Ubuntu作为服务器搭建Lnmp环境,顺便将操作过程写下来,与大家分享.如有不足之处,欢迎大家提出不同意见.(本文默认读者已经熟悉相关linux命令的使用,比如创建文件和文件夹,编辑文件 ...
- Repeater的分页
Repeater控件是个好东西.轻量级.又好用.完全的自定义.但是,正是因为这些优点它没有自动分页的功能.这个需要研究一下.我看了一下起点等小说网站,那些什么推荐排名榜用Repeater控件那是很 ...
- ENode框架Conference案例分析系列之 - 事件溯源如何处理重构问题
前言 本文可能对大多数不太了解ENode的朋友来说,理解起来比较费劲,这篇文章主要讲思路,而不是一上来就讲结果.我写文章,总是希望能把自己的思考过程尽量能表达出来,能让大家知道每一个设计背后的思考的东 ...
- 新版C#编译器关于函数闭包的一处更改
感谢@DiryBoy的补充,他提到这个问题在MSDN上是有说明的: http://msdn.microsoft.com/en-us/library/vstudio/hh678682.aspx 在Vis ...
- MySQL 远程连接(federated存储引擎)
标签:federated存储引擎 概述 本文主要介绍通过federated存储引擎建立远程连接表 测试环境:mysql 5.6.21 步骤 开启federated存储引擎 先查看federated存储 ...
- 搭建Cordova开发环境
Cordova是什么 Apache Cordova是一套设备API,允许移动应用的开发者使用JavaScript来访问本地设备的功能,比如摄像头.加速计.它可以与UI框架(如jQuery Mobile ...
- Git命令汇总
1. 工作区和版本库 说明: 工作区(Working Directory)就是创建仓库的文件夹 版本库(Repository)就是工作区的隐藏目录.git,版本库中有暂存区(stage/index)和 ...
- Android开发学习之路-Handler消息派发机制源码分析
注:这里只是说一下sendmessage的一个过程,post就类似的 如果我们需要发送消息,会调用sendMessage方法 public final boolean sendMessage(Mess ...
- Java集合类的组织结构和继承、实现关系
Collection继承.实现关系如下(说明(I)表示接口,(C)表示Java类,<--表示继承,<<--表示实现): (I)Iterable |<--(I)Collectio ...
- Struts框架
Struts是最早的Java开源框架之一,它是MVC设计模式的一个优秀实现. Struts定义了通用的Controller(控制器),通过配置文件(通常是 Struts -config.xml) Ec ...