My experience is in development and architecture of technology. This includes experience with cloud, cloud maintenance, and multi-cloud. I am certified in Azure Fundamentals. My company is a partner reseller of Microsoft Azure. In our organization, we have approximately 1000 people using this solution and we have plans to increase our usage in the future.
Owner with 51-200 employees
Bending the Windows Azure Media Services–H.264 Baseline profile
Disclaimer: What I will describe here is not officially supported by Microsoft and by Windows Azure Media Services. This means that if task fails you cannot open support ticket, nor you can complain. I discovered these hidden feature by digging deeply into the platform. Use the code and task preset at your own risk and responsibility. And note that what works now, may not work tomorrow.
Exploring the boundaries of Windows Azure Media Services (WAMS), and following questions on StackOverflow and respective MSDN Forums, it appears that WAMS has previously supported H.264 Baseline Profile and have had a task preset for Baseline Profile. But now it only has Main Profile and High Profile task presets. And because the official documentation says that Baseline Profile is supported output format, I don’t see anything wrong in exploring how to achieve that.
So what can we do, to encode a video into H.264 baseline profile if we really want? Well, use the following Task Preset at your own will (and risk :) ):
01 |
<? xml version = "1.0" encoding = "utf-16" ?>
|
02 |
<!--Created with Expression Encoder version 4.0.4276.0--> |
03 |
< Preset
|
04 |
Version = "4.0" >
|
05 |
< Job />
|
06 |
< MediaFile
|
07 |
WindowsMediaProfileLanguage = "en-US"
|
08 |
VideoResizeMode = "Letterbox" >
|
09 |
< OutputFormat >
|
10 |
< MP4OutputFormat
|
11 |
StreamCompatibility = "Standard" >
|
12 |
< VideoProfile >
|
13 |
< BaselineH264VideoProfile
|
14 |
RDOptimizationMode = "Speed"
|
15 |
HadamardTransform = "False"
|
16 |
SubBlockMotionSearchMode = "Speed"
|
17 |
MultiReferenceMotionSearchMode = "Speed"
|
18 |
ReferenceBFrames = "True"
|
19 |
AdaptiveBFrames = "True"
|
20 |
SceneChangeDetector = "True"
|
21 |
FastIntraDecisions = "False"
|
22 |
FastInterDecisions = "False"
|
23 |
SubPixelMode = "Quarter"
|
24 |
SliceCount = "0"
|
25 |
KeyFrameDistance = "00:00:05"
|
26 |
InLoopFilter = "True"
|
27 |
MEPartitionLevel = "EightByEight"
|
28 |
ReferenceFrames = "4"
|
29 |
SearchRange = "32"
|
30 |
AutoFit = "True"
|
31 |
Force16Pixels = "False"
|
32 |
FrameRate = "0"
|
33 |
SeparateFilesPerStream = "True"
|
34 |
SmoothStreaming = "False"
|
35 |
NumberOfEncoderThreads = "0" >
|
36 |
< Streams
|
37 |
AutoSize = "False"
|
38 |
FreezeSort = "False" >
|
39 |
< StreamInfo >
|
40 |
< Bitrate >
|
41 |
< ConstantBitrate
|
42 |
Bitrate = "4000"
|
43 |
IsTwoPass = "False"
|
44 |
BufferWindow = "00:00:04" />
|
45 |
</ Bitrate >
|
46 |
</ StreamInfo >
|
47 |
</ Streams >
|
48 |
</ BaselineH264VideoProfile >
|
49 |
</ VideoProfile >
|
50 |
< AudioProfile >
|
51 |
< AacAudioProfile
|
52 |
Level = "AacLC"
|
53 |
Codec = "AAC"
|
54 |
Channels = "2"
|
55 |
BitsPerSample = "16"
|
56 |
SamplesPerSecond = "44100" >
|
57 |
< Bitrate >
|
58 |
< ConstantBitrate
|
59 |
Bitrate = "160"
|
60 |
IsTwoPass = "False"
|
61 |
BufferWindow = "00:00:00" />
|
62 |
</ Bitrate >
|
63 |
</ AacAudioProfile >
|
64 |
</ AudioProfile >
|
65 |
</ MP4OutputFormat >
|
66 |
</ OutputFormat >
|
67 |
</ MediaFile >
|
68 |
</ Preset >
|
You can quickly check whether it works for you by using the RunTask command line, part of the MediaServicesCommandLineTools project. The H264_BaselineProfile.xml is provided for reference in the etc folder of the project. You can tweak and Audio and Video bitrates at your will by editing the XML.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Owner with 51-200 employees
Bending the Azure Media Services – clip or trim your media files
Disclaimer: What I will describe here is not officially supported by Microsoft and by Windows Azure Media Services. This means that if task fails you cannot open support ticket, nor you can complain. I discovered these hidden feature by digging deeply into the platform. Use the code and task preset at your own risk and responsibility. And note that what works now, may not work tomorrow.
So, we have Windows Azure Media Services, which can transcode (convert from one video/audio format to another), package and deliver content. How about more advanced operations, such as clipping or trimming. I want, let’s say to cut off first 10 seconds of my video. And the last 5 seconds. Can I do it with Windows Azure Media Services ? Yes I can, today (5 April 2013).
The easiest way to start with Media Services is by using the MediaServicesCommandLineTools project from GitHub. It has very neat program – RunTask. It expects two parameters: partial (last N characters) Asset Id and path to task preset. It will then display a list of available Media Processors to execute the task with. You chose the Media Processor and you are done!
So what task preset is for Clipping or Trimming? You will not find that type of task on the list of Task Presets for Azure Media Services. But you will find a couple of interesting task presets in the MediaServicesCommandLineTools project under the etc folder. Lets take look at the Clips.xml:
01
<?
xml
version
=
"1.0"
encoding
=
"utf-16"
?>
02 |
<!--Created with Expression Encoder version 4.0.4276.0--> |
03 |
< Preset
|
04 |
Version = "4.0" >
|
05 |
< Job />
|
06 |
< MediaFile >
|
07 |
< Sources >
|
08 |
< Source
|
09 |
AudioStreamIndex = "0" >
|
10 |
< Clips >
|
11 |
< Clip
|
12 |
StartTime = "00:00:04"
|
13 |
EndTime = "00:00:10" />
|
14 |
</ Clips >
|
15 |
</ Source >
|
16 |
</ Sources >
|
17 |
</ MediaFile >
|
18 |
</ Preset >
|
It is a very simple XML file with two attribute values that are interesting for us. Namely StartTime and EndTime. These attributes define points in time where to start clipping and there to end it. With the given settings (StartTime: 00:00:04, EndTime: 00:00:10) the result media asset will be a video clip with length of 6 seconds which starts at the 4th second of the original clip and ends at the 10th second of the original.
As can also see, I haven’t removed an important comment in the XML – "Created with Expression Encoder version 4.0.4276.0". Yes, I used Expression Encoder 4 Pro to create a custom job preset. You can try that too!
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Buyer's Guide
Microsoft Azure
December 2024
Learn what your peers think about Microsoft Azure. Get advice and tips from experienced pros sharing their opinions. Updated: December 2024.
824,067 professionals have used our research since 2012.
Owner with 51-200 employees
A journey with Windows Azure Media Services–Smooth Streaming, HLS
Back in January Scott Gu announced the official release of Windows Azure Media Services. It is amazing platform that was out in the wild (as a CTP, or Community Technology Preview) for less then an year. Before it was RTW, I created a small project to demo out its functionality. The source code is public on GitHub and the live site is public on Azure Web Sites. I actually linked my GitHub repo with the Website on Azure so that every time I push to the Master branch, I got a new deployment on the WebSite. Pretty neat!
At its current state Windows Azure Media Services does support the VOD (or Video On Demand) scenario only. Meaning that you can upload your content (also known as ingest), convert it into various formats, and deliver to audience on demand. What you cannot currently do is publish Live Streaming – i.e. from your Web Cam, or from your Studio.
This blog post will provide no direct code samples. Rather then code samples, my aim is to outline the valid workflows for achieving different goals. For code samples you can take a look at the official getting started guide, my code with web project, or the MediaServicesCommandLineTools project on GitHub, which I also contribute to.
With the current proposition from Azure Media Services you can encode your media assets into ISO-MP4 / H.264 (AVC) video with AAC-LC Audio, Smooth Streaming format to deliver greatest experience to your users, or even to Apple HTTP Live Streaming format (or just HLS). Everything from the comfort of your chair at home or in the office. Without the big overspend in expensive hardware. Getting the results however may be tricky sometime, and the platform does not help you with very detailed error messages (which I hope will change in the very near future).
You can achieve different tasks (goals) in different ways sometime. Windows Azure Media Services currently works with 4 Media Processors:
- Windows Azure Media Encryptor
- Windows Azure Media Encoder
- Windows Azure Media Packager
- Storage Decryption
When you want to complete some task you always provide a task preset and a media processor which will complete the given task. It is really important to pay attention to this detail, because giving a task preset to the wrong processor will end up in error and task failure.
So, how to get (create/encode to) a Smooth Streaming Content?
Given we have an MP4 video source - H.264 (AVC) Video Codec + AAC-LC Audio Codec. The best will be if we have multiple MP4 files representing same content but with different bitrates. Now we can use the Windows Azure Media Packager and the MP4 To Smooth Streams task preset.
If we don’t have MP4 source, but we have any other supported import format (unfortunately MOV is not a supported format), we can use Windows Azure Media Encoder to transcode our media into either an MP4 (H.264) single file, or directly into Smooth Streaming Source. Here is a full list of a short-named task presets that can be used with Windows Azure Media Encoder. To directly create a Smooth Streaming asset, we can use any of the VC1 Smooth Streaming XXX task presets, or any of the H264 Smooth Streaming XXX task presets. That will generate a Smooth Streaming asset encoded with either VC-1 Video profile, or H.264(AVC) Video Codec.
OK, how about Apple HTTP Live Streaming (or HLS)?
Well, Apple HLS is similar to Smooth Streaming. However, there is a small detail, it only supports H.264 Video codec! The most standard way of creating Apple HLS asset is by using Windows Azure Media Packager and the XML task preset for “Convert Smooth Streams to Apple HTTP Live Streams”. Please take a note on the media processor – it is the Windows Azure Media Packager. This also will accept an input asset to be valid Smooth Streaming Asset encoded with H.264 (AVC) video codec! Do not forget that you could have created Smooth Streams with VC-1 Video Profile codec, which are totally valid and running Smooth Streams, but they will fail to convert to Apple HTTP Live Streams.
Hm, can’t we get all-in-one?
I mean, can’t I have a single media asset and deliver either Apple HTTP Live Streams or Smooth Streams, depending on my client? Sure we can. However this is CPU intensive process. It is called “dynamic packaging”. The source must be a multi-bitrate MP4 asset. This one consists of multiple MP4 files of same content with different bitrates. And it requires an on-demand streaming reserved units from Media Services. You can read more about dynamic packaging here.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Owner with 51-200 employees
Windows Azure basics (part 1 of n)
We live in dynamic times. Buzzwords such as cloud computing, elastic scale, reliability and their synonyms are taking more and more space in our daily life. People (developers) want to move to the cloud. They are often confused by all the new terms. In this part 1 of [we-will-see-at-the-end-how-many] articles I will try to explain with non-geeky words the Windows Azure terms.
First of all, what is Cloud Computing before all? This is when Computing power (namely CPU, RAM, Storage, Networking) is delivered as a service via a network (usually internet), and not as a product (a server that we buy).
Cloud computing is a marketing term for technologies that provide computation, software, data access, and storage services that do not require end-user knowledge of the physical location and configuration of the system that delivers the services. A parallel to this concept can be drawn with the electricity grid, wherein end-users consume power without needing to understand the component devices or infrastructure required to provide the service.
So what is Windows Azure? Is it the new server operating system from Microsoft? Is it the new hosting solution? Is it the new workstation OS? Well, Windows Azure is the Microsoft’s Cloud Computing platform. It delivers various cloud services. Compute, Database, Storage, CDN, Caching, Access Control to name few.
Next part of the article will be focusing on Windows Azure Compute services.
Windows Azure Guest OS? When we talk about cloud computing, inevitably we talk about virtualization. Virtualization at very big degree. And when we talk about virtualization, we have a Host OS and Guest OS. When we talk about Windows Azure OS, we talk about Windows Azure Guest OS. This is the operating system that is installed on the Virtual Machines that run in the cloud. Windows Azure Guest OS has 2 families – OS Family 1 and OS Family 2. Windows Azure Guest OS Family 1 is based on Windows Server 2008 SP 1 x64, and Family 2 is based on Windows Server 2008 R2. All and any guest OS is 64 bits. You can get the full list of Windows Azure Guest OS here.
Windows Azure Cloud Service, or Hosted Service. The Hosted Service is the essence of your Cloud application:
A hosted service in Windows Azure consists of an application that is designed to run in the hosted service and XML configuration files that define how the hosted service should run
A hosted service can have one or more Roles.
Now it comes to the Roles. Our cloud application can be a Web Based application, or a background processing application, or some legacy application which is hard to migrate. Or mix of the three. In order to make things easy for developers, Microsoft has defined 3 distinguished types of “Roles” – Web Role, Worker Role and VM Role. You can read a bit more for the “Role”s here. But the main idea is that a Role defines an application living environment. The Role contains all the code that our application consists of. It defines the environment where our application will live – how many CPUs will be installed; the amount of RAM installed; volume of local storages; will it be a full IIS or a background worker; will it be Windows Azure Guest OS 1.x or 2.x; will it has open ports for communication with outer world (i.e. tcp port 80 for Web Role); will it has some internal TCP ports open for internal communication between roles; what certificates will the environment has; environment variables; etc.
The Role is like a template for our cloud application. When we configure our Cloud Service (or Azure Hosted Service), we set the number of instances involved for each Role.
Instance is a single Virtual Machine (VM), which has all the properties defined by the Role and has our application code deployed. When I mentioned that the Role defines the number of CPUs, RAM, local storage, I was referring the configuration for each VM where our code will be deployed. There are couple (5) of predefined VM configuration which we can use:
Virtual Machine Size | CPU Cores | Memory | Cost Per Hour |
---|---|---|---|
Extra Small | Shared | 768 MB | $0.04 |
Small | 1 | 1.75 GB | $0.12 |
Medium | 2 | 3.5 GB | $0.24 |
Large | 4 | 7 GB | $0.48 |
Extra Large | 8 | 14 GB | $0.96 |
More information on Virtual Machine sizes can be found here.
And here comes the beauty of the Cloud. We code once. We set the overall parameters once. And we deploy once! If it comes that we need more servers – we just set the number of instances for our role. We do it live. There is no downtime. Windows Azure automatically will launch as many VMs as we requested. Will configure them for our application and will deploy our code in each and every one of them and will finally join them to the cluster of our highly available and reliable cloud application. When we don’t need (let’s say) 10 servers anymore, then we can easily instruct Windows Azure that we only need 2 from now on and that’s it. The cloud will automatically shutdown 8 servers and remove them, so we won’t be paying any more extra money.
It is important to note, though, that the Role defines the size of the VM for all the Instances of it. We cannot have instances of same Role but different VM size. This is by design. If we defined our Role to use Extra Large VM, then all the instances we have will be running on that size of VM.
Key takeaways
I hope that this article helped you understand couple of basic terms about Windows Azure. You shall be able to confidently answer the following questions:
- What is Windows Azure ?
- What is Windows Azure Hosted Service (or just Hosted Service)?
- What is a Role?
- What is a Role Instance (or just Instance)?
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Customer Success Manager - Architect: Cloud and Data Platform at a tech services company with 10,001+ employees
Brings a lot of value to our business and our customers
Pros and Cons
- "The product brings a lot of value to our business and customers."
- "The microservices and analytics of Azure are good areas that could be improved."
What is our primary use case?
What is most valuable?
The product brings a lot of value to our business and customers.
What needs improvement?
The microservices and analytics of Azure are good areas that could be improved.
Microsoft Azure has technology compatible with OpenShift from backtrack, but I would like it if they could evaluate another vendor of technology of microservices like Rancher to integrate with.
For how long have I used the solution?
I have been using Microsoft Azure for two years.
What do I think about the stability of the solution?
Azure stability is good.
How are customer service and support?
Technical support is good. However, Microsoft provides support tools that you can refer to that usually resolve the issues before needing to contact support.
How was the initial setup?
The initial setup of Azure is complex. It took almost 6 months to deploy the solution.
What's my experience with pricing, setup cost, and licensing?
We pay a monthly licensing cost.
What other advice do I have?
I would rate Microsoft Azure a 10 out of 10.
Which deployment model are you using for this solution?
Public Cloud
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Director comercial at a comms service provider with 11-50 employees
We like its compatibility with other operating systems
Pros and Cons
- "One of the best features is the last package security of upgrades to Microsoft Azure. Also, we like Azure's compatibility with other operating systems."
- "We use Microsoft Server 2019 and 2016. And I didn't like the 2019 client, so we had to downgrade back to 2016. The main issue there was its monitoring system. Our client needed an alternative, and if they were using more Windows products, they also needed to make that downgrade."
What is our primary use case?
We've been using Microsoft Azure for federal government installations, and it has been really useful. Azure works well with the servers and equipment that we use. We've been deploying a hybrid environment, so this has been a great tool for our clients. For example, we've been upgrading systems for a secure health institution in Mexico City, so we deployed an Azure-based management system for the entire institution. However, things weren't so easy for some of our other clients. In one case, we used Azure to manage all the mortgages, connectivity, and databases for a huge mortgage provider. We managed all that information in Microsoft Azure.
What is most valuable?
One of the best features is the last package security of upgrades to Microsoft Azure. Also, we like Azure's compatibility with other operating systems.
What needs improvement?
We use Microsoft Server 2019 and 2016. And I didn't like the 2019 client, so we had to downgrade back to 2016. The main issue there was its monitoring system. Our client needed an alternative, and if they were using more Windows products, they also needed to make that downgrade.
For how long have I used the solution?
I started working with Microsoft Azure around 10 years ago.
What other advice do I have?
I would rate Microsoft Azure 10 out of 10. We like how accessible it is to the end-user, not just the engineers or developers.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Head of Business Security Advisory at a retailer with 10,001+ employees
Responsive and dedicated support, and the security is good
Pros and Cons
- "The support is responsive and dedicated to SMEs."
- "Overall, the solution is good but there are some minor technical issues that can be resolved."
What is our primary use case?
We use Microsoft Azure for many different things. It depends on the customer's requirements. For some, they use it for tasks, data lakes, and integration. Others use it for Business analytics.
There are a few easy ones that use it as the ESPs, a few workloads, creating a three-tier application database and web for specific internal clients, or it could be larger with several integration points.
What is most valuable?
I worked with one of the largest airlines in the region or perhaps even in the world, and Microsoft service was one of the most prestigious ones.
What needs improvement?
Overall, the solution is good but there are some minor technical issues that can be resolved.
For how long have I used the solution?
I have been using Microsoft Azure for quite some time. Including the previews, it has been five or six years.
How are customer service and technical support?
The support is responsive and dedicated to SMEs.
When there is a new case or, a requirement from the business, we rapidly check with the vendors in our region. We also sometimes work directly with Microsoft.
Which solution did I use previously and why did I switch?
Generally, I work in IT and have experience with some cloud-based solutions.
There are several products that I appreciate from a security standpoint.
What other advice do I have?
I work in security and tend to appreciate security products more.
I would rate Microsoft Azure a ten out of ten.
Which deployment model are you using for this solution?
Hybrid Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
IT Projects Manager at a hospitality company with 10,001+ employees
Stable, reasonably priced, and has the ability to scale
Pros and Cons
- "We have found the scalability to be good."
- "The deployment was quite complex."
What is our primary use case?
We primarily use the solution as a server for some applications.
What is most valuable?
As a software data center, we can put some pretty cool applications running there.
The stability is very good. It's reliable.
We have found the scalability to be good.
The pricing is reasonable. It's not too expensive.
What needs improvement?
They develop so fast, it's hard to trace the technology. They have a lot of folders, for example, and it's hard to keep up with changes.
The deployment was quite complex. It's not easy to implement.
For how long have I used the solution?
I've been using the solution for about a year or so. It hasn't been that long so far.
What do I think about the stability of the solution?
The stability of the product is very good. It doesn't have bugs or glitches and it doesn't crash or freeze. It's been very reliable for the most part.
What do I think about the scalability of the solution?
The solution scales well. If a company needs to scale it out, it can do so. It's not a problem at all.
How are customer service and technical support?
We haven't really used support so far. I can't speak to how helpful or responsive they are.
How was the initial setup?
The initial setup isn't exactly straightforward. The deployment is a complex process.
What's my experience with pricing, setup cost, and licensing?
We're happy with the licensing pricing in general. It's not overly expensive.
What other advice do I have?
We have a business relationship with Microsoft.
I'd recommend the solution to other users and companies. We've been largely happy with its capabilities in general.
I'd rate the solution at an eight out of ten.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Microsoft Azure
Disclosure: My company has a business relationship with this vendor other than being a customer: Partner
Buyer's Guide
Download our free Microsoft Azure Report and get advice and tips from experienced pros
sharing their opinions.
Updated: December 2024
Popular Comparisons
Amazon AWS
Oracle Cloud Infrastructure (OCI)
Akamai Connected Cloud (Linode)
Google Cloud
Google Firebase
Alibaba Cloud
SAP S4HANA on AWS
VMware Cloud Foundation
Nutanix Cloud Clusters (NC2)
DigitalOcean
SAP HANA Enterprise Cloud
Equinix Metal
Google Compute Engine
NTT Cloud
Skytap Cloud
Buyer's Guide
Download our free Microsoft Azure Report and get advice and tips from experienced pros
sharing their opinions.
Quick Links
Learn More: Questions:
- Gartner's Magic Quadrant for IaaS maintains Amazon Web Service at the top of the Leaders quadrant. Do you agree?
- PaaS solutions: Areas for improvement?
- Rackspace, Dimension Data, and others that were in last year's Challenger quadrant became Niche Players: Agree/ Disagree
- What Is The Biggest Difference Between Microsoft Azure and Oracle Cloud Platform?
- Which backup and recovery solution can backup Azure machines to its own (dedicated) cloud?
- Which is better - SAP Cloud Platform or Microsoft Azure?
- Which solution do you prefer: Alibaba Cloud or Microsoft Azure?
- How does Microsoft MDS (vs Informatica MDM) fit with Azure architecture?
- SAP HANA Enterprise Cloud (HEC): how to migrate to Microsoft Azure?
- Does F5 Advanced WAF work with Azure App Service?