Événements en direct et sorties en direct dans Media ServicesLive Events and Live Outputs in Media Services

Azure Media Services vous permet de transmettre des événements en direct auprès de vos clients dans le cloud Azure.Azure Media Services lets you deliver live events to your customers on the Azure cloud. Pour configurer vos événements de streaming en direct dans Media Services v3, vous devez comprendre les concepts abordés dans cet article.To set up your live streaming events in Media Services v3, you need to understand the concepts discussed in this article.

Conseil

Pour les clients migrant depuis les API de Media Services v2, l’entité Live Event remplace Channel dans la version 2 et Live Output remplace Program.For customers migrating from Media Services v2 APIs, the Live Event entity replaces Channel in v2 and Live Output replaces Program.

Événements en directLive Events

Les événements en direct sont chargés de la réception et du traitement des flux vidéo en direct.Live Events are responsible for ingesting and processing the live video feeds. Quand vous créez un événement en direct, un point de terminaison d’entrée primaire et secondaire est également créé. Vous pouvez utiliser ce point de terminaison pour envoyer un signal en direct à partir d’un encodeur à distance.When you create a Live Event, a primary and secondary input endpoint is created that you can use to send a live signal from a remote encoder. L’encodeur live à distance envoie le flux de contribution à ce point de terminaison d’entrée par le biais du protocole d’entrée RTMP ou Smooth Streaming (MP4 fragmenté).The remote live encoder sends the contribution feed to that input endpoint using either the RTMP or Smooth Streaming (fragmented-MP4) input protocol. 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://).For the RTMP ingest protocol, the content can be sent in the clear (rtmp://) or securely encrypted on the wire(rtmps://). Pour le protocole de réception Smooth Streaming, les schémas d’URL pris en charge sont http:// ou https://.For the Smooth Streaming ingest protocol, the supported URL schemes are http:// or https://.

Types d’événements en directLive Event types

Un événement en direct peut être de deux types : transfert direct ou encodage en temps réel.A Live Event can be one of two types: pass-through or live encoding. Durant la création, les types sont définis à l’aide de LiveEventEncodingType :The types are set during creation using LiveEventEncodingType:

  • LiveEventEncodingType.None : Un encodeur live local envoie un flux à débit binaire multiple.LiveEventEncodingType.None: An on-premises live encoder sends a multiple bitrate stream. Le flux reçu transite par l’événement en direct sans traitement supplémentaire.The ingested stream passes through the Live Event without any further processing.
  • LiveEventEncodingType.Standard : Un encodeur live local envoie un flux à débit unique à l’Événement en direct, puis Media Services crée des flux à débits multiples.LiveEventEncodingType.Standard: An on-premises live encoder sends a single bitrate stream to the Live Event and Media Services creates multiple bitrate streams. 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.If the contribution feed is of 720p or higher resolution, the Default720p preset will encode a set of 6 resolution/bitrates pairs.
  • LiveEventEncodingType.Premium1080p : Un encodeur live local envoie un flux à débit unique à l’Événement en direct, puis Media Services crée des flux à débits multiples.LiveEventEncodingType.Premium1080p: An on-premises live encoder sends a single bitrate stream to the Live Event and Media Services creates multiple bitrate streams. La présélection Default1080p spécifie le jeu de sortie des paires résolution/débits.The Default1080p preset specifies the output set of resolution/bitrates pairs.

Requête directePass-through

diagramme de l’exemple d’événement en direct avec Media Services

Quand vous utilisez l’événement en direct de type pass-through, vous chargez l’encodeur live local de générer un flux vidéo à vitesse de transmission multiple et d’envoyer ce flux comme flux de contribution à l’événement en direct (à l’aide du protocole RTMP ou MP4 fragmenté).When using the pass-through Live Event, you rely on your on-premises live encoder to generate a multiple bitrate video stream and send that as the contribution feed to the Live Event (using RTMP or fragmented-MP4 protocol). L’événement en direct est ensuite transmis dans les flux vidéo entrants sans traitement supplémentaire.The Live Event then carries through the incoming video streams without any further processing. Une transmission LiveEvent est optimisée pour les événements en direct de longue durée ou le streaming en direct linéaire sans interruption (24 heures sur 24, 365 jours par an).Such a pass-through Live Event is optimized for long-running live events or 24x365 linear live streaming. Si vous créez ce type d’événement en direct, spécifiez le paramètre None (LiveEventEncodingType.None).When creating this type of Live Event, specify None (LiveEventEncodingType.None).

Vous pouvez envoyer le flux de contribution à une résolution jusqu’à 4 K et à une fréquence de 60 images/seconde, avec des codecs vidéo H.264/AVC ou H.265/HEVC et des codecs audio AAC (AAC-LC, HE-AACv1 ou HE-AACv2).You can send the contribution feed at resolutions up to 4K and at a frame rate of 60 frames/second, with either H.264/AVC or H.265/HEVC video codecs, and AAC (AAC-LC, HE-AACv1, or HE-AACv2) audio codec. Pour plus d’informations, consultez Comparaison des types d’événements en direct.For more information, see Live Event types comparison.

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.Using a pass-through method is the most economical way to do live streaming when you're doing multiple events over a long period of time, and you have already invested in on-premises encoders. Consultez les détails de la tarification .See pricing details.

Consultez un exemple de code .NET dans MediaV3LiveApp.See a .NET code example in MediaV3LiveApp.

Encodage en directLive encoding

diagramme d’exemple d’encodage en temps réel avec Media Services

Quand vous utilisez Live Encoding avec Media Services, vous configurez votre encodeur live local pour qu’il envoie un flux vidéo à une seule vitesse de transmission comme flux de contribution à l’événement en direct (à l’aide du protocole RTMP ou MP4 fragmenté).When using live encoding with Media Services, you configure your on-premises live encoder to send a single bitrate video as the contribution feed to the Live Event (using RTMP or Fragmented-Mp4 protocol). Vous configurerez ensuite un événement en direct de sorte qu’il encode ce flux vidéo à une seule vitesse de transmission entrant en flux vidéo à vitesse de transmission multiple, pour rendre la transmission et la lecture de la sortie possibles sur les appareils via des protocoles comme MPEG-DASH, HLS et Smooth Streaming.You then set up a Live Event so that it encodes that incoming single bitrate stream to a multiple bitrate video stream, and makes the output available for delivery to play back devices via protocols like MPEG-DASH, HLS, and Smooth Streaming.

Lorsque vous utilisez un encodage en direct, vous pouvez envoyer le flux de contribution uniquement aux résolutions jusqu’à 1080p et à une fréquence de 30 images/seconde, avec un codec vidéo H.264/AVC et un codec audio AAC (AAC-LC, HE-AACv1 ou HE-AACv2).When you use live encoding, you can send the contribution feed only at resolutions up to 1080p resolution at a frame rate of 30 frames/second, with H.264/AVC video codec and AAC (AAC-LC, HE-AACv1, or HE-AACv2) audio codec. Notez que les événements en direct pass-through peut prendre en charge les résolutions jusqu’à 4K à 60 images/seconde.Note that pass-through Live Events can support resolutions up to 4K at 60 frames/second. Pour plus d’informations, consultez Comparaison des types d’événements en direct.For more information, see Live Event types comparison.

La présélection détermine les résolutions et débits de la sortie émanant de l’encodeur live.The resolutions and bitrates contained in the output from the live encoder is determined by the preset. Si vous utilisez un encodeur live Standard (LiveEventEncodingType.Standard), la présélection Default720p spécifie un jeu de six paires résolution/débit, allant de 720p à 3,5 Mbits/s à 192p à 200 kbits/s.If using a Standard live encoder (LiveEventEncodingType.Standard), then the Default720p preset specifies a set of six resolution/bit rate pairs, going from 720p at 3.5 Mbps down to 192p at 200 kbps. Autrement, si vous utilisez un encodeur live Premium1080p (LiveEventEncodingType.Premium1080p), la présélection Default1080p spécifie un jeu de six paires résolution/débit, allant de 1080p à 3,5 Mbits/s à 180p à 200 kbits/s.Otherwise, if using a Premium1080p live encoder (LiveEventEncodingType.Premium1080p), then the Default1080p preset specifies a set of six resolution/bit rate pairs, going from 1080p at 3.5 Mbps down to 180p at 200 kbps. Pour plus d’informations, consultez Présélections système.For information, see System presets.

Notes

Si vous avez besoin de personnaliser la présélection d’encodage live, ouvrez un ticket de support sur le Portail Azure.If you need to customize the live encoding preset, open a support ticket via Azure portal. Spécifiez la table de résolution et de débits binaires souhaitée.Specify the desired table of resolution and bitrates. Vérifiez qu’il n’existe qu’un calque à 720p (si vous demandez un préréglage pour un encodeur live Standard) ou à 1080p (si vous demandez un préréglage pour un encodeur live Premium1080p). Le nombre maximal de calques est de 6.Verify that there's only one layer at 720p (if requesting a preset for a Standard live encoder) or at 1080p (if requesting a preset for a Premium1080p live encoder), and 6 layers at most.

Création d’événements en directCreating Live Events

OptionsOptions

Quand vous créez un événement en direct, vous pouvez spécifier les options suivantes :When creating a Live Event, you can specify the following options:

  • Protocole de streaming de l’événement en direct (les protocoles RTMP et Smooth Streaming sont actuellement pris en charge).The streaming protocol for the Live Event (currently, the RTMP and Smooth Streaming protocols are supported).
    Vous ne pouvez pas changer l’option de protocole pendant l’exécution de l’événement en direct ou des sorties en direct qui lui sont associées.You can't change the protocol option while the Live Event or its associated Live Outputs are running. Si vous avez besoin d’autres protocoles, créez des événements en direct distincts pour chaque protocole de streaming.If you require different protocols, create a separate Live Event for each streaming protocol.

  • Lors de la création de l’événement, vous pouvez spécifier qu’il démarre automatiquement.When creating the event, you can specify to autostart it.
    Lorsque le démarrage automatique est défini sur true, l’événement en direct démarre après sa création.When autostart is set to true, the Live Event will be started after creation. La facturation commence donc dès que son exécution démarre.The billing starts as soon as the Live Event starts running. Vous devez appeler explicitement la commande Stop sur la ressource de l’événement en direct pour arrêter toute facturation supplémentaire.You must explicitly call Stop on the Live Event resource to halt further billing. Sinon, lancez-le dès que vous souhaitez commencer le streaming.Alternatively, you can start the event when you're ready to start streaming.

    Pour plus d’informations, consultez États et facturation des événements en direct.For more information, see Live Event states and billing.

  • Restictions IP sur l’ingestion et la préversion.IP restrictions on the ingest and preview. Vous pouvez définir les adresses IP autorisées à recevoir du contenu vidéo sur cet événement en direct.You can define the IP addresses that are allowed to ingest a video to this Live Event. 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) »).Allowed IP addresses can be specified as either a single IP address (for example '10.0.0.1'), an IP range using an IP address and a CIDR subnet mask (for example, '10.0.0.1/22'), or an IP range using an IP address and a dotted decimal subnet mask (for example, '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.If no IP addresses are specified and there's no rule definition, then no IP address will be allowed. Pour autoriser toutes les adresses IP, créez une règle et définissez la valeur 0.0.0.0/0.To allow any IP address, create a rule and set 0.0.0.0/0.
    Les adresses IP doivent utiliser un des formats suivants : adresses IPv4 à quatre chiffres ou plage d’adresses CIDR.The IP addresses have to be in one of the following formats: IpV4 address with four numbers or CIDR address range.

    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 .If you want to enable certain IPs on your own firewalls or want to constrain inputs to your live events to Azure IP addresses, download a JSON file from Azure Datacenter IP address ranges. Pour plus d’informations sur ce fichier, sélectionnez la section Détails de la page.For details about this file, select the Details section on the page.

Règles d’affectation des nomsNaming rules

  • Le nom de l’événement en direct peut contenir au maximum 32 caractères.Max live event name is 32 characters.
  • Le nom doit suivre ce modèle regex : ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$.The name should follow this regex pattern: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$.

Reportez-vous également aux conventions de nommage des points de terminaison de streaming.Also see, Streaming Endpoints naming conventions.

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).To guarantee uniqueness of your live event name, you can generate a GUID then remove all the hyphens and curly brackets (if any). La chaîne sera unique pour tous les événements en direct et sa longueur sera de 32 caractères.The string will be unique across all live events and its length is guaranteed to be 32.

URL de réception des événements en directLive Event ingest URLs

Une fois l’événement en direct créé, vous pouvez obtenir des URL de réception que vous devez fournir à l’encodeur live local.Once the Live Event is created, you can get ingest URLs that you'll provide to the live on-premises encoder. L’encodeur live utilise ces URL pour entrer un flux temps réel.The live encoder uses these URLs to input a live stream. Pour plus d’informations, consultez Encodeurs live locaux recommandés.For more information, see Recommended on-premises live encoders.

Vous pouvez utiliser des URL de redirection ou de non-redirection vers un microsite.You can either use non-vanity URLs or vanity URLs.

Notes

Pour qu’une URL de réception soit prédictive, réglez le mode « personnel ».For an ingest URL to be predictive, set the "vanity" mode.

  • URL de non-redirection vers un micrositeNon-vanity URL

    L’URL de non-redirection vers un microsite est le mode par défaut dans Media Services v3.Non-vanity URL is the default mode in Media Services v3. Vous obtenez éventuellement l’événement en direct rapidement, mais l’URL de réception est connue uniquement quand l’événement en direct est démarré.You potentially get the Live Event quickly but ingest URL is known only when the live event is started. L’URL change si vous arrêtez/démarrez l’événement en direct.The URL will change if you do stop/start the Live Event.
    La non-redirection vers un microsite est utile dans les scénarios quand un utilisateur final souhaite diffuser à l’aide d’une application là où l’application souhaite obtenir un événement en direct dès que possible et qu’une URL de réception dynamique n’est pas un problème.Non-Vanity is useful in scenarios when an end user wants to stream using an app where the app wants to get a live event ASAP and having a dynamic ingest URL isn't a problem.

    Si une application client 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.If a client app doesn’t need to pre-generate an ingest URL before the Live Event is created, let Media Services autogenerate the Access Token for the live event.

  • URL de redirection vers un micrositeVanity URL

    Le mode de redirection vers un microsite est préféré par les diffuseurs multimédias importants qui utilisent des encodeurs de diffusion matériels et ne veulent pas reconfigurer leurs encodeurs quand ils démarrent l’événement en direct.Vanity mode is preferred by large media broadcasters who use hardware broadcast encoders and don't want to reconfigure their encoders when they start the Live Event. Ils veulent une URL de réception prédictive, qui ne change pas au fil du temps.They want a predictive ingest URL, which doesn't change over time.

    Pour spécifier ce mode, définissez vanityUrl sur true lors de la création (valeur par défaut : false).To specify this mode, you set vanityUrl to true at creation time (default is false). Vous devez également transmettre votre jeton d’accès (LiveEventInput.accessToken) lors de la création.You also need to pass your own access token (LiveEventInput.accessToken) at creation time. Vous spécifiez la valeur du jeton pour éviter qu’un jeton aléatoire soit inséré dans l’URL.You specify the token value to avoid a random token in the URL. Le jeton d’accès doit être une chaîne GUID valide (avec ou sans traits d’union).The access token has to be a valid GUID string (with or without the hyphens). Une fois défini, le mode ne peut pas être mis à jour.Once the mode is set, it can't be updated.

    Le jeton d’accès doit être unique dans votre centre de données.The access token needs to be unique in your data center. Si votre application doit utiliser une URL personnelle, il est recommandé de toujours créer une nouvelle instance GUID pour votre jeton d’accès (au lieu de réutiliser un GUID existant).If your app needs to use a vanity URL, it's recommended to always create a new GUID instance for your access token (instead of reusing any existing GUID).

    Utiliser les API suivantes pour activer l’URL personnelle et de définir le jeton d’accès sur un GUID valide (par exemple "accessToken": "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7").Use the following APIs to enable the Vanity URL and set the access token to a valid GUID (for example, "accessToken": "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7").

    LangageLanguage Activer une URL de redirection vers un micrositeEnable vanity URL Définir le jeton d’accèsSet access token
    RESTREST properties.vanityUrlproperties.vanityUrl LiveEventInput.accessTokenLiveEventInput.accessToken
    Interface de ligne de commandeCLI --vanity-url--vanity-url --access-token--access-token
    .NET.NET LiveEvent.VanityUrlLiveEvent.VanityUrl LiveEventInput.AccessTokenLiveEventInput.AccessToken

Règles de nommage de l’URL de réception en directLive ingest URL naming rules

  • 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).The random string below is a 128-bit hex number (which is composed of 32 characters of 0-9 a-f).
  • votre jeton d’accès : Chaîne GUID valide que vous définissez lorsque vous utilisez le mode personnel.your access token: The valid GUID string you set when using the vanity mode. Par exemple : "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7".For example, "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7".
  • nom du flux : Indique le nom du flux pour une connexion spécifique.stream name: Indicates the stream name for a specific connection. La valeur du nom du flux est généralement ajoutée par l’encodeur live que vous utilisez.The stream name value is usually added by the live encoder you use. 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 ».You can configure the live encoder to use any name to describe the connection, for example: “video1_audio1”, “video2_audio1”, “stream”.

URL de non-redirection vers un micrositeNon-vanity URL

RTMPRTMP

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>

Smooth StreamingSmooth Streaming

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 redirection vers un micrositeVanity URL

RTMPRTMP

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>

Smooth StreamingSmooth Streaming

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 directLive Event preview URL

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.Once the Live Event starts receiving the contribution feed, you can use its preview endpoint to preview and validate that you're receiving the live stream before further publishing. 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).After you've checked that the preview stream is good, you can use the Live Event to make the live stream available for delivery through one or more (pre-created) Streaming Endpoints. Pour cela, créez une sortie en direct sur l’événement en direct.To accomplish this, create a new Live Output on the Live Event.

Important

Veillez à ce que la vidéo transite par l’URL d’aperçu avant de poursuivre !Make sure that the video is flowing to the preview URL before continuing!

Opérations de longue durée d’un événement en directLive Event long-running operations

Pour plus de détails, consultez Opérations de longue durée.For details, see long-running operations.

Sorties en directLive Outputs

Une fois que le flux transite dans l’événement en direct, vous pouvez commencer l’événement de streaming en créant un actif multimédia, une sortie en direct et un localisateur de streaming.Once you have the stream flowing into the Live Event, you can begin the streaming event by creating an Asset, Live Output, and Streaming Locator. La sortie en direct archive le flux et le met à la disposition des observateurs via le point de terminaison de streaming.Live Output will archive the stream and make it available to viewers through the Streaming Endpoint.

Pour plus d’informations sur les sorties en direct, consultez Utiliser un magnétoscope numérique cloud.For detailed information about Live Outputs, see Using a cloud DVR.

Poser des questions, envoyer des commentaires, obtenir des mises à jourAsk questions, give feedback, get updates

Découvrez l’article Communauté Azure Media Services pour découvrir les différentes façons dont vous pouvez poser des questions, faire des commentaires et obtenir des mises à jour sur Media Services.Check out the Azure Media Services community article to see different ways you can ask questions, give feedback, and get updates about Media Services.

Étapes suivantesNext steps

Didacticiel sur le streaming en directLive streaming tutorial