Skip to content

Commit 58abc4d

Browse files
Merge pull request #77656 from Juliako/patch-73
Update filters-dynamic-manifest-overview.md
2 parents 1a3aed9 + 1b8db43 commit 58abc4d

File tree

5 files changed

+46
-34
lines changed

5 files changed

+46
-34
lines changed

articles/media-services/latest/dynamic-packaging-overview.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.workload: media
1212
ms.tgt_pltfrm: na
1313
ms.devlang: na
1414
ms.topic: article
15-
ms.date: 04/27/2019
15+
ms.date: 05/22/2019
1616
ms.author: juliako
1717

1818
---
@@ -28,6 +28,9 @@ As a result, you only need to store and pay for the files in single storage form
2828

2929
In Media Services, Dynamic Packaging is used whether you are streaming live or on-demand.
3030

31+
> [!NOTE]
32+
> Currently, you cannot use the Azure portal to manage v3 resources. Use the [REST API](https://aka.ms/ams-v3-rest-ref), [CLI](https://aka.ms/ams-v3-cli-ref), or one of the supported [SDKs](media-services-apis-overview.md#sdks).
33+
3134
## Common on-demand workflow
3235

3336
The following is a common Media Services streaming workflow where Dynamic Packaging is used.
@@ -189,10 +192,7 @@ Here is an example of a Smooth Streaming manifest:
189192

190193
## Dynamic Manifest
191194

192-
Dynamic filtering is used to control the number of tracks, formats, bitrates, and presentation time windows that are sent out to the players. For more information, see [filters and dynamic manifests](filters-dynamic-manifest-overview.md).
193-
194-
> [!NOTE]
195-
> Currently, you cannot use the Azure portal to manage v3 resources. Use the [REST API](https://aka.ms/ams-v3-rest-ref), [CLI](https://aka.ms/ams-v3-cli-ref), or one of the supported [SDKs](media-services-apis-overview.md#sdks).
195+
Dynamic filtering is used to control the number of tracks, formats, bitrates, and presentation time windows that are sent out to the players. For more information, see [Pre-filtering manifests with Dynamic Packager](filters-dynamic-manifest-overview.md).
196196

197197
## Ask questions, give feedback, get updates
198198

articles/media-services/latest/filters-concept.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ ms.workload: media
1212
ms.tgt_pltfrm: na
1313
ms.devlang: ne
1414
ms.topic: article
15-
ms.date: 05/07/2019
15+
ms.date: 05/23/2019
1616
ms.author: juliako
1717

1818
---
1919
# Filters
2020

21-
When delivering your content to customers (Live Streaming events or Video on Demand) your client might need more flexibility than what's described in the default asset's manifest file. Azure Media Services enables you to define account filters and asset filters for your content.
21+
When delivering your content to customers (Live Streaming events or Video on Demand) your client might need more flexibility than what's described in the default asset's manifest file. Azure Media Services offers [Dynamic Manifests](filters-dynamic-manifest-overview.md) based on pre-defined filters.
2222

2323
Filters are server-side rules that allow your customers to do things like:
2424

@@ -28,24 +28,16 @@ Filters are server-side rules that allow your customers to do things like:
2828
- Deliver only the specified renditions and/or specified language tracks that are supported by the device that is used to play back the content ("rendition filtering").
2929
- Adjust Presentation Window (DVR) in order to provide a limited length of the DVR window in the player ("adjusting presentation window").
3030

31-
Media Services offers [Dynamic Manifests](filters-dynamic-manifest-overview.md) based on pre-defined filters. Once you define filters, your clients could use them in the streaming URL. Filters could be applied to adaptive bitrate streaming protocols: Apple HTTP Live Streaming (HLS), MPEG-DASH, and Smooth Streaming.
31+
Media Services enables you to create **Account filters** and **Asset filters** for your content. In addition, you can associate your pre-created filters with a **Streaming Locator**.
3232

33-
The following table shows some examples of URLs with filters:
34-
35-
|Protocol|Example|
36-
|---|---|
37-
|HLS|`https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=m3u8-aapl,filter=myAccountFilter)`<br/>For HLS v3, use: `format=m3u8-aapl-v3`.|
38-
|MPEG DASH|`https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=mpd-time-csf,filter=myAssetFilter)`|
39-
|Smooth Streaming|`https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter)`|
40-
41-
## Define filters
33+
## Defining filters
4234

4335
There are two types of filters:
4436

4537
* [Account Filters](https://docs.microsoft.com/rest/api/media/accountfilters) (global) - can be applied to any asset in the Azure Media Services account, have a lifetime of the account.
4638
* [Asset Filters](https://docs.microsoft.com/rest/api/media/assetfilters) (local) - can only be applied to an asset with which the filter was associated upon creation, have a lifetime of the asset.
4739

48-
[Account Filter](https://docs.microsoft.com/rest/api/media/accountfilters) and [Asset Filter](https://docs.microsoft.com/rest/api/media/assetfilters) types have exactly the same properties for defining/describing the filter. Except when creating the **Asset Filter**, you need to specify the asset name with which you want to associate the filter.
40+
**Account Filters** and **Asset Filters** types have exactly the same properties for defining/describing the filter. Except when creating the **Asset Filter**, you need to specify the asset name with which you want to associate the filter.
4941

5042
Depending on your scenario, you decide what type of a filter is more suitable (Asset Filter or Account Filter). Account Filters are suitable for device profiles (rendition filtering) where Asset Filters could be used to trim a specific asset.
5143

@@ -141,15 +133,22 @@ The following example defines a Live Streaming filter:
141133
}
142134
```
143135

144-
## Associate filters with Streaming Locator
136+
## Associating filters with Streaming Locator
145137

146-
You can specify a list of [asset or account filters](filters-concept.md), which would apply to your [Streaming Locator](https://docs.microsoft.com/rest/api/media/streaminglocators/create#request-body). The [Dynamic Packager](dynamic-packaging-overview.md) applies this list of filters together with those your client specifies in the URL. This combination generates a [Dynamic Manifest](filters-dynamic-manifest-overview.md), which is based on filters in the URL + filters you specify on Streaming Locator. We recommend that you use this feature if you want to apply filters but do not want to expose the filter names in the URL.
138+
You can specify a list of [asset or account filters](filters-concept.md) on your [Streaming Locator](https://docs.microsoft.com/rest/api/media/streaminglocators/create#request-body). The [Dynamic Packager](dynamic-packaging-overview.md) applies this list of filters together with those your client specifies in the URL. This combination generates a [Dynamic Manifest](filters-dynamic-manifest-overview.md), which is based on filters in the URL + filters you specify on the Streaming Locator.
147139

148140
See the following examples:
149141

150142
* [Associate filters with Streaming Locator - .NET](filters-dynamic-manifest-dotnet-howto.md#associate-filters-with-streaming-locator)
151143
* [Associate filters with Streaming Locator - CLI](filters-dynamic-manifest-cli-howto.md#associate-filters-with-streaming-locator)
152144

145+
## Updating filters
146+
147+
**Streaming Locators** are not updatable while filters can be updated.
148+
149+
> [!NOTE]
150+
> It is not recommended updating filters associated with a **Streaming Locator** after the **Streaming Locator**'s creation.
151+
153152
## Next steps
154153

155154
The following articles show how to create filters programmatically.

articles/media-services/latest/filters-dynamic-manifest-overview.md

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,28 @@ ms.workload: media
1212
ms.tgt_pltfrm: na
1313
ms.devlang: ne
1414
ms.topic: article
15-
ms.date: 03/20/2019
15+
ms.date: 05/22/2019
1616
ms.author: juliako
1717

1818
---
19-
# Dynamic manifests
2019

21-
Media Services offers **Dynamic Manifests** based on pre-defined filters. Once you define filters (see [define filters](filters-concept.md)), your clients could use them to stream a specific rendition or sub-clips of your video. They would specify filter(s) in the streaming URL. Filters could be applied to adaptive bitrate streaming protocols: Apple HTTP Live Streaming (HLS), MPEG-DASH, and Smooth Streaming.
20+
# Pre-filtering manifests with Dynamic Packager
2221

23-
The following table shows some examples of URLs with filters:
22+
When delivering adaptive bitrate streaming content to devices, you often need to publish multiple versions of a manifest to target specific device capabilities or available network bandwidth. The [Dynamic Packager](dynamic-packaging-overview.md) allows you to specify filters which can filter out specific codecs, resolutions, bitrates, and audio track combinations on-the-fly removing the need to create multiple copies. You simply need to publish a new URL with a specific set of filters configured to your target devices (iOS, Android, SmartTV, or browsers) and the network capabilities (high-bandwidth, mobile, or low-bandwidth scenarios). In this case, clients can manipulate the streaming of your content through the query string (by specifying available [Asset filters or Account filters](filters-concept.md)) and use filters to stream specific sections of a stream.
23+
24+
Some delivery scenarios require that you make sure a customer is unable to access specific tracks. For example, you may not want to publish a manifest that contains HD tracks to a specific subscriber tier. Or, you may want to remove specific adaptive bitrate (ABR) tracks to reduce cost of delivery to a specific device that would not benefit from the additional tracks. In this case you could associate a list of pre-created filters with your [Streaming Locator](streaming-locators-concept.md) on creation. In this case, clients cannot manipulate how the content is streamed, it is defined by the **Streaming Locator**.
25+
26+
You can combine filtering through specifying [filters on Streaming Locator](filters-concept.md#associating-filters-with-streaming-locator) + additional device specific filters that your client specifies in the URL. This can be useful to restrict additional tracks like metadata or event streams, audio languages or descriptive audio tracks.
27+
28+
This ability to specify different filters on your stream, provides a powerful **Dynamic Manifest** manipulation solution to target multiple use-case scenarios for your target devices. This topic explains concepts related to **Dynamic Manifests** and gives examples of scenarios in which you might want to use this feature.
29+
30+
> [!NOTE]
31+
> Dynamic Manifests do not change the asset and the default manifest for that asset.
32+
>
33+
34+
### Examples: URLs with filters in query string
35+
36+
Filters could be applied to adaptive bitrate streaming protocols: Apple HTTP Live Streaming (HLS), MPEG-DASH, and Smooth Streaming. The following table shows some examples of URLs with filters:
2437

2538
|Protocol|Example|
2639
|---|---|
@@ -118,10 +131,6 @@ You can combine up to three filters.
118131

119132
For more information, see [this](https://azure.microsoft.com/blog/azure-media-services-release-dynamic-manifest-composition-remove-hls-audio-only-track-and-hls-i-frame-track-support/) blog.
120133

121-
## Associate filters with Streaming Locator
122-
123-
See [Filters: associate with Streaming Locators](filters-concept.md#associate-filters-with-streaming-locator).
124-
125134
## Considerations and limitations
126135

127136
- The values for **forceEndTimestamp**, **presentationWindowDuration**, and **liveBackoffDuration** should not be set for a VoD filter. They are only used for live filter scenarios.

articles/media-services/latest/release-notes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ For more information, see [Migration guidance for moving from Media Services v2
4949

5050
Dynamic Packaging now supports Dolby Atmos. For more information, see [Audio codecs supported by dynamic packaging](dynamic-packaging-overview.md#audio-codecs-supported-by-dynamic-packaging).
5151

52-
You can now specify a list of asset or account filters, which would apply to your Streaming Locator. For more information, see [Associate filters with Streaming Locator](filters-concept.md#associate-filters-with-streaming-locator).
52+
You can now specify a list of asset or account filters, which would apply to your Streaming Locator. For more information, see [Associate filters with Streaming Locator](filters-concept.md#associating-filters-with-streaming-locator).
5353

5454
## February 2019
5555

articles/media-services/latest/streaming-locators-concept.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ms.author: juliako
1717

1818
# Streaming Locators
1919

20-
To make videos in the output Asset available to clients for playback, you have to create a [Streaming Locator](https://docs.microsoft.com/rest/api/media/streaminglocators) and then build streaming URLs. For .NET sample, see [Get a Streaming Locator](stream-files-tutorial-with-api.md#get-a-streaming-locator).
20+
To make videos in the output Asset available to clients for playback, you have to create a [Streaming Locator](https://docs.microsoft.com/rest/api/media/streaminglocators) and then build streaming URLs. To build a URL, you need to concatenate the Streaming Endpoint host name and the Streaming Locator path. For .NET sample, see [Get a Streaming Locator](stream-files-tutorial-with-api.md#get-a-streaming-locator).
2121

2222
The process of creating a **Streaming Locator** is called publishing. By default, the **Streaming Locator** is valid immediately after you make the API calls, and lasts until it is deleted, unless you configure the optional start and end times.
2323

@@ -27,13 +27,17 @@ When creating a **Streaming Locator**, you must specify an **Asset** name and a
2727
* [Streaming Policies](streaming-policy-concept.md)
2828
* [Content Key Policies](content-key-policy-concept.md)
2929

30-
> [!IMPORTANT]
31-
> * Properties of **Streaming Locators** that are of the Datetime type are always in UTC format.
32-
> * You should design a limited set of policies for your Media Service account and reuse them for your Streaming Locators whenever the same options are needed. For more information, see [Quotas and limitations](limits-quotas-constraints.md).
30+
You can also specify the start and end time on your Streaming Locator, which will only let your user play the content between these times (for example, between 5/1/2019 to 5/5/2019).
31+
32+
## Considerations
33+
 
34+
* **Streaming Locators** are not updatable.
35+
* Properties of **Streaming Locators** that are of the Datetime type are always in UTC format.
36+
* You should design a limited set of policies for your Media Service account and reuse them for your Streaming Locators whenever the same options are needed. For more information, see [Quotas and limitations](limits-quotas-constraints.md).
3337

3438
## Associate filters with Streaming Locators
3539

36-
See [Filters: associate with Streaming Locators](filters-concept.md#associate-filters-with-streaming-locator).
40+
See [Filters: associate with Streaming Locators](filters-concept.md#associating-filters-with-streaming-locator).
3741

3842
## Filter, order, page Streaming Locator entities
3943

0 commit comments

Comments
 (0)