{"id":5863,"date":"2014-09-11T00:00:00","date_gmt":"2014-09-11T00:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal"},"modified":"2024-07-31T08:45:37","modified_gmt":"2024-07-31T15:45:37","slug":"getting-started-with-live-streaming-using-the-azure-management-portal","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/","title":{"rendered":"Getting Started with Live Streaming Using the Azure Management Portal"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Earlier today we announced the availability of our public preview of Azure Media Services live services.&nbsp; These are the same live services that NBC Sports has used to deliver their multi-platform live coverage of their sports properties including English Premier League, NHL hockey, Sunday Night Football, and the Sochi Olympics.&nbsp; It is also the live services that were used by 10 world-wide broadcasters during the recently concluded FIFA World Cup.&nbsp; Thus we are very confident with the stability, scalability, and performance of these services and are excited to make them now available to all Media Services users!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We will have many posts this week covering different aspects of our live streaming capabilities and how to use them. In this post, I\u2019ll give you some of the basics of live streaming and will then apply them to a specific scenario (a live desktop webcast).&nbsp; In my post I will do everything using our management portal without any code then later in the week we\u2019ll have another post showing how to automate the same actions using our SDK.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"basic-components-of-live-streaming\">Basic Components of Live Streaming<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">I\u2019ll start by giving you an overview of the basic components of the end to end solution that we\u2019ll assemble in the instructions later in this post.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><strong>Azure Account and Subscription- <\/strong>If you don\u2019t yet have a Microsoft Azure account you will first need to create one by going to <a href=\"https:\/\/azure.com\">https:\/\/azure.com<\/a>, there is a free trial available if you want to try before you buy.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Azure Media Services Account- <\/strong>If you don\u2019t yet have a Media Services account there are some instructions on how to create one at <a href=\"https:\/\/azure.microsoft.com\/en-us\/documentation\/articles\/media-services-create-account\/\">https:\/\/azure.microsoft.com\/en-us\/documentation\/articles\/media-services-create-account\/<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Video Camera-<\/strong> In my case I\u2019ll use the web cam on my laptop but just about any camera will work.\u00a0 If it has a digital output like USB you should be able to connect it directly to your PC to encode its output, if not you\u2019ll need a video capture card.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Live Encoder- <\/strong>Currently Azure Media Services supports two live ingest protocols, fragmented MP4\/Smooth Streaming and RTMP.\u00a0 RTMP has become very pervasive and thus there are a large range of options including free encoders like Flash Media Encoder or FFMPEG, inexpensive encoders like Wirecast, high production value products like NewTek\u2019s Tricaster, all the way up to professional grade encoders from Cisco, Elemental, Image, etc.\u00a0 For the sample below I will use my laptop with a copy of Telestream\u2019s Wirecast installed.\u00a0 If you don\u2019t have an encoder already you can download a copy of Wirecast from their <a href=\"https:\/\/www.telestream.net\/wirecast\/overview.htm\" target=\"_blank\" rel=\"noopener\">site<\/a> and they offer a trial license.\u00a0 Note that video encoding is a very CPU intensive operation so since I\u2019m doing the encoding on my laptop I\u2019ve limited my encoding to three quality levels and relatively low bit rates.\u00a0 If you\u2019re going to be using a laptop or other PC with fairly low CPU horsepower you should monitor CPU utilization, if it is consistently above ~70% you should remove a quality level or lower the bitrates and resolutions of your encoding profiles.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>High Speed Internet Connection-<\/strong> To push out live video you need an internet connection which has a fairly stable outbound speed at least 1.5x the bit rate of the video you want to send to us, to account for fluctuations in the bit rate of the encoder\u2019s output.\u00a0 So for example in the solution we build below I am using three quality levels (\u201crenditions\u201d) of my live stream, 400, 600, and 900 Kbps, combined the aggregate bitrate is 1900Kbps so I need to have at least 2850Kbps (2.85Mbps).<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Azure Media Services Channel-<\/strong> Channels are the only thing new in Azure Media Services which enables live streaming.\u00a0 They are the component within our service which provides you with an ingest point for the output of your encoder.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Azure Media Services Asset-<\/strong> An Asset in Media Services is the container for storing all audio and video as well as metadata associated with your stream.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Azure Media Services Program<\/strong>&#8211; A Program is an entity in Azure Media Services that you create on a channel in order to start writing the stream being received on the Channel to an Asset.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Azure Media Services Streaming Locator-<\/strong> You create a Locator on an Asset when you want to make it available for streaming.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Azure Media Services Streaming Endpoint and Streaming Units-<\/strong> A Streaming Endpoint provides you with a URL from which you can pull your live and VOD assets.\u00a0 Streaming Endpoints also provide our dynamic packaging capabilities and secure the delivery of the streams.\u00a0 Streaming Units are provisioned into Streaming Endpoints to provide it with a guaranteed maximum amount of throughput.\u00a0 Each Streaming Unit provides 200Mbps of streaming egress capacity and you can add more to your Streaming Endpoint as needed to increase its capacity.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Azure CDN-<\/strong> In the very near future we will be directly integrating Azure CDN with Azure Media Services.\u00a0 When done there will be a new setting on Streaming Endpoints that will allow you to specify if you want us to automatically provision a CDN endpoint connected to your Streaming Endpoint.\u00a0 In the meantime you can stream directly from your Streaming Endpoint or contact us through Azure support to have us setup Azure CDN for your Streaming Endpoint.<\/li>\n\n\n\n<li class=\"wp-block-list-item\"><strong>Video Player-<\/strong> Azure Media Services Streaming Endpoints provide dynamic packaging capabilities which enables you to output your live stream using the streaming protocols needed for each of the devices you want to reach.\u00a0 In the solution we\u2019ll build below I will use an HTML5\/DASH.js player with MPEG-DASH for all platforms (desktop browser, Android, and Windows Phone) other than iOS where I will use HLS version 3.\u00a0\u00a0\u00a0 For more information on our dynamic packaging capabilities take a look at <a href=\"https:\/\/channel9.msdn.com\/Series\/Windows-Azure-Media-Services-Tutorials\/Introduction-to-dynamic-packaging\">Nick\u2019s Channel9 video<\/a> and our <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/azure\/jj889436.aspx\">MSDN documentation<\/a>.<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"our-scenario-a-webcast-event\">Our Scenario: A Webcast Event<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s now get started by explaining a bit about the scenario we\u2019ll implement below.&nbsp; In the steps below we\u2019ll build out a solution for doing a desktop webcast that could be used to broadcast training from my PC\u2019s webcam.&nbsp; This webcast will be an \u201cevent\u201d which in live streaming terminology means that it is a live stream that will have a beginning and end.&nbsp; This is in contrast to a \u201clinear\u201d stream which runs indefinitely like the channels on your TV which are always on, in a later blog post we\u2019ll cover how to use our live services for linear streams.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"pre-event-setup\">Pre-Event Setup<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Below are a set of pre-event setup steps that will get us ready to run our event.&nbsp; These steps can be taken at any point before the event to get everything provisioned, there\u2019s no need to rush through them directly before you want to go \u201con-air\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"creating-an-azure-media-services-channel-and-steaming-endpoint\">Creating an Azure Media Services Channel and Steaming Endpoint<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In this first set of steps we\u2019ll use the Azure management portal to provision the infrastructure needed to receive the live stream from the encoder and to stream and package it for delivery to all of our client playback devices.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Open the Azure management portal by navigating to <a href=\"https:\/\/azure.com\">https:\/\/azure.com<\/a> then click on \u201cPortal\u201d in the top menu bar.\u00a0 After logging in with your Microsoft ID you\u2019ll be placed into the management portal.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">In the left side vertical menu strip click on the \u201cMEDIA SERVICES\u201d menu item.\u00a0 This will cause a list of all Media Services accounts you have created to open on the right.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Click on the Media Services account you want to use to build this sample, in my case I\u2019m using a Media Services account I created called \u201cjasonblog\u201d.\u00a0 You will now see all the details of your Media Services account including a top menu bar which can be used to create and control all of the Media Services entity types.\u00a0 For those of you that have been using Media Services for a while you\u2019ll notice that there is now a new menu item on the top menu bar called \u201cCHANNELS\u201d which is marked as being preview.\u00a0 This is where all the management controls for Azure Media Services Channels live.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Click on \u201cCHANNELS\u201d in the top menu bar.\u00a0 This will open a list of channels in your account (if you have any).<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Since you probably do not yet have any channels there will be a message displayed that says \u201cYou have no channels.\u00a0 Add one to get started!\u201d, click \u201cADD NEW CHANNEL\u201d which is immediately below it.\u00a0 This will open a dialog which will ask for properties you want to set on your channel.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">In the \u201cCreate a new Live Channel\u201d dialog enter a name for your channel (in my case I\u2019m naming it \u201cwebcast\u201d).\u00a0 Next specify the ingest protocol you will use, in my case I\u2019m using Wirecast which outputs RTMP so I\u2019m leaving it set to the default.\u00a0 As far as the three checkboxes at the bottom leave \u201cStart the new channel now\u201d checkbox checked which will save you the extra step of starting it later.\u00a0 The next checkbox is labeled \u201cAdd one streaming unit\u201d which is checked by default if your \u201cdefault\u201d Streaming Endpoint does not currently have any Streaming Units provisioned in it.\u00a0 If so leave it checked and we will automatically provision one for you, again saving you the extra step later.\u00a0 Lastly there is a checkbox labeled \u201cRestrict video ingest to my computer\u2019s current IP address\u201d, if this is left checked it will apply an IP access control list (ACL) to your channel which locks it down to only accept input from your computer.\u00a0 Uncheck this checkbox.\u00a0 Below is a screenshot of my dialog with all of these settings.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Click on the checkmark button in the lower right corner of the \u201cCreate a new Live Channel\u201d dialog which will trigger the new Channel to be created and started as well as a new Streaming Unit to be added to your \u201cdefault\u201d Streaming Endpoint.\u00a0 You\u2019ll now see along the bottom of the screen a status strip appearing telling you that the Channel is being created and then started.\u00a0 Wait for these steps to complete before proceeding, it should take approximately a couple minutes.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"configuring-the-encoder-and-starting-it\">Configuring the Encoder and Starting It<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Cenk Dingiloglu has made a separate blog posting which focuses on encoder configuration, my steps below are still valid but for more detail go to <a href=\"https:\/\/azure.microsoft.com\/blog\/2014\/09\/18\/azure-media-services-rtmp-support-and-live-encoders\/\">https:\/\/azure.microsoft.com\/blog\/2014\/09\/18\/azure-media-services-rtmp-support-and-live-encoders\/<\/a><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Now that we have the infrastructure needed in Media Services the next step is to setup Wirecast and start pushing the stream at our channel.&nbsp; Telestream is currently finalizing a \u201cDestination\u201d for Azure Media Services which will shorten the steps needed but since that is not yet widely available I\u2019ll walk through all the manual steps, to speed thing up somewhat I have created a Wirecast \u201cdocument\u201d which will give you most of what you need.&nbsp; I won\u2019t go into the detail of how this document was created, later this week there will be another post from Cenk Dingiloglu that will go into much more detail on encoders.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Download my Wirecast document from<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Open Wirecast and open the document you just downloaded.\u00a0 You will most likely get an error like the one below telling you that Wirecast can\u2019t find media described in the document.\u00a0 Go ahead and click \u201cCancel\u201d, this is displayed because you don\u2019t have the same camera device that I was using when I set it up.\u00a0 We\u2019ll take care of that next.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">In the Wirecast UI we\u2019ll now add your camera source.\u00a0 Towards the bottom of the UI there are three rows of sources, hover your mouse of the \u201c+\u201d in the first row and then click the camera icon.\u00a0 After you do that you\u2019ll get a list of cameras currently connected to your PC, make the selection that makes sense to build your sample.\u00a0 When done you should now see a new source listed on that row and it should show a live feed from the camera.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Now click on the \u201cOutput\u201d menu in Wirecast and select \u201cOutput Settings..\u201d.\u00a0 Since you are using the document I created you should now see a dialog which looks like the following.\u00a0 It is setup to encode the stream into three quality levels of 400, 600, and 900Kbps.\u00a0 The 400Kbps quality level is encoded using H.264 Baseline profile to support older Android devices and the 600 and 900Kbps quality levels are encoded using Main profile which will provide a higher level of quality.\u00a0 The only thing that is missing is the destination \u201cAddress\u201d for where to push the streams which we\u2019ll fill in next.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Move back to the Azure management portal and find your channel in the channel listing.\u00a0 Hover your mouse over the \u201cINGEST URL\u201d column and click the copy icon to the right.\u00a0 This will copy the ingest URL for your channel to the clipboard.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Move back to Wirecast and the \u201cOutput Settings\u201d dialog then paste the ingest URL of your channel into the \u201cAddress\u201d textbox.\u00a0 You need to repeat this for all three quality levels that are being encoded.\u00a0 So in other words make sure you click on each \u201cRTMP Flash Server\u201d on the left of the dialog and set the address for each one.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Click the \u201cOk\u201d button on the \u201cOutput Settings\u201d dialog.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Click on the camera source you created back in step 3 which should move it into the \u201cPreview\u201d section of the UI.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Next click the \u201c\u2014&gt;\u201d button to move the \u201cPreview\u201d over to \u201cLive\u201d at which point you should see your camera source in both of the spots at the top of the UI.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">At this point Wirecast should be all configured so the only remaining step to start pushing your stream to your Azure Media Services Channel is to push the \u201cStream\u201d button in the top left corner of the Wirecast UI.\u00a0 If everything goes well a red dot will appear on the button letting you know that you\u2019re now on-air.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">You can now check that the stream is being received properly by viewing it from the preview publishing point on the Channel which gives you a direct view on what it is receiving.\u00a0 Move back the the Azure management portal and click on the \u201cPLAY\u201d command in the bottom command strip.\u00a0 A list of subcommands will then appear and click on \u201cPlay Preview URL\u201d which will open a video player within the portal and connect it to the preview URL on your Channel.<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">NOTE: If for any reason you stop the encoder and then need to restart it you should first reset the channel by clicking the \u201cRESET\u201d command in the Azure management portal.<\/p>\n<\/blockquote>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"starting-the-event-and-playing-the-stream\">Starting the Event and Playing the Stream<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Now that we have the stream flowing into your Channel we can begin our event by creating an Asset, Program, and Streaming Locator to archive the stream and make it available to viewers through the Streaming Endpoint.&nbsp; To do this we\u2019ll use a shortcut in the portal that does all of these in a single step.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"creating-and-starting-a-program\">Creating and Starting a Program<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Move back to the Azure management portal and back into the \u201cCHANNELS\u201d section if you\u2019re not there already.\u00a0 If you have multiple channels in your account make sure the channel you setup above is selected (highlighted in blue).\u00a0 In the command strip at the bottom of the page click on \u201cSTART STREAMING\u201d and then in the confirmation that appears click \u201cYES\u201d.\u00a0 Once the command has completed the \u201cPUBLISH URL\u201d column will be filled in with a URL you can use top pull your stream from your Streaming Endpoint.<br><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"playing-the-live-stream\">Playing the Live Stream<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now that the live stream is being pushed into an Asset it is available to be pulled out of the Streaming Endpoint and can be dynamically packaged into all of our currently supported protocols (MPEG-DASH, HLS version 3, HLS version 4, HDS, and Smooth Streaming).&nbsp; We\u2019ll take advantage of these capabilities by playing back the stream in a desktop browser using a Flash control with Smooth and on iOS and Android devices with HLS version 3.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">In the Azure management portal hover your mouse over the \u201cPUBLISH URL\u201d for your Channel and click on the copy icon which will copy the URL to your clipboard.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Paste the publish URL into your favorite text editor, it will look something like \u201chttps:\/\/.origin.mediaservices.windows.net\/\/.ism\/manifest\u201d, that is the Smooth Streaming URL.\u00a0 Paste it in again and then append \u201c(format=mpd-time-csf)\u201d this will tell the Streaming Endpoint to package the stream into MPEG-DASH.\u00a0 Paste it in one more time and this time append \u201c(format=m3u8-aapl-v3)\u201d which will tell the Streaming Endpoint to package the stream into HLS version 3.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">On a Windows PC or Mac (You will need a browser that supports Media Source Extensions, such as the latest version of Internet Explorer or Chrome) navigate to <a href=\"https:\/\/aka.ms\/dashplayer\">https:\/\/aka.ms\/dashplayer<\/a> this is a sample DASH.js video player that I built that you can use for testing your stream.\u00a0 Paste the DASH URL into the textbox at the top and then click \u201cLoad\u201d.\u00a0 You can repeat this on an Android device and Windows Phone.<br>NOTE: My sample DASH player also can take the DASH URL as a query parameter on the URL, in other words you can construct a URL like the following to distribute to each device.\u00a0 https:\/\/dashplayer.azurewebsites.net\/?URL=https:\/\/&lt;jason\u2019s_account&gt;.origin.mediaservices.windows.net\/..\/&#8230;ism\/manifest(format=mpd-time-csf)<\/li>\n\n\n\n<li class=\"wp-block-list-item\">On an iOS device open Safari and enter the HLS version 3 URL in the address bar.\u00a0 Entering it in the address bar is shortcut for getting the native player to play the stream, you could also create an HTML5 page with a video tag and give it the HLS URL as its source or build a native application as well.<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"stopping-the-event\">Stopping the Event<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">To end your event you need to stop the Program which will cause it to stop pushing the stream into your asset.&nbsp; This a simple one step operation.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Back in the Azure management portal select your channel then click on the \u201cSTOP STREAMING\u201d command in the bottom command strip and then \u201cYES\u201d on the confirmation that appears.\u00a0 This will stop the Program you have running on that channel and then will delete it.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">One of the great features of our live services is our seamless\/instant transition of assets from live to on-demand.&nbsp; If you now go back and play the stream on one of your video players you\u2019ll find that the stream is still available using the same URL but is now on-demand rather than live.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"cleaning-up\">Cleaning Up<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">You can leave everything running as it is if you want to run another event.&nbsp; To do that all you need to do is start a new program on the Channel as we did above.&nbsp; However if you are done you can now tear down some or all of the infrastructure you provisioned above.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">First off the encoder, push the \u201cStream\u201d button in Wirecast to stop pushing the stream and then you can close the application.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">The Channel can now be stopped as well.\u00a0 In the Azure management portal select the Channel again (if it isn\u2019t already) and then click the \u201cSTOP\u201d command in the bottom command strip.\u00a0 When done the Channel will be in a \u201cStopped\u201d state which means it is not consuming any resources so you can leave the Channel in this state indefinitely and it will not incur any charges.\u00a0 When you want to use it again you will click the \u201cSTART\u201d command and it will re-hydrate and have the same ingest URL so there won\u2019t be any need to reconfigure your encoder.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Lastly the Streaming Endpoint.\u00a0 If you want to continue to provide the archive of your live event as an on-demand stream you will need to leave your Streaming Endpoint running but if you are done streaming it as well you can move to the \u201cSTREAMING ENDPOINTS\u201d tab within the management portal, select your Streaming Endpoint which is probably called \u201cdefault\u201d and then click the \u201cSTOP\u201d command in the bottom command strip.<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"conclusion-and-what-s-next\">Conclusion and What\u2019s Next<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">In the blog post above we have gone through the steps needed for a code-less setup, execution, and tear down (if desired) of a live event using the Azure management portal.&nbsp; In the coming days we\u2019ll make more postings covering the list of RTMP encoders we have tested with and how to set them up, how to setup and run live events using our SDK, applying content security to live streams, and running linear streams.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Earlier today we announced the availability of our public preview of Azure Media Services live services. We will have several posts this week covering different aspects of our live streaming capabilities and how to use them. In this post, I\u2019ll give you some of the basics of live streaming and will then apply them to a specific scenario.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1482],"tags":[],"audience":[3054,3053],"content-type":[1511],"product":[1535],"tech-community":[],"topic":[],"coauthors":[1355],"class_list":["post-5863","post","type-post","status-publish","format-standard","hentry","category-management-and-governance","audience-business-decision-makers","audience-it-decision-makers","content-type-best-practices","product-microsoft-azure-portal","review-flag-1680286581-295","review-flag-1680286581-364","review-flag-1-1680286581-825","review-flag-2-1680286581-601","review-flag-3-1680286581-173","review-flag-4-1680286581-250","review-flag-alway-1680286580-106","review-flag-free-1680286579-836","review-flag-new-1680286579-546","review-flag-publi-1680286584-566"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Getting Started with Live Streaming Using the Azure Management Portal | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Earlier today we announced the availability of our public preview of Azure Media Services live services. We will have several posts this week covering different aspects of our live streaming capabilities and how to use them. In this post, I\u2019ll give you some of the basics of live streaming and will then apply them to a specific scenario.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting Started with Live Streaming Using the Azure Management Portal | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Earlier today we announced the availability of our public preview of Azure Media Services live services. We will have several posts this week covering different aspects of our live streaming capabilities and how to use them. In this post, I\u2019ll give you some of the basics of live streaming and will then apply them to a specific scenario.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-11T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-31T15:45:37+00:00\" \/>\n<meta name=\"author\" content=\"Jason Suess\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jason Suess\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/jason-suess\/\",\"@type\":\"Person\",\"@name\":\"Jason Suess\"}],\"headline\":\"Getting Started with Live Streaming Using the Azure Management Portal\",\"datePublished\":\"2014-09-11T00:00:00+00:00\",\"dateModified\":\"2024-07-31T15:45:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/\"},\"wordCount\":3465,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"articleSection\":[\"Management and governance\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/\",\"name\":\"Getting Started with Live Streaming Using the Azure Management Portal | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"datePublished\":\"2014-09-11T00:00:00+00:00\",\"dateModified\":\"2024-07-31T15:45:37+00:00\",\"description\":\"Earlier today we announced the availability of our public preview of Azure Media Services live services. We will have several posts this week covering different aspects of our live streaming capabilities and how to use them. In this post, I\u2019ll give you some of the basics of live streaming and will then apply them to a specific scenario.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Management and governance\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/management-and-governance\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Getting Started with Live Streaming Using the Azure Management Portal\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Getting Started with Live Streaming Using the Azure Management Portal | Microsoft Azure Blog","description":"Earlier today we announced the availability of our public preview of Azure Media Services live services. We will have several posts this week covering different aspects of our live streaming capabilities and how to use them. In this post, I\u2019ll give you some of the basics of live streaming and will then apply them to a specific scenario.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/","og_locale":"en_US","og_type":"article","og_title":"Getting Started with Live Streaming Using the Azure Management Portal | Microsoft Azure Blog","og_description":"Earlier today we announced the availability of our public preview of Azure Media Services live services. We will have several posts this week covering different aspects of our live streaming capabilities and how to use them. In this post, I\u2019ll give you some of the basics of live streaming and will then apply them to a specific scenario.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2014-09-11T00:00:00+00:00","article_modified_time":"2024-07-31T15:45:37+00:00","author":"Jason Suess","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Jason Suess","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/jason-suess\/","@type":"Person","@name":"Jason Suess"}],"headline":"Getting Started with Live Streaming Using the Azure Management Portal","datePublished":"2014-09-11T00:00:00+00:00","dateModified":"2024-07-31T15:45:37+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/"},"wordCount":3465,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"articleSection":["Management and governance"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/","name":"Getting Started with Live Streaming Using the Azure Management Portal | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"datePublished":"2014-09-11T00:00:00+00:00","dateModified":"2024-07-31T15:45:37+00:00","description":"Earlier today we announced the availability of our public preview of Azure Media Services live services. We will have several posts this week covering different aspects of our live streaming capabilities and how to use them. In this post, I\u2019ll give you some of the basics of live streaming and will then apply them to a specific scenario.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/getting-started-with-live-streaming-using-the-azure-management-portal\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"Management and governance","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/management-and-governance\/"},{"@type":"ListItem","position":3,"name":"Getting Started with Live Streaming Using the Azure Management Portal"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/5863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=5863"}],"version-history":[{"count":0,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/5863\/revisions"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=5863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=5863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=5863"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=5863"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=5863"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=5863"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=5863"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=5863"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=5863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}