<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bisrategebriel Fisseha</title>
    <description>The latest articles on DEV Community by Bisrategebriel Fisseha (@bisrategebriel).</description>
    <link>https://dev.to/bisrategebriel</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F510126%2F74e6b9d6-6e46-4826-989d-26246ab2f6c4.png</url>
      <title>DEV Community: Bisrategebriel Fisseha</title>
      <link>https://dev.to/bisrategebriel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bisrategebriel"/>
    <language>en</language>
    <item>
      <title>Getting Started with Azure Media Services</title>
      <dc:creator>Bisrategebriel Fisseha</dc:creator>
      <pubDate>Mon, 18 Mar 2024 13:47:28 +0000</pubDate>
      <link>https://dev.to/bisrategebriel/getting-started-with-azure-media-services-im4</link>
      <guid>https://dev.to/bisrategebriel/getting-started-with-azure-media-services-im4</guid>
      <description>&lt;h2&gt;
  
  
  Setting up Azure Media Services and AMP on your project
&lt;/h2&gt;

&lt;p&gt;Hi folks, in today's blog, we'll go over how to set up media services on the Azure portal. Azure media services power your streaming services, which include content streaming, encoding and transcoding, content protection, and digital rights management (DRM).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Azure Media Services (AMS) is a cloud-based platform offered by Microsoft Azure that allows you to create, manage, and distribute media content at large scale. Its primary goal is to make it easier to create, process, deliver, and monetize a variety of media content, such as video, audio, and streaming services.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Azure Media Services enable you to build media applications using low-latency live streaming, batch encoding, content-protection/DRM, and deliver streaming content to millions of viewers on any device.&lt;/p&gt;

&lt;p&gt;To setup Azure Media Services (AMS), there are basically six steps.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1. - Step 1: Create Azure Media Services (AMS)&lt;/li&gt;
&lt;li&gt;2. - Step 2: Manage (Upload) Assets&lt;/li&gt;
&lt;li&gt;3. - Step 3: Add Job&lt;/li&gt;
&lt;li&gt;4. - Step 4: Set/add content protection policy [optional if no DRM]&lt;/li&gt;
&lt;li&gt;5. - Step 5: Add streaming locator&lt;/li&gt;
&lt;li&gt;6. - Step 6: Use the generated streaming URLs to stream video&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1: Create Azure Media Services
&lt;/h2&gt;

&lt;p&gt;This is the first step in creating the necessary resource that is required to setup Azure Media Services (AMS) for our project. It's fine if you have an existing resource group or else go head and create a resource.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Create a Resource Group&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7rp38yp09myqjjkvece0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7rp38yp09myqjjkvece0.png" alt="Microsoft Azure Home Page" width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After creating a resource group, now is the time to create Azure Media Services. To do that, simply go over the azure portal and search media services on the search bar. And select media services from the results filtered.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Create Azure Media Services Resource&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbsr46ug5zaaxqseeihq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbsr46ug5zaaxqseeihq7.png" alt="Search result for Azure Media Services" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At this stage there is a lot to configure as we have to specify the media service account name, location and storage account to name a few. Below is shown the complete configuration setup.&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Specify resource group that you created earlier. [use existing if there is]&lt;/li&gt;
&lt;li&gt;Specify media service account name&lt;/li&gt;
&lt;li&gt;Choose location&lt;/li&gt;
&lt;li&gt;Create new storage account [most of the time it is v2 general purpose]&lt;/li&gt;
&lt;li&gt;Create new user assigned managed identity&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbnwzmj78zyvwxdrkn2od.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbnwzmj78zyvwxdrkn2od.png" alt="Create media service account" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6q9rfcd40j9olsd5cnz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6q9rfcd40j9olsd5cnz.png" alt="Create media service storage account" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we will click on the 'Review + create' button to create our media service account.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxs0jjcu9vjwsyubka7et.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxs0jjcu9vjwsyubka7et.png" alt="Review and Creating" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At this point, Azure will validate the required fields, and if we have filled out all of the fields correctly, we will be able to create our media service account instantly.&lt;/p&gt;

&lt;p&gt;Upon the successful deployment of our media service account, it is time to move on managing our assets on the media service account.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdacrp31ln3gm5aqyliiw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdacrp31ln3gm5aqyliiw.png" alt="Media Service account created successfully" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the 'Go to resource' as shown on the image above and head over to the media service page. As you can see, we don't have any asset to consume or process, thus let's upload the assets we are going to work with.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupow3snmtqn6p1v5bic1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupow3snmtqn6p1v5bic1.png" alt="Media Service Account Page" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Manage Assets
&lt;/h2&gt;

&lt;p&gt;This step focuses on managing assets by uploading files or using external links in order to prepare the assets (audio, video, etc.). In this tutorial we focus on managing video assets.&lt;br&gt;
To upload assets to our media service account, go to the left side bar and select 'Assets' link.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw3uqy5yc5hkbumvhffkv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw3uqy5yc5hkbumvhffkv.png" alt="Assets Page" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Assets Page is empty as it is our first time working with it so, go and click Upload to upload our video.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5qb9le254bdgyr3isuxk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5qb9le254bdgyr3isuxk.png" alt="Uploading new assets" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This stage is pretty straight forward. Select the file you want to upload and then click on 'I agree, upload and close'. It will take some time depending up on how large your file is.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fanfudls3f3mvlrkfyu90.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fanfudls3f3mvlrkfyu90.png" alt="Asset uploaded successfully" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now our video is uploaded to the blob storage of our media service storage account which we create earlier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Add Job
&lt;/h2&gt;

&lt;p&gt;Welcome to step 3 champ 🏆I guess you are following along, and everything is going well for you. This step is very crucial as it is the main part of configuring the media service processing that includes encoding.&lt;/p&gt;

&lt;p&gt;Select the checkbox of the asset you uploaded and click on 'Add Job'.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr252k33nhqvph8pelxqi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr252k33nhqvph8pelxqi.png" alt="Create a Transform" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To clarify things here, there are two key words in this step. Transform and Job. A "Job" refers to a task or process that is performed on media assets using the Azure Media Services platform. These jobs can encompass a variety of tasks such as encoding, transcoding, packaging, encrypting, analyzing, or transforming media files. Whereas "Transform" refers to a set of predefined configurations or presets that define how media content should be processed or transformed. This can include specifications for encoding settings, transcoding formats, bitrate, resolution, audio settings, and more.&lt;/p&gt;

&lt;p&gt;Transforms allow users to apply consistent processing settings across multiple media assets, simplifying the workflow and ensuring uniform output quality.&lt;/p&gt;

&lt;p&gt;When you create a job in Azure Media Services, you typically associate it with a transform, specifying which transform configuration to apply to the media assets being processed. This allows you to efficiently manage and automate the processing of your media content according to predefined settings.&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Create Transform&lt;/li&gt;
&lt;li&gt;Specify transform name&lt;/li&gt;
&lt;li&gt;Choose transform type&lt;/li&gt;
&lt;li&gt;Choose built-in preset name [choose adaptive streaming to get multi bitrate]&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjayf78j6d5nfgdvwdb33.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjayf78j6d5nfgdvwdb33.png" alt="Create a Job" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Configure Job&lt;/li&gt;
&lt;li&gt;Specify output name&lt;/li&gt;
&lt;li&gt;Choose asset storage account [ leave it as it is if there is only one storage account ]&lt;/li&gt;
&lt;li&gt;Specify job name&lt;/li&gt;
&lt;li&gt;Specify job priority [ mostly leave it on 'Normal' but it depends on your processing type ]&lt;/li&gt;
&lt;li&gt;Select create&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Step 4: Set/add Content Protection Policy
&lt;/h2&gt;

&lt;p&gt;Content Protection Policy is a set of rules and configurations that define how your media content is protected against unauthorized access and piracy. These policies are applied to your media assets to ensure that they are securely delivered to only authorized users or devices.&lt;/p&gt;

&lt;p&gt;To setup a content protection policy, click on 'Content key policies' on the left side bar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs4vv4h63oqh22buhjtow.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs4vv4h63oqh22buhjtow.png" alt="Content key policies page and add content key policy" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Specify content key policy name&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1ibkmqu6sfzuk2n0c3n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1ibkmqu6sfzuk2n0c3n.png" alt="create content key policy" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Add Digital rights management (DRM)&lt;/li&gt;
&lt;li&gt;Add Google Widevine, Apple FairPlay, or Microsoft PlayReady [you can include one or more DRM]&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;we will use Microsoft PlayReady DRM policy in our case.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fniu31aqwfc6rrvtmu5nk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fniu31aqwfc6rrvtmu5nk.png" alt="create DRM" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Add AES clear key to protect your content with AES-128 encryption [optional configuration]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Setting up the AES clear key encryption is the same approach as setting up DRM.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkvz9ny3q8ryo4pyvj775.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkvz9ny3q8ryo4pyvj775.png" alt="Add a PlayReady policy option" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Specify policy name [ optional ]&lt;/li&gt;
&lt;li&gt;Select Yes for use token restriction&lt;/li&gt;
&lt;li&gt;Select JWT or SWT for token type&lt;/li&gt;
&lt;li&gt;Specify issuer [ eg. myIssuer ]&lt;/li&gt;
&lt;li&gt;Specify audience [ eg. myAudience ]&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4chjggqmv5opr166bly.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh4chjggqmv5opr166bly.png" alt="setting up license settings" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffw1ikf1csl8xmx1nxdda.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffw1ikf1csl8xmx1nxdda.png" alt="setting up output protection" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Click Add and finish creating content key policy&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Step 5: Add Streaming Locator
&lt;/h2&gt;

&lt;p&gt;Now, it is time to add a streaming locator. A streaming locator is a resource that provides access to streaming endpoints for your media content. It essentially serves as a pointer or URL that clients can use to access the media content securely over the internet.&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Go to the uploaded media&lt;/li&gt;
&lt;li&gt;Add new streaming locator&lt;/li&gt;
&lt;li&gt;Specify name&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3z59zr1mqx5bdupbrk2d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3z59zr1mqx5bdupbrk2d.png" alt="Add Streaming Locator" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Choose Streaming policy [ there are different policies ]&lt;/li&gt;
&lt;li&gt;Choose Predefined_MultiDrmCencStreaming and MutltiDrmStreaming for encrypted videos&lt;/li&gt;
&lt;li&gt;Choose Predefined ClearStreamingOnly and DownloadAndClearStreaming for downloadable unencrypted videos&lt;/li&gt;
&lt;li&gt;Choose content key policy&lt;/li&gt;
&lt;li&gt;Choose add and finish streaming locator&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;One thing to notice here is that the default streaming endpoint is inactive by default at the time of creation. So, we need to manually start it to begin streaming. After the endpoint is turned on or started the billing process also starts counting up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu407tx8f11uafocxakgs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu407tx8f11uafocxakgs.png" alt="streaming endpoints page" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faq33gjq6bifsfnpvj3yj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faq33gjq6bifsfnpvj3yj.png" alt="starting the default streaming endpoint" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At this stage, processing the media i.e. encoding, encrypting etc. has been completed successfully. What remains would be getting the streaming URLs to stream our video. This would lead us to the last step on setting up Azure Media Services to stream our video.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Use the generated streaming URLs to stream video
&lt;/h2&gt;

&lt;p&gt;All is done now! we have our video processed for us to be consumed and streamed. This step guides you to get the streaming URLs of the video asset we have been working with till now. After getting the streaming URL, one can use the URL to stream the video on the Azure Media Player.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Go to the media output file&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9gm4uj1rwq7bbbvdkdqj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9gm4uj1rwq7bbbvdkdqj.png" alt="Processed video asset" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fya0pyroy1ncdpw94fxva.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fya0pyroy1ncdpw94fxva.png" alt="Video Outupt" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Click view locator Find the streaming and download URLs [You can also find the streaming URLs on the Playback section]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3wenzm1rzu16229xox2q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3wenzm1rzu16229xox2q.png" alt="Finding the Streaming URLs" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Copy it to use it on the web page you want your video streamed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xb66hky8f9la9xyqnne.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xb66hky8f9la9xyqnne.png" alt="Streaming URLs" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can play the video on the embedded Azure Media Player inside Azure.&lt;/p&gt;

&lt;p&gt;🎉Congrats!! 🎉you have made it to the end but not the very end 😁. On the next blog, I will show you how to add Azure Media Services Video to a Web Page/ Using AMS video on your project.&lt;br&gt;
Stay tuned and let me know what you think down in the comment section!! 😉&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://medium.com/r/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fmedia-services%2Flatest%2Fdrm-content-key-policy-concept" rel="noopener noreferrer"&gt;1. Content Key Policies in Media Services - Azure | Microsoft Learn&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/r/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fmedia-services%2Flatest%2Ftransform-jobs-concept" rel="noopener noreferrer"&gt;2. Transforms and Jobs in Media Services | Microsoft Learn&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/r/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fmedia-services%2Flatest%2Fstream-streaming-policy-concept" rel="noopener noreferrer"&gt;3. Streaming Policies in Azure Media Services | Microsoft Learn&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/r/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fmedia-services%2Flatest%2Fencode-concept" rel="noopener noreferrer"&gt;4. Encoding video and audio with Media Services | Microsoft Learn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Updated Notice: &lt;a href="https://medium.com/r/?url=https%3A%2F%2Fazure.microsoft.com%2Fen-us%2Fupdates%2Fretirement-notice-azure-media-services-is-being-retired-on-30-june-2024%2F" rel="noopener noreferrer"&gt;Azure Media Services is being retired on 30 June 2024&lt;/a&gt;&lt;/p&gt;

</description>
      <category>azure</category>
      <category>azuremediaservices</category>
      <category>cloudservices</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>HTTP Status Codes 101</title>
      <dc:creator>Bisrategebriel Fisseha</dc:creator>
      <pubDate>Sun, 24 Oct 2021 16:25:37 +0000</pubDate>
      <link>https://dev.to/bisrategebriel/http-status-codes-101-6jh</link>
      <guid>https://dev.to/bisrategebriel/http-status-codes-101-6jh</guid>
      <description>&lt;p&gt;The Hypertext Transfer Protocol is an application protocol for distributed, collaborative, hypermedia information systems that allows users to exchange data on the World Wide Web. It was developed by Tim Berners-Lee and is now coordinated by the W3C. HTTP, as a request-response protocol, allows users to interact with web resources like HTML files by sending hypertext messages between clients and servers. Then, HTTP clients typically communicate with servers using Transmission Control Protocol (TCP) connections.&lt;/p&gt;

&lt;p&gt;HTTP status codes are used on the internet to signify whether a given HTTP request has been successfully completed. When a web page or other resource fails to load properly, the codes assist in determining the source of the problem. The term HTTP status code is actually the common term for the HTTP status line that includes both the HTTP status code and the HTTP reason phrase. HTTP status codes are sometimes called browser error codes or internet error codes.&lt;/p&gt;

&lt;p&gt;According to the information message they represent and transmit, these response codes are classified into five categories. Namely,&lt;/p&gt;

&lt;h4&gt;
  
  
  1.Informational responses (100–199)
&lt;/h4&gt;

&lt;h4&gt;
  
  
  2.Successful responses (200–299)
&lt;/h4&gt;

&lt;h4&gt;
  
  
  3.Redirection messages (300–399)
&lt;/h4&gt;

&lt;h4&gt;
  
  
  4.Client error responses (400–499)
&lt;/h4&gt;

&lt;h4&gt;
  
  
  5.Server error responses (500–599)
&lt;/h4&gt;

&lt;p&gt;As for introduction let’s see the most commonly used response codes.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Informational Responses(100–199)
&lt;/h3&gt;

&lt;p&gt;Among the HTTP status codes accessible in the field of informational responses. The most common status codes are 100 and 101.&lt;/p&gt;

&lt;h4&gt;
  
  
  Continue(100)
&lt;/h4&gt;

&lt;p&gt;This interim response indicates that the client should continue the request or ignore it if the request has already been completed.&lt;/p&gt;

&lt;h4&gt;
  
  
  Switching Protocol(101)
&lt;/h4&gt;

&lt;p&gt;This code is supplied in response to a client upgrade request header and identifies the protocol to which the server is switching.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Successful Responses(200–299)
&lt;/h3&gt;

&lt;p&gt;200 is the status code that is being commonly referred to in this category.&lt;/p&gt;

&lt;h4&gt;
  
  
  OK(200)
&lt;/h4&gt;

&lt;p&gt;This is the ideal status code for a typical, daily, well-working page.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Redirection Messages(300–399)
&lt;/h3&gt;

&lt;p&gt;You were redirected to another page. The request was received, but there is some sort of redirection. For example, the page you have been looking for has changed its source and may have been altered, in which case these signals will be examined. The common status codes in this category include 301, 302 and 304.&lt;/p&gt;

&lt;h4&gt;
  
  
  Moved Permanently(301)
&lt;/h4&gt;

&lt;p&gt;A 301 redirect should be used if one URL has to be permanently redirected to another. In a 301 redirect, visitors and bots that land on that page will be passed to the new URL.&lt;/p&gt;

&lt;h4&gt;
  
  
  Found(302)
&lt;/h4&gt;

&lt;p&gt;Unlike a 301 response a 302 response code means that the URI of requested resource has been changed temporarily.&lt;/p&gt;

&lt;h4&gt;
  
  
  Not Modified(304)
&lt;/h4&gt;

&lt;p&gt;This is used for caching purposes. It tells the client that the response has not been modified, so the client can continue to use the same cached version of the response.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Client Error Responses
&lt;/h3&gt;

&lt;p&gt;These status codes features an error on the website’s side of the conversation and often appears when a web page could not be reached or doesn’t exist. 400, 401 and 404 are the common one’s in this category.&lt;/p&gt;

&lt;h4&gt;
  
  
  Bad Request(400)
&lt;/h4&gt;

&lt;p&gt;It appears that the server was unable to understand the request due to improper syntax detected on the client side.&lt;/p&gt;

&lt;h4&gt;
  
  
  Unauthorized(401)
&lt;/h4&gt;

&lt;p&gt;Semantically this response means “unauthenticated”. That is, the client must authenticate itself to get the requested response.&lt;/p&gt;

&lt;h4&gt;
  
  
  Not Found(404)
&lt;/h4&gt;

&lt;p&gt;This signifies that the server was unable to locate the file or page that the browser was requesting. 404s do not tell if the missing page or resource is gone forever or just for a short time. By entering a URL that does not exist, you can see what this looks like on your site. It’s like running into a brick wall. As you’ve probably noticed, when your visitors arrive at a page with a 404 error, they’ll either try again (if they’re lucky) or go to another site that provides the information they’re looking for.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Server Error Responses(500–599)
&lt;/h3&gt;

&lt;p&gt;The last response category in the HTTP status codes is the server error responses. These response codes indicate a server-side failure. That means, the client made a valid request, but the server failed to complete it. In this class, the most prevalent response codes are 500, 502, and 503.&lt;/p&gt;

&lt;h4&gt;
  
  
  Internal Server Error(500)
&lt;/h4&gt;

&lt;p&gt;A 500 is a common server error that will prevent visitors from accessing your website. Instead of a problem with missing or unfound pages, this status code indicates a server problem.&lt;/p&gt;

&lt;h4&gt;
  
  
  Bad Gateway(502)
&lt;/h4&gt;

&lt;p&gt;This error response indicates that the server received an invalid response while acting as a gateway to obtain the response required to handle the request. Simply, it means that the server has received an invalid response from another server.&lt;/p&gt;

&lt;h4&gt;
  
  
  Service Unavailable(503)
&lt;/h4&gt;

&lt;p&gt;A 503 response, which is a variant of the 500 series, indicates that the server is unavailable due to temporary overload or maintenance. This response code ensures that the search engines know to come back soon because the page or site is only going to be down for a short time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Last words
&lt;/h2&gt;

&lt;p&gt;Last but not least you can check the status code of any website you are browsing using the network section of the developer’s tool of your browser. And the major importance of HTTP status codes is for Search Engine Optimization (SEO.) It’s worth learning — and committing to memory as they provide direct information on the health of a website and help pinpoint possible problems with the requested content.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>beginners</category>
      <category>httpstatuscodes</category>
    </item>
  </channel>
</rss>
