Le Live packaging convertit les flux en direct au format de lecture demandé en temps réel, éliminant ainsi le besoin de pré-empaqueter le contenu dans tous les formats à l'avance.
Avec le Live packaging, vous pouvez :
Diffuser du contenu en direct aux formats HLS, HLS CMAF ou DASH à partir d'une seule ingestion
Activer la visualisation décalée dans le temps pour permettre aux spectateurs de revoir le contenu en direct
Archiver les flux en direct vers Object Storage Service (OSS) pour une lecture à la demande
Fonctionnement
MediaPackage organise les ressources de Live packaging sur trois niveaux :
Channel group – Conteneur de niveau supérieur pour les canaux et les endpoints. Chaque channel group reçoit un Origin Domain Name qui sert d'URL de base pour toutes les demandes de lecture au sein du groupe.
Channel – Point d'entrée d'un flux en direct. Un encodeur amont pousse le contenu vers les URL d'entrée d'un canal. Chaque canal fournit deux URL d'entrée pour une ingestion redondante. Si l'une des entrées cesse d'envoyer du contenu, MediaPackage bascule automatiquement vers l'autre, garantissant ainsi une diffusion continue.
Endpoint – Configuration de sortie d'un canal. Chaque endpoint définit le format de streaming, les paramètres d'empaquetage et les contrôles d'accès pour le flux de sortie. Un seul canal peut comporter plusieurs endpoints, chacun générant une URL de lecture unique.
Le contenu circule à travers ces ressources comme suit :
Un encodeur amont pousse un flux en direct vers les URL d'entrée d'un canal.
Un appareil aval (lecteur ou CDN) demande du contenu via l'URL de lecture d'un endpoint.
MediaPackage empaquette dynamiquement le flux selon le format défini par cet endpoint.
MediaPackage diffuse le flux empaqueté à l'appareil demandeur.
Entrées et sorties prises en charge
Types d'entrée pris en charge
| Type d'entrée | Description |
|---|---|
| HLS | HLS traditionnel avec segments MPEG-2 Transport Stream (.ts) |
| HLS_CMAF | HLS avec Common Media Application Format (CMAF) utilisant des segments MP4 fragmentés (fMP4) |
Les flux HLS chiffrés ne sont pas pris en charge pour l'ingestion.
Types de sortie pris en charge
| Type de sortie | Description | Extension du manifeste |
|---|---|---|
| HLS | Liste de lecture HLS standard avec segments MPEG-2 TS (.ts) | .m3u8 |
| HLS_CMAF | Liste de lecture HLS référençant des segments CMAF fMP4 | .m3u8 |
| DASH | Manifeste MPEG-DASH | .mpd |
Facturation
Le Live packaging facture l'ingestion des flux, l'empaquetage et la diffusion des sorties. Pour plus de détails, consultez la rubrique Facturation du Live packaging.
L'archivage du contenu en direct vers OSS via Live-to-VOD entraîne des frais de stockage OSS. Consultez la rubrique Frais de stockage d'OSS.
Créer un channel group
Connectez-vous à la console Intelligent Media Services.
Dans le coin supérieur gauche, sélectionnez une région.
Dans le volet de navigation de gauche, choisissez MediaPackage > Live Package.
Cliquez sur Create Channel Group.
-
Saisissez un nom unique et une description facultative pour le channel group.

Cliquez sur OK.
Les channel groups et les canaux dans Live Package sont distincts de la fonctionnalité Channel Assembly.
Créer un canal
Un canal reçoit un flux en direct depuis un encodeur amont. Chaque canal fournit deux URL d'entrée pour la redondance : si l'une des entrées cesse d'envoyer du contenu, MediaPackage bascule automatiquement vers l'autre.
Sur la page Live Package, cliquez sur le nom du channel group.
Cliquez sur Create Channel.
-
Configurez les paramètres suivants :
Paramètre Description Channel Name Nom unique du canal. Protocol Protocole d'entrée. Valeurs valides : HLS, HLS_CMAF. Segment Duration Durée de chaque segment en secondes. Des segments plus longs augmentent la latence ; des segments plus courts augmentent la surcharge des requêtes. Valeur recommandée : 6 secondes. Segments Nombre de segments dans le manifeste de sortie. Un nombre plus élevé étend la timeline du lecteur et augmente le trafic. Valeur recommandée : 3. 
Cliquez sur OK.
Créer un endpoint
Un endpoint définit le format de sortie et les contrôles d'accès d'un canal. Chaque endpoint génère une URL de lecture unique.
Cliquez sur le nom du canal pour ouvrir la page des détails du canal.
Cliquez sur l'onglet Endpoints, puis cliquez sur Create Endpoint.
-
Configurez les informations de base :
Paramètre Description Endpoint Name Nom unique de l'endpoint. Protocol Format de sortie. Valeurs valides : HLS, HLS_CMAF, DASH. Manifest Name Nom du fichier du manifeste. Par défaut : manifest. Par exemple, définir cette valeur surindexavec le protocole HLS produit une URL de lecture se terminant parindex.m3u8.Authorization Code Code d'autorisation que les lecteurs ou les CDN doivent inclure dans l'en-tête HTTP Authorizationlors de la demande de contenu depuis cet endpoint.IP Address Whitelist Adresses IPv4/IPv6 ou blocs CIDR autorisés à accéder à cet endpoint. IP Address Blacklist Adresses IPv4/IPv6 ou blocs CIDR dont l'accès à cet endpoint est refusé. Time-shifted Days Nombre de jours de conservation du contenu en direct pour la visualisation décalée dans le temps. Définissez cette valeur sur 0 pour désactiver le décalage temporel. Ce paramètre est une condition préalable à la création de tâches de collecte Live-to-VOD. Pour plus de détails sur la lecture décalée dans le temps, consultez la section Visualisation décalée dans le temps. 
-
Configurez les Segment Settings en fonction du protocole sélectionné :
HLS

Paramètre
Description
Segment Duration
Durée de chaque segment de sortie en secondes. Valeurs valides : 1 à 30.
Audio Separation
Lorsque cette option est activée, les pistes audio sont empaquetées dans des segments séparés de la vidéo.
HLS_CMAF & DASH

Paramètre
Description
Segment Duration
Durée de chaque segment de sortie en secondes. Valeurs valides : 1 à 30.
DRM Encryption
Active le chiffrement DRM. Disponible uniquement pour les protocoles HLS_CMAF et DASH.
Encryption Method
Méthode de chiffrement. Par défaut :
SAMPLE_AES.Constant Initialization Vector
Valeur hexadécimale de 16 octets (chaîne de 32 caractères). Si ce champ est laissé vide, MediaPackage en génère une automatiquement.
DRM System ID
Systèmes DRM à utiliser. Sélectionnez jusqu'à 3 systèmes pour HLS_CMAF ou jusqu'à 2 pour DASH.
Systèmes pris en charge :
-
HLS_CMAF : Apple FairPlay, Google Widevine, Microsoft PlayReady.
-
DASH : Google Widevine, Microsoft PlayReady.
DRM Provider URL
URL du proxy pour la communication avec le serveur de clés. Longueur maximale : 512 caractères.
Content ID
Identifiant unique de l'endpoint. Si ce champ est laissé vide, MediaPackage en génère un automatiquement.
-
-
Configurez les paramètres du manifeste :
HLS & HLS_CMAF

Paramètre
Description
Segments
Nombre de segments dans la liste de lecture M3U8 de sortie. Valeurs valides : 2 à 100.
Program Date/Time Interval
Intervalle en secondes pour l'insertion des balises
EXT-X-PROGRAM-DATE-TIME. Par défaut, aucune balise n'est insérée.Stream Order
Ordre des flux dans le manifeste. Valeurs valides :
-
Original : Trie les flux de sortie dans le même ordre que celui utilisé par la source.
-
Ascending by Bitrate : Trie les flux de sortie en commençant par le débit le plus faible.
-
Descending by Bitrate : Trie les flux de sortie en commençant par le débit le plus élevé.
Min Video Bitrate
Exclut du manifeste de sortie les flux dont le débit est inférieur à cette valeur.
Max Video Bitrate
Exclut du manifeste de sortie les flux dont le débit est supérieur à cette valeur.
DASH

Paramètre
Description
Min Buffer Time
Temps de tampon minimal en secondes que le lecteur doit maintenir. Par défaut : 2 x durée du segment. Valeurs valides : 1 à 30.
Min Update Period
Intervalle minimal en secondes avant que le lecteur ne demande des mises à jour du manifeste. Par défaut : 2 x durée du segment. Valeurs valides : 1 à 3600.
Suggested Presentation Delay
Délai en secondes entre le point en direct et le début de la lecture. Par exemple, un délai de 35 secondes signifie que les requêtes effectuées à 17 h 30 reçoivent le contenu de 17 h 29 min 25 s.
Manifest Window
Durée en secondes du contenu disponible pour la relecture pendant la diffusion en direct. Valeurs valides : 1 à 3600.
Stream Order
Ordre des flux dans le manifeste. Valeurs valides :
-
Original : Trie les flux de sortie dans le même ordre que celui utilisé par la source.
-
Ascending by Bitrate : Trie les flux de sortie en commençant par le débit le plus faible.
-
Descending by Bitrate : Trie les flux de sortie en commençant par le débit le plus élevé.
Min Video Bitrate
Exclut du manifeste de sortie les flux dont le débit est inférieur à cette valeur.
Max Video Bitrate
Exclut du manifeste de sortie les flux dont le débit est supérieur à cette valeur.
-
Cliquez sur OK.
Une fois l'endpoint créé, l'URL de lecture apparaît dans la colonne URL de l'onglet Endpoints.

Ingestion de flux
Après avoir créé un canal, deux URL d'entrée sont générées pour une ingestion redondante.
Afficher les URL d'entrée
Accédez à la page des détails du canal.
-
Cliquez sur l'onglet Input. Exemple d'URL :
Entrée Description ingest1 URL d'entrée principale. ingest2 URL d'entrée de secours. MediaPackage bascule automatiquement vers cette URL si l'entrée principale devient indisponible. http://xxxxxx-1.packagepush-9eji12.ap-southeast-1.ice.aliyundoc.com/v1/dfjtest/1/test01/manifest Cliquez sur Authentication dans la colonne Actions pour afficher le nom du compte et le mot de passe pour l'authentification de base.
Configurer votre encodeur
Définissez la destination de Output de votre encodeur sur l'URL d'entrée principale. Pour une configuration redondante, configurez une sortie secondaire vers l'URL d'entrée de secours.
-
Activez l'authentification de base avec les identifiants fournis. L'encodeur doit inclure l'en-tête HTTP suivant dans toutes les requêtes :
Authorization: Basic <BASE64_ENCODE(username:password)> -
Utilisez HTTP PUT pour télécharger les listes de lecture M3U8 et les segments TS. Chaque URL de fichier doit partager le même chemin de base que l'URL d'entrée :
PUT https://<input-url>/manifest.m3u8 PUT https://<input-url>/manifest-hd-1001.ts
Prérequis :
Téléchargez des listes de lecture maîtres valides, des listes de lecture multimédia et des segments TS.
Les flux HLS chiffrés ne sont pas pris en charge.
Pour une ingestion redondante, le flux principal et le flux de secours doivent transporter un contenu identique avec des horodatages alignés. Des flux non alignés peuvent provoquer des échecs de lecture lors du basculement.
Vous pouvez également utiliser MediaLive pour ingérer des flux.
Lecture de flux
Utilisez l'URL de lecture de l'endpoint pour lire le flux empaqueté.

Pour le débogage :
Ajoutez votre adresse IP à la liste d'autorisation d'adresses IP de l'endpoint, ou
Incluez le code d'autorisation de l'endpoint dans l'en-tête
Authorization
Pour la production :
Configurez votre CDN pour inclure l'en-tête Authorization dans les requêtes vers l'origine. Si vous utilisez Alibaba Cloud CDN, consultez la rubrique Configurer les en-têtes de requête sortants.
Visualisation décalée dans le temps
Lorsque la visualisation décalée dans le temps est activée sur un endpoint, MediaPackage conserve le contenu en direct pendant le nombre de jours spécifié. Les lecteurs peuvent revoir le contenu passé en ajoutant des paramètres de temps à l'URL de lecture.
Exemple :
https://xxxxx-1.packagepush-9eji12.ap-southeast-1.ice.aliyundoc.com/v1/group01/ch01/endpoint01/index.m3u8?start=2024-11-06T00:00:00Z&vodend=2024-11-06T02:00:00Z
Cet exemple permet de revoir le contenu en direct du 2024-11-06T00:00:00Z au 2024-11-06T02:00:00Z. Une requête de visualisation décalée dans le temps correspond à l'URL du manifeste M3U8 ordinaire de l'endpoint, à laquelle sont ajoutés deux paramètres de requête : start définit l'heure de début du décalage temporel et vodend définit l'heure de fin du décalage temporel.
Paramètres de temps
| Paramètre | Description |
|---|---|
start |
Heure de début en UTC. Exemple : 2024-11-06T00:00:00Z. |
end |
Heure de fin en UTC pour le mode en direct. Exemple : 2024-11-06T00:00:00Z. La lecture décalée dans le temps reste en mode en direct jusqu'à ce qu'elle atteigne l'heure de fin spécifiée. |
vodend |
Heure de fin en UTC pour le mode VOD. Tous les segments sont renvoyés en une seule fois avec une balise ENDLIST , offrant au lecteur une timeline complète avec des capacités de recherche intégrale. |
offset |
Rembobine depuis le point en direct selon le décalage spécifié. Unité : Sec. Exemple : ?offset=300 démarre la lecture avec 5 minutes de retard par rapport au direct. |
Notes d'utilisation
Spécifiez soit
startsoitoffset, mais pas les deux.Si
endetvodendsont tous deux spécifiés,vodendest prioritaire.
Live-to-VOD
MediaPackage peut archiver les segments d'un flux en direct vers OSS pour une lecture à la demande en utilisant des tâches de collecte.
Prérequis
Avant de commencer, assurez-vous que :
Un bucket OSS se trouve dans la même région que le channel group. Si vous n'en avez pas, consultez les rubriques Activer OSS et Créer un bucket
La visualisation décalée dans le temps est activée sur l'endpoint cible (Time-shifted Days > 0)
Créer une tâche de collecte
Sur la page des détails du canal, cliquez sur l'onglet Collection Task.
Cliquez sur Create Collection Task.
-
Configurez les paramètres suivants :
Paramètre Description Endpoint Sélectionnez un endpoint avec la visualisation décalée dans le temps activée (Time-shifted Days > 0). Collection Time Plage de temps du contenu à collecter. Storage Path Bucket OSS où les fichiers collectés sont stockés. 
Cliquez sur OK.
La tâche démarre automatiquement. Affichez les fichiers collectés dans la console OSS.
Plusieurs tâches de collecte pour le même endpoint génèrent des fichiers de sortie distincts.
FAQ
Comment ingérer des flux en direct dans MediaPackage ?
Utilisez un encodeur prenant en charge la sortie HLS et poussez le flux vers les URL d'entrée du canal avec les identifiants d'authentification de base. Nous recommandons MediaLive.
Comment lire un flux empaqueté ?
Utilisez l'URL de lecture générée pour l'endpoint.
Pour le débogage, ajoutez votre adresse IP à la liste d'autorisation d'adresses IP de l'endpoint, ou définissez l'en-tête de requête Authorization dans votre lecteur sur le code d'autorisation configuré sur l'endpoint.
Pour permettre aux spectateurs externes de lire le flux, configurez l'accélération d'origine sur votre CDN. Le CDN doit envoyer l'en-tête de requête Authorization contenant le code d'autorisation de l'endpoint. Contactez votre fournisseur CDN pour connaître les étapes de configuration.
Ma tâche de collecte est terminée, mais aucun fichier de sortie n'a été généré. Que s'est-il passé ?
La visualisation décalée dans le temps doit être activée sur l'endpoint. Ouvrez les paramètres de l'endpoint et définissez Time-shifted Days sur une valeur supérieure à 0.
Quelle est la différence entre la création de tâches de collecte depuis Live Package et depuis le module Live-to-VOD ?
Les deux méthodes produisent le même résultat. Live Package gère les tâches de collecte par canal, tandis que Live-to-VOD offre une vue centralisée de toutes les tâches sur l'ensemble des canaux.