Événements en direct Media Services
Avertissement
Azure Media Services sera mis hors service le 30 juin 2024. Pour plus d’informations, consultez le Guide de mise hors service AMS.
Azure Media Services vous permet de transmettre des événements en direct auprès de vos clients dans le cloud Azure.
Conseil
Si vous effectuez une migration à partir des API Media Services v2, l’entité événementielle en direct remplace Channel dans v2 et la sortie en direct remplace le programme.
Événements en direct
Les événements en direct ingèrent et traitent des flux vidéo en direct. Lorsque vous créez un événement en direct, un point de terminaison d’ingestion est créé. Le point de terminaison d’ingestion consomme un signal en direct d’un encodeur distant. L’encodeur live distant envoie le flux au point de terminaison d’entrée à l’aide du protocole d’entrée RTMP ou Smooth Streaming (MP4 fragmenté). Pour le protocole de réception RTMP, le contenu peut être envoyé en clair (rtmp://
) ou chiffré pour plus de sécurité sur la connexion filaire (rtmps://
). Pour le protocole de réception Smooth Streaming, les schémas d’URL pris en charge sont http://
ou https://
.
L’allocation par défaut est de 5 événements en direct par compte Media Services. Si vous souhaitez augmenter cette limite, veuillez créer un ticket de support dans le portail Azure.
Types d’événements en direct
Un événement en direct peut être défini sur un encodagedirect ou direct de base ou standard. Les types sont définis lors de la création à l’aide du type d’encodage d’événement en direct.
- Passthrough basic : un encodeur live local envoie un flux à débit binaire multiple. Le Pass-through de base est limité à une entrée de pointe de 5 Mbits/s et à une fenêtre DVR de 8 heures, et la transcription en direct n’est pas prise en charge.
- Passthrough standard : un encodeur live local envoie un flux à débit binaire multiple. Le Pass-through standard offre des limites d’ingestion supérieures, une fenêtre DVR de 25 heures et une prise en charge des transcriptions en direct.
- Standard : un encodeur live local envoie un flux de débit unique à l’événement en direct et Media Services crée plusieurs flux à débit binaire. Si la résolution du flux de contribution est de 720p ou plus, la présélection Default720p encode un jeu de 6 paires résolution/débits.
- Premium 1080p : un encodeur live local envoie un flux à débit unique à l’événement en direct et Media Services crée plusieurs flux à débit binaire. La présélection Default1080p spécifie le jeu de sortie des paires résolution/débits.
Notes
La fréquence d’images maximale est de 30 images par seconde pour l’encodage Standard et Premium.
Événement en direct pass-through
Lorsque vous utilisez l’événement en direct de base ou standard, vous utilisez votre encodeur live local pour générer un flux vidéo à débit binaire multiple et l’envoyer à l’événement en direct (à l’aide du protocole RTMP ou fragmenté-MP4). L’événement en direct est ensuite transmis dans les flux vidéo entrants sans traitement supplémentaire. Un événement en direct Pass-through est optimisé pour les événements en direct de longue durée ou le streaming en direct linéaire (24 h/24, 365 jours/an). Lors de la création de ce type d’événement en direct, spécifiez Pass-through « de base » ou « standard ».
Vous pouvez envoyer le flux à des résolutions allant jusqu’à 4K et à une fréquence d’images de 60 images/seconde, avec des codecs vidéo H.264/AVC ou H.265/HEVC (ingestion fluide uniquement) et un codec audio AAC (AAC-LC, HE-AACv1 ou HE-AACv2). Pour plus d’informations, consultez Comparaison des types d’événements en direct.
Notes
La méthode pass-through est le moyen le plus économique de diffuser des vidéos en continu si plusieurs événements vous concernent sur une longue période, et si vous avez déjà investi dans des encodeurs locaux. Consultez les détails de la tarification.
Événement en direct d’encodage en direct
Lorsque vous utilisez l’encodage en direct, vous configurez votre encodeur live local pour envoyer une vidéo à débit unique à l’événement en direct (à l’aide du protocole RTMP ou Fragmented-Mp4). Vous configurez ensuite un événement en direct afin qu’il encode le flux à débit unique entrant en un flux vidéo à débit binaire multiple. Cela rend la sortie disponible pour la livraison pour lire les appareils via des protocoles tels que MPEG-DASH, HLS et Smooth Streaming.
Dans ce cas, vous pouvez envoyer le flux de contribution uniquement aux résolutions allant jusqu’à 1080p à une fréquence d’images de 30 images/seconde, avec le codec vidéo H.264/AVC et le codec audio AAC (AAC-LC, HE-AACv1 ou HE-AACv2). Pour plus d’informations, consultez Comparaison des types d’événements en direct.
Options de streaming HLS et DASH à faible latence
Pour plus d’informations sur la façon d’obtenir une faible latence avec l’encodage d’événements en direct, consultez les options de streaming HLS à faible latence (LL-HLS) et DASH , ainsi que le guide des meilleures pratiques de diffusion en continu en direct.
Résolution et débits de sortie d’encodage en direct
Les résolutions et les débits binaires dans la sortie résultante de l’encodeur dynamique sont déterminés par la présélection :
- Lorsque vous utilisez l’encodeur live Standard , la présélection Default720p spécifie un ensemble de six paires résolution/débit binaire, allant de 720p à 3,5 Mbits/s à 192p à 200 kbit/s.
- Lorsque vous utilisez un encodeur live Premium1080p , la présélection Default1080p spécifie un ensemble de six paires résolution/débit binaire, allant de 1080p à 3,5 Mbits/s à 180p à 200 kbit/s.
Pour plus d’informations, consultez Présélections système.
Notes
Si vous avez besoin de personnaliser la présélection d’encodage live, ouvrez un ticket de support sur le Portail Azure. Vous devez spécifier la table souhaitée pour la résolution/les débits vidéo et les débits audio. Pour la vidéo, vérifiez qu’il n’existe qu’une seule couche à 720p, et au maximum 6 couches. Pour l’audio, vous pouvez personnaliser avec les débits audio AAC discrets suivants (96k, 112k, 128k, 160k, 192k, 224k, 256k, 320k, 384k, 448k, 512k). Plusieurs pistes audio à différents débits sont autorisées et peuvent être incluses dans la présélection personnalisée. Spécifiez également que vous demandez une présélection personnalisée dans le ticket de support.
Consultez l’API REST pour LiveEventEncodingType ou les SDK .Net, Node.JS ou Python . En outre, vous pouvez essayer l’exemple de code Live Event.
Options d’événement en direct
Quand vous créez un événement en direct, vous pouvez spécifier les options suivantes :
- Nom et description.
- Pour l’encodage Standard et Premium, vous pouvez choisir le mode stretch de la vidéo encodée :
- Aucun : respecte strictement la résolution de sortie spécifiée dans la présélection d’encodage sans tenir compte du rapport d’aspect des pixels ou de l’affichage de la vidéo d’entrée.
- Taille automatique : remplace la résolution de sortie et la modifie pour qu’elle corresponde au rapport d’affichage de l’entrée, sans remplissage. Par exemple, si l’entrée est 1920x1080 et la présélection d’encodage demande 1280x1280, la valeur dans la présélection est remplacée, et la sortie sera à 1280x720, qui conserve les proportions d’entrée en 16:9.
- Ajustement automatique : pads la sortie (avec boîte aux lettres ou zone de pilier) pour respecter la résolution de sortie, tout en s’assurant que la région vidéo active dans la sortie a le même rapport d’aspect que l’entrée. Par exemple, si l’entrée est 1920x1080 et que la présélection d’encodage demande 1280x1280, la sortie sera à 1280x1280, avec un rectangle interne de 1280x720 aux proportions 16:9 et des régions au format « pillar box » de 280 pixels de large à gauche et à droite.
- Protocole de streaming RTMP ou Smooth streaming. Remarque : Vous ne pouvez pas modifier l’option de protocole pendant l’exécution de l’événement en direct ou des sorties dynamiques associées. Si vous avez besoin d’autres protocoles, créez des événements en direct distincts pour chaque protocole de streaming.
- ID d’entrée qui est un identificateur global unique pour le flux d’entrée d’événement en direct.
- Préfixe de nom d’hôte statique qui inclut aucun (auquel cas une chaîne hexadécimale aléatoire de 128 bits sera utilisée), utilisez le nom de l’événement en direct ou utilisez un nom personnalisé. Si vous choisissez d’utiliser un nom de client, cette valeur est le préfixe Nom d’hôte personnalisé.
- Intervalle d’image clé d’entrée, qui correspond à la durée (en secondes) de chaque segment multimédia dans la sortie HLS. La valeur doit être un entier différent de zéro compris entre 0,5 et 20 secondes. La valeur par défaut est 2 secondes si aucun des intervalles de l’image clé (d’entrée ou de sortie) n’est défini. L’intervalle de l’image clé est autorisé uniquement sur les événements pass-through.
- Démarrage automatique. Lorsque le démarrage automatique est défini sur true, l’événement en direct démarre après sa création. La facturation commence donc dès que son exécution démarre. Vous devez arrêter explicitement l’événement en direct pour arrêter la facturation ultérieure. Sinon, lancez-le dès que vous souhaitez commencer le streaming.
-
Restrictions IP sur l’ingestion et la préversion. Vous pouvez définir les adresses IP autorisées à recevoir du contenu vidéo sur cet événement en direct. Les adresses IP autorisées peuvent être définies sous forme d’adresse IP unique (par exemple, « 10.0.0.1 »), de plage d’adresses IP constituée d’une adresse IP et d’un masque de sous-réseau CIDR (par exemple, « 10.0.0.1/22 ») ou de plage d’adresses IP constituée d’une adresse IP et d’un masque de sous-réseau au format décimal séparé par des points (par exemple, « 10.0.0.1(255.255.252.0) »).
- Si aucune adresse IP n’est spécifiée et qu’il n’existe pas de définition de règle, alors aucune adresse IP ne sera autorisée. Pour autoriser toutes les adresses IP, créez une règle et définissez la valeur 0.0.0.0/0. Les adresses IP doivent être dans l’un des formats suivants : adresses IpV4 ou IPv6 avec quatre nombres ou plage d’adresses CIDR. Pour plus d’informations sur l’utilisation d’IPv4 ou IPv6, consultez Restreindre l’accès à la licence DRM et la remise de clés AES à l’aide de listes d’adresses IP autorisées.
- Si vous souhaitez activer certaines adresses IP sur vos propres pare-feu ou si vous souhaitez limiter les entrées à vos événements en direct à des adresses IP Azure, téléchargez un fichier JSON à partir de Plages d’adresses IP du centre de données Azure . Pour plus d’informations sur ce fichier, sélectionnez la section Détails de la page.
- Transcription dynamique qui est désactivée par défaut. Pour en savoir plus sur les transcriptions en direct, consultez l’article Transcription en direct.
Mode Veille
Lorsque vous créez un événement en direct, vous pouvez le définir sur le mode Veille. Lorsque l’événement est en mode StandBy, vous pouvez modifier la description et le préfixe de nom d’hôte statique, ainsi que restreindre les paramètres d’accès d’entrée et d’aperçu. Le mode Veille est facturable mais à un tarif différent de celui du démarrage d’un flux en direct.
Pour plus d’informations, consultez États et facturation des événements en direct.
Sorties en direct
Une fois que vous avez configuré un flux à partir d’un encodeur local vers un événement en direct, vous pouvez commencer l’événement de streaming en créant une ressource, une sortie en direct et un localisateur de streaming. La sortie en direct archive le flux et le met à la disposition des observateurs via le point de terminaison de streaming.
Questions sur la sortie des événements en direct
Consultez les questions de la FAQ en lien avec les événements en direct. Pour plus d’informations sur les quotas d’événement en direct, consultez les quotas et limites
Plus d’informations sur la configuration des événements en direct
Règles d’affectation des noms
- Le nom de l’événement en direct peut contenir au maximum 32 caractères.
- Le nom doit suivre ce modèle regex :
^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$
.
Consultez également les conventions de nommage des points de terminaison de streaming.
Conseil
Pour garantir l’unicité du nom de votre événement en direct, vous pouvez générer un GUID, puis supprimer tous les traits d’union et les accolades (le cas échéant). La chaîne sera unique pour tous les événements en direct et sa longueur sera de 32 caractères.
URL d’ingestion des événements en direct
Une fois l’événement en direct créé, vous pouvez obtenir des URL de réception que vous devez fournir à l’encodeur live local. L’encodeur live utilise ces URL pour entrer un flux temps réel. Pour plus d’informations, consultez Encodeurs live locaux recommandés.
Notes
À compter de la version d’API 2020-05-01, les URL de redirection sont appelées noms d’hôte statiques (useStaticHostname: true).
Notes
Pour qu’une URL de réception soit statique et prévisible pour une utilisation dans une configuration d’encodeur matériel, définissez la propriété useStaticHostname sur true et définissez la propriété accessToken sur le même GUID à chaque création.
Nom d’hôte non statique
Un nom d’hôte non statique est le mode par défaut dans Media Services v3 lors de la création d’un LiveEvent. Vous pouvez allouer l’événement en direct un peu plus rapidement, mais l’URL de réception dont vous avez besoin pour votre matériel ou logiciel d’encodage en direct sera aléatoire. L’URL change si vous arrêtez/démarrez l’événement en direct. Les noms d’hôte non statiques sont utiles uniquement dans les scénarios où un utilisateur final souhaite diffuser en continu à l’aide d’une application qui doit obtenir un événement en direct très rapidement et où le fait d’avoir une URL de réception dynamique n’est pas un problème.
Si une application cliente n’a pas besoin de prégénérer une URL de réception avant la création de l’événement en direct, laissez simplement Media Services générer automatiquement le jeton d’accès pour l’événement en direct.
Noms d’hôtes statiques
Le mode nom d’hôte statique est préféré par la plupart des opérateurs qui souhaitent préconfigurer leur matériel ou logiciel d’encodage en direct avec une URL de réception RTMP qui ne change jamais lors de la création ou de l’arrêt/du démarrage d’un événement en direct spécifique. Ces opérateurs veulent une URL de réception RTMP prédictive qui ne change pas au fil du temps. Cela est également très utile lorsque vous devez transmettre par push une URL de réception RTMP statique dans les paramètres de configuration d’un périphérique de codage matériel tel que le BlackMagic ATEM Mini Pro ou des outils de production et d’encodage matériel similaires.
Notes
Sur le portail Azure, l’URL du nom d’hôte statique est appelée « Préfixe de nom d’hôte statique ».
Pour spécifier ce mode dans l'API, définissez
useStaticHostName
surtrue
au moment de la création (valeur par défaut :false
). LorsqueuseStaticHostname
est défini sur true, le paramètrehostnamePrefix
spécifie la première partie du nom d’hôte affecté aux points de terminaison d’ingestion et d’aperçu de l’événement en direct. Le nom d’hôte final est une combinaison de ce préfixe, du nom du compte de service multimédia et d’un code court pour le centre de données Azure Media Services.Pour éviter d’avoir un jeton aléatoire dans l’URL, vous devez également transmettre votre jeton d’accès (
LiveEventInput.accessToken
) lors de la création. Le jeton d’accès doit être une chaîne GUID valide (avec ou sans traits d’union). Une fois défini, le mode ne peut pas être mis à jour.Le jeton d’accès doit être unique pour la région Azure et pour le compte Media Services. Si votre application doit utiliser une URL d’ingestion de nom d’hôte statique, vous êtes encouragé à toujours créer une nouvelle instance GUID à utiliser avec une combinaison spécifique de région, de compte Media Services et d’événement en direct.
Utiliser les API suivantes pour activer l’URL du nom d’hôte statique et définir le jeton d’accès sur un GUID valide (par exemple
"accessToken": "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7"
).Langage Activer l’URL du nom d’hôte statique Définir le jeton d’accès REST properties.useStaticHostname LiveEventInput.useStaticHostname Interface de ligne de commande --use-static-hostname --access-token .NET LiveEvent.useStaticHostname LiveEventInput.AccessToken
Règles de nommage de l’URL de réception en direct
- La chaîne aléatoire ci-dessous est un nombre hexadécimal de 128 bits (qui se compose de 32 caractères de 0 à 9 et de a à f).
-
votre jeton d’accès : Chaîne GUID valide que vous définissez lorsque vous utilisez le paramètre de nom d’hôte statique. Par exemple :
"1fce2e4b-fb15-4718-8adc-68c6eb4c26a7"
. - nom du flux : Indique le nom du flux pour une connexion spécifique. La valeur du nom du flux est généralement ajoutée par l’encodeur live que vous utilisez. Vous pouvez configurer l’encodeur live pour qu’il utilise n’importe quel nom afin de décrire la connexion, par exemple : « video1_audio1 », « video2_audio1 », « stream ».
Avertissement
Si vous utilisez des caractères spéciaux ou des espaces dans le nom de votre flux, votre ingestion en direct échoue. Consultez Conventions d’affectation de noms des ressources Media Services dans la vue d’ensemble des concepts de développeur.
URL de réception du nom d’hôte non statique
RTMP
rtmp://<random 128bit hex string>.channel.media.azure.net:1935/live/<auto-generated access token>/<stream name>
rtmp://<random 128bit hex string>.channel.media.azure.net:1936/live/<auto-generated access token>/<stream name>
rtmps://<random 128bit hex string>.channel.media.azure.net:2935/live/<auto-generated access token>/<stream name>
rtmps://<random 128bit hex string>.channel.media.azure.net:2936/live/<auto-generated access token>/<stream name>
Diffusion en continu lisse
http://<random 128bit hex string>.channel.media.azure.net/<auto-generated access token>/ingest.isml/streams(<stream name>)
https://<random 128bit hex string>.channel.media.azure.net/<auto-generated access token>/ingest.isml/streams(<stream name>)
URL de réception du nom d’hôte statique
Dans les chemins suivants, <live-event-name>
désigne soit le nom donné à l’événement, soit le nom personnalisé utilisé lors de la création de l’événement en direct.
RTMP
rtmp://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:1935/live/<your access token>/<stream name>
rtmp://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:1936/live/<your access token>/<stream name>
rtmps://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:2935/live/<your access token>/<stream name>
rtmps://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:2936/live/<your access token>/<stream name>
Diffusion en continu lisse
http://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net/<your access token>/ingest.isml/streams(<stream name>)
https://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net/<your access token>/ingest.isml/streams(<stream name>)
URL de l’aperçu des événements en direct
Une fois que l’événement en direct commence à recevoir le flux de contribution, vous pouvez utiliser son point de terminaison d’aperçu pour prévisualiser et valider le flux temps réel que vous recevez avant de continuer la publication. Après avoir vérifié que le flux d’aperçu est correct, vous pouvez utiliser l’événement en direct pour rendre le flux temps réel diffusable via un ou plusieurs points de terminaison de streaming (créés au préalable). Pour cela, créez une sortie en direct sur l’événement en direct.
Important
Veillez à ce que la vidéo transite par l’URL d’aperçu avant de poursuivre !
Opérations de longue durée d’un événement en direct
Pour plus de détails, consultez Opérations de longue durée.
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 :
- Q & R
-
Stack Overflow. Étiquetez les questions avec
azure-media-services
. - @MSFTAzureMedia ou utiliser @AzureSupport pour demander de l’aide.
- Ouvrez un ticket de support via le Portail Azure.