Eksportér (0) Udskriv
Udvid alt
Dette indhold er ikke tilgængeligt på dit sprog, men her er den engelske version.

Media Services Release Notes

Updated: August 18, 2014

These release notes summarize known issues in the current release and changes from previous releases.

We want to hear from our customers and focus on fixing problems that affect you. To report a problem or ask questions, please post in the Azure Media Services MSDN Forum.

The release notes for the current release are divided into the following sections.


Issue Description

Several common HTTP headers are not provided in the REST API.

If you develop Media Services applications using the REST API, you find that some common HTTP header fields (including CLIENT-REQUEST-ID, REQUEST-ID, and RETURN-CLIENT-REQUEST-ID) are not supported. The headers will be added in a future update.

Encoding an asset with a file name that contains escape characters (for example, %20) fails with “MediaProcessor : File not found.”

Names of files that are going to be added to an asset and then encoded should only contain alphanumeric characters and spaces. The issue will be fixed in a future update.

The ListBlobs method that is part of the Azure Storage SDK version 3.x fails.

Media Services generates SAS URLs based on the 2012-02-12 version. If you want to use Azure Storage SDK to list blobs in a blob container, use the CloudBlobContainer.ListBlobs method that is part of Azure Storage SDK version 2.x. The ListBlobs method that is part of the Azure Storage SDK version 3.x will fail.

Media Services throttling mechanism restricts the resource usage for applications that make excessive request to the service. The service may return the Service Unavailable (503) HTTP status code.

For more information, see the description of the 503 HTTP status code in the Azure Media Services Error Codes topic.


Issue Description

Media Services objects in the SDK cannot be serialized and as a result do not work with Azure Caching.

If you try to serialize the SDK AssetCollection object to add it to Azure Caching, an exception is thrown.

For information about the Media Services REST API version history, see Azure Media Services REST API Reference.

Announcement of General Availability (GA) of content protection with dynamic encryption. For more information, see Azure Media Services enhances streaming security with General Availability of DRM technology.

Azure Media Services .NET SDK is now version

This release marked the default Microsoft.WindowsAzure.MediaServices.Client.ContentKeyAuthorization.TokenRestrictionTemplate constructor as obsolete. The new constructor takes TokenType as an argument.

TokenRestrictionTemplate template = new TokenRestrictionTemplate(TokenType.SWT);

Some updates and new features were added to the Azure Indexer Media processor. For more information, see Azure Media Indexer Version Release Notes.

Added a new REST API that enables you to update encoding reserved units: EncodingReservedUnitType.

Added CORS support for key delivery service.

Performance improvements of querying authorization policy options were done.

In China data center, the Key Delivery URL is now per customer (just like in other data centers).

Added HLS auto target duration. When doing live streaming, HLS is always packaged dynamically. By default, Media Services automatically calculates HLS segment packaging ratio (FragmentsPerSegment) based on the keyframe interval (KeyFrameInterval ), also referred to as Group of Pictures – GOP, that is received from the Live encoder. For more information, see Working with Azure Media Services Live Streaming.

Azure Media Services .NET SDK is now version

Upgraded the .Net SDK dependency to .NET 4.5 Framework.

Added JWT (JSON Web Token) support for token authentication.

Added a new API that enables you to update encoding reserved units: Microsoft.WindowsAzure.MediaServices.Client.IEncodingReservedUnit.

Added relative offsets for BeginDate and ExpirationDate in the PlayReady license template.

Media Services now enables you to ingest a live Smooth Streaming (FMP4) content over an SSL connection. To ingest over SSL, make sure to update the ingest URL to HTTPS.  For more information about live streaming, see Working with Azure Media Services Live Streaming.

Note that currently, you cannot ingest an RTMP live stream over an SSL connection.

You can also stream your content over an SSL connection. To do this, make sure your streaming URLs start with HTTPS.

Note that you can only stream over SSL if the streaming endpoint from which you deliver your content was created after September 10th, 2014. If your streaming URLs are based on the streaming endpoints created after September 10th, the URL contains “streaming.mediaservices.windows.net” (the new format). Streaming URLs that contain “origin.mediaservices.windows.net” (the old format) do not support SSL. If your URL is in the old format and you want to be able to stream over SSL, create a new streaming endpoint. Use URLs created based on the new streaming endpoint to stream your content over SSL.

Announcing the new release of Media Services Azure Media Encoder. With Azure Media Encoder you are only charged for output GBs, but otherwise the new encoder is feature compatible with Windows Azure Media Encoder. For more information, see Media Services Pricing Details.

Media Services SDK Extensions for .NET is now version

A new constant AzureMediaEncoder with the value "Azure Media Encoder" was added. You should now use AzureMediaEncoder instead of WindowsAzureMediaEncoder. For more information, see General Media Services Updates.

Media Services SDK for .NET is now version

Release contains minor fixes in following areas:

  • Refactoring in retry policy classes.

  • Adding user agent string to http request headers.

  • Adding nuget restore build step.

  • Fixing scenario tests to use x509 cert from repository.

  • Validating settings when updating channel and streaming end.

Media Services REST metadata is now version 2.7. For more information about the latest REST updates, see Azure Media Services REST API Reference.

Media Services SDK for .NET is now version

  • Origin was renamed to StreamingEndpoint.

  • A change in the default behavior when using the Azure Management Portal to encode and then publish MP4 files.

    Previously, when using the Management Portal to publish a single-file MP4 video asset a SAS URL would be created (SAS URLs allow you to download the video from a blob storage). Currently, when you use the Management Portal to encode and then publish a single-file MP4 video asset, the generated URL points to an Azure Media Services streaming endpoint.  This change does not affect MP4 videos that are directly uploaded to Media Services and published without being encoded by Azure Media Services.

    You can use the Media Services SDK for .NET to create a SAS locator. For more information, see Delivering Assets with the Media Services SDK for .NET. Also, see A Change in the Default URL Type When Publishing a MP4 in Azure Media Services.

  • The Azure Indexer Media processor went live. For more information see Indexing Media Files with Azure Media Indexer and Introducing: Azure Media Indexer.

  • The StreamingEndpoint entity now enables you to add custom domain (host) names.

    For a custom domain name to be used as the Media Services streaming endpoint name, you need to add custom host names to your streaming endpoint. Use the Media Services REST APIs or .NET SDK to add custom host names.

    The following considerations apply:

    • You must have the ownership of the custom domain name.

    • The ownership of the domain name must be validated by Azure Media Services. To validate the domain, create a CName that maps <MediaServicesAccountId>.<parent domain> to verifydns.<mediaservices-dns-zone>

    • You must create another CName  that maps the custom host name (for example,  sports.contoso.com) to your Media Services StreamingEndpont’s host name (for example,  amstest.streaming.mediaservices.windows.net).

    For more information, see the CustomHostNames property in the StreamingEndpoint topic.

When you encode an asset, an output asset is produced upon completion of the encoding job. Until this release, Azure Media Services Encoder produced metadata about output assets. Starting with this release the encoder also produces metadata about input assets. For more information, see the Input Metadata and Output Metadata topics.

The following bug fixes were made for the Azure Media Services Packager and Encryptor:

  • Only audio plays back when transmuxing a live archive asset to HTTP Live Streaming – this has been fixed and now both audio and video are played.

  • When packaging an asset to HTTP Live Streaming and AES 128-bit envelope encryption, the packaged streams do not play back on Android devices – this bug has been fixed and the packaged stream plays back on Android devices that support HTTP Live Streaming.

You can now use Dynamic Packaging to stream HTTP Live Streaming (HLS) v3. To stream HLS v3, add the following format to the origin locator path: *.ism/manifest(format=m3u8-aapl-v3). For more information, see Nick Drouin's Blog.

Dynamic Packaging now also supports delivering HLS (v3 and v4) encrypted with PlayReady based on Smooth Streaming statically encrypted with PlayReady. For information on how to encrypt Smooth Streaming with PlayReady, see Protecting Smooth Stream with PlayReady.

The following improvements are included in the Media Services .NET SDK release:

  • Better speed and resilience for uploading/downloading media assets.

  • Improvements in retry logic and transient exception handling:

    • Transient error detection and retry logic were improved for exceptions that are caused by querying, saving changes, uploading or downloading files. 

    • When getting Web Exceptions (for example, during an ACS token request), you will notice that fatal errors are failing faster now.

    For more information, see Retry Logic in the Media Services SDK for .NET.

  1. Added support for ingesting AVI files authored using the Grass Valley EDIUS nonlinear editor, where the video is lightly compressed using Grass Valley HQ/HQX codec. For more information, see Grass Valley Announces EDIUS 7 Streaming Through the Cloud.

  2. Added support for specifying the naming convention for the files produced by the Media Encoder. For more information, see Controlling Media Service Encoder Output Filenames.

  3. Added support for video and/or audio overlays. For more information, see Creating Overlays.

  4. Added support for stitching together multiple video segments. For more information, see Stitching Video Segments.

  5. Fixed a bug related to transcoding of MP4s where the audio has been encoded with MPEG-1 Audio layer 3 (aka MP3).

The changes in and include:

  • Fixed issues related to usage of LINQ queries with OrderBy statements.

  • Split test solutions in Github into Unit-based tests and Scenario-based tests.

For more details about the changes, see: Azure Media Services .NET SDK and releases.

The following changes were made in

  • Upgraded Azure storage dependencies to use version

  • Fixed backward compatibility issue for 3.0.*.* releases.

3.0.*.* releases are not backward compatible with 2.4.*.* releases.

The latest version of the Media Services SDK is now You can download the latest package from Nuget or get the bits from Github.

Starting with the Media Services SDK version, you can reuse the Azure Active Directory Access Control Service (ACS) tokens. For more information, see the “Reusing Access Control Service Tokens” section in the Connecting to Media Services with the Media Services SDK for .NET topic.

The Azure Media Services .NET SDK Extensions is a set of extension methods and helper functions that will simplify your code and make it easier to develop with Azure Media Services. You can get the latest bits from Azure Media Services .NET SDK Extensions.

Starting with this version, the Media Services SDK for .NET handles transient fault errors that may occur when making calls to the Media Services REST API layer.

The following Media Services PowerShell cmdlets are now included in azure-sdk-tools.

  • Get-AzureMediaServices

    For example, Get-AzureMediaServicesAccount.

  • New-AzureMediaServicesAccount

    For example, New-AzureMediaServicesAccount -Name “MediaAccountName” -Location “Region” -StorageAccountName “StorageAccountName”.

  • New-AzureMediaServicesKey

    For example, New-AzureMediaServicesKey -Name “MediaAccountName” -KeyType Secondary -Force.

  • Remove-AzureMediaServicesAccount

    For example, Remove-AzureMediaServicesAccount -Name “MediaAccountName” -Force.

The changes mentioned in this section are updates included in the June 2013 Media Services releases.

The following changes are included in June 2013 Media Services SDK releases. The latest Media Services SDK is available on GitHub.

The changes mentioned in this section are updates included in the December 2012 (version SDK. These changes are mainly fixes for issues found in the November 2012 SDK.

  • IAsset.Locators.Count : This count is now correctly reported on new IAsset interfaces after all locators have been deleted.

  • IAssetFile.ContentFileSize : This value is now properly set after an upload by IAssetFile.Upload(filepath).

  • IAssetFile.ContentFileSize : This property can now be set when creating an asset file. It was previously read-only.

  • IAssetFile.Upload(filepath) : Fixed an issue where this synchronous upload method was throwing the following error when uploading multiple files to the asset. The error was "Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature."

  • IAssetFile.UploadAsync : Fixed an issue where no more than 5 files could be uploaded simultaneously.

  • IAssetFile.UploadProgressChanged : This event is now provided by the SDK.

  • IAssetFile.DownloadAsync(string, BlobTransferClient, ILocator, CancellationToken): This method overload is now provided.

  • IAssetFile.DownloadAsync : Fixed an issue where no more than 5 files could be downloaded simultaneously.

  • IAssetFile.Delete() : Fixed an issue where calling delete may throw an exception if no file was uploaded for the IAssetFile.

  • Jobs : Fixed an issue where chaining a "MP4 to Smooth Streams task" with a "PlayReady Protection Task" using a job template would not create any tasks at all.

  • EncryptionUtils.GetCertificateFromStore() : This method no longer throws a null reference exception due to a failures finding the certificate based on certificate configuration issues.

  • Intellisense : Added missing Intellisense documentation for many types.

  • Microsoft.Practices.TransientFaultHandling.Core : Fixed an issue where the SDK still had a dependency to an old version of this assembly. The SDK now references version 5.1.1209.1 of this assembly.

The changes mentioned in this section were updates included in the November 2012 (version SDK. These changes may require any code written for the June 2012 preview SDK release to be modified or rewritten.

IAsset.Create(assetName) is the ONLY asset creation function. IAsset.Create no longer uploads files as part of the method call. Use IAssetFile for uploading.

The IAsset.Publish method and the AssetState.Publish enumeration value have been removed from the Services SDK. Any code that relies on this value must be re-written.

This class has been removed and replaced by IAssetFile.

IAssetFile replaces FileInfo and has a different behavior. To use it, instantiate the IAssetFiles object, followed by a file upload either using the Media Services SDK or the Azure Storage SDK. The following IAssetFile.Upload overloads can be used:

  • IAssetFile.Upload(filePath): A synchronous method that blocks the thread and is recommended only when uploading a single file.

  • IAssetFile.UploadAsync(filePath, blobTransferClient, locator, cancellationToken): An asynchronous method. This is the preferred upload mechanism.

    Known bug: using the cancellationToken will indeed cancel the upload; however, the cancellation state of the tasks can be any of a number of states. You must properly catch and handle exceptions.

The Origin-specific versions have been removed. The SAS-specific context.Locators.CreateSasLocator(asset, accessPolicy) will be marked deprecated, or removed by GA. See the Locators section under New Functionality for updated behavior.

The following functionality was new in the November release of the SDK.

IAsset, IAssetFile, ILocator, IAccessPolicy, IContentKey objects are now deleted at the object level, i.e. IObject.Delete(), instead of requiring a delete in the Collection, that is cloudMediaContext.ObjCollection.Delete(objInstance).

Locators must now be created using the CreateLocator method and use the LocatorType.SAS or LocatorType.OnDemandOrigin enum values as an argument for the specific type of locator you want to create.

New properties were added to Locators to make it easier to obtain usable URIs for your content. This redesign of Locators was meant to provide more flexibility for future third-party extensibility and increase ease-of-use for media client applications.

Asynchronous support has been added to all methods.

See Also


Quotas and Limitations

Other Resources

Azure Support

© 2015 Microsoft