Créer des filtres avec l’interface CLI

Logo de Media Services v3


Avertissement

Azure Media Services sera mis hors service le 30 juin 2024. Pour plus d’informations, consultez le Guide de mise hors service AMS.

Quand vous transmettez votre contenu à un client (événements de streaming en direct ou vidéo à la demande), le fichier manifeste de l’actif multimédia par défaut ne permet peut-être pas au client d’interagir avec le contenu comme il le voudrait. Avec Azure Media Services, vous pouvez définir des filtres de compte et d’élément multimédia à appliquer à votre contenu.

Pour obtenir une description détaillée de cette fonctionnalité et des scénarios dans lesquels elle est utilisée, consultez Manifestes dynamiques et Filtres.

Cette rubrique explique comment définir un filtre pour un actif multimédia Vidéo à la demande et comment utiliser l’interface CLI dans Media Services v3 pour créer des filtres de compte et des filtres d’actif multimédia.

Notes

Veillez à consulter presentationTimeRange.

Prérequis

Définir un filtre

L’exemple suivant définit les conditions de sélection de piste qui sont ajoutées au manifeste final. Ce filtre inclut toutes les pistes audio EC-3 et toutes les pistes vidéo dont la vitesse de transmission est comprise entre 0 et 1 000 000.

Conseil

Si vous prévoyez de définir Filtres dans REST, vous remarquerez que vous devez inclure l’objet JSON wrapper « Propriétés ».

[
    {
        "trackSelections": [
            {
                "property": "Type",
                "value": "Audio",
                "operation": "Equal"
            },
            {
                "property": "FourCC",
                "value": "EC-3",
                "operation": "NotEqual"
            }
        ]
    },
    {
        "trackSelections": [
            {
                "property": "Type",
                "value": "Video",
                "operation": "Equal"
            },
            {
                "property": "Bitrate",
                "value": "0-1000000",
                "operation": "Equal"
            }
        ]
    }
]

Créer des filtres de compte

La commande az ams account-filter ci-dessous crée un filtre de compte qui filtre les sélections de pistes définies précédemment.

La commande vous permet de transmettre paramètre --tracks facultatif contenant un JSON qui représente les sélections de pistes. Utilisez @{file} pour charger le JSON à partir d’un fichier. Si vous utilisez l’interface de ligne de commande Azure en local, spécifiez le chemin d’accès de la totalité du fichier :

az ams account-filter create -a amsAccount -g resourceGroup -n filterName --tracks @tracks.json

Voir aussi Exemples de filtres JSON.

Créer des filtres d’élément multimédia

La commande az ams asset-filter ci-dessous crée un filtre d’actif multimédia qui filtre les sélections de pistes définies précédemment.

az ams asset-filter create -a amsAccount -g resourceGroup -n filterName --asset-name assetName --tracks @tracks.json

Voir aussi Exemples de filtres JSON.

Associer des filtres à un localisateur de streaming

Filtrer vos manifestes HLS ou DASH lors de la création d’un localisateur de streaming

Media Services vous permet de créer un localisateur de streaming préfiltré en transmettant une collection de filtres dans la propriété de filtre sur l’entité de localisateur de streaming. Cela vous permet de préfiltrer tous les manifestes sur le localisateur de streaming. Le manifeste d’origine n’est plus disponible via ce localisateur de diffusion en continu, et seule la réponse filtrée sera accessible aux clients qui demandent les URL pour DASH ou HLS à partir du localisateur de streaming filtré. Cela est utile dans les situations où vous souhaitez publier uniquement une partie d’une ressource et empêcher les utilisateurs d’accéder au manifeste d’origine complet de la ressource en manipulant la chaîne de requête de l’URL du manifeste HLS ou DASH. Nous vous recommandons d’utiliser cette fonctionnalité si vous voulez appliquer des filtres, mais que vous ne voulez pas exposer les noms de filtre dans l’URL pour que les clients puissent les manipuler.

Vous pouvez spécifier une liste de filtres de compte ou d'élément multimédia sur votre localisateur de streaming. Le packager dynamique applique cette liste de filtres avec ceux spécifiés par votre client dans l’URL. Cette combinaison génère un manifeste dynamique qui est basé sur les filtres spécifiés dans l’URL ainsi que sur ceux que vous spécifiez dans le localisateur de streaming.

Mise à jour de filtres

Les filtres et les localisateurs de streaming peuvent être mis à jour à la volée. Gardez toutefois à l’esprit que les mises à jour sur les serveurs web front-end peuvent prendre jusqu’à 10 secondes et que des problèmes liés à la mise en cache CDN en aval du contenu peuvent survenir si vous mettez à jour le même localisateur de streaming que celui qui a été publié et qui est déjà utilisé en production.

Il est déconseillé de mettre à jour la définition des filtres associés à un localisateur de streaming activement publié, notamment lorsque CDN est activé. Les serveurs et CDN de streaming peuvent disposer de caches internes susceptibles de renvoyer des données en cache obsolètes.

Si la définition du filtre doit être modifiée, envisagez de créer un nouveau filtre et de l'ajouter à l'URL du localisateur de streaming ou de publier un nouveau localisateur de streaming unique faisant directement référence au filtre mis à jour.

Utiliser l’interface CLI pour créer un localisateur de streaming filtré

Le code CLI suivant montre comment créer un localisateur de streaming et spécifier filters. Il s’agit d’une propriété optionnelle qui prend une liste de noms de filtre de ressources et/ou de noms de filtre de comptes séparés par un espace.

az ams streaming-locator create -a amsAccount -g resourceGroup -n streamingLocatorName \
                                --asset-name assetName \
                                --streaming-policy-name policyName \
                                --filters filterName1 filterName2

Effectuer un streaming à l’aide de filtres

Lorsque vous définissez des filtres, vos clients peuvent les utiliser dans l'URL de diffusion en continu. Il serait possible d’appliquer des filtres à des protocoles de streaming à débit adaptatif : HLS (HTTP Live Streaming) Apple, MPEG-DASH et Smooth Streaming.

Le tableau suivant présente des exemples d’URL utilisant des filtres :

Protocol Exemple
HLS https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=m3u8-aapl,filter=myAccountFilter)
MPEG DASH https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=mpd-time-csf,filter=myAssetFilter)
Smooth Streaming https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter)

Voir aussi

Azure CLI

Obtenir de l’aide et du support

Vous pouvez contacter Media Services pour toute question ou suivre nos mises à jour selon l’une des méthodes suivantes :