Créez un LiveChannel pour téléverser des données audio et vidéo via le protocole RTMP. La réponse renvoie l'URL d'ingestion RTMP ainsi que l'URL de lecture correspondante.
Utilisez les URL renvoyées pour ingérer et lire les flux. Vous pouvez également utiliser le nom du LiveChannel pour interroger l'état de l'ingestion de flux, consulter les enregistrements d'ingestion et désactiver l'ingestion de flux.
Permissions
Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM ou les rôles RAM associés à un compte Alibaba Cloud ne disposent d'aucune autorisation par défaut. Le compte Alibaba Cloud ou l'administrateur du compte doit accorder les autorisations d'opération via les politiques RAM ou la politique de bucket.
|
API |
Action |
Description |
|
PutLiveChannel |
oss:PutLiveChannel |
Créez un LiveChannel avant de téléverser des données audio et vidéo à l'aide du protocole Real-Time Messaging Protocol (RTMP). |
Syntaxe de la requête
PUT /ChannelName?live HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT date
Content-Length: Size
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<LiveChannelConfiguration>
<Description>ChannelDescription</Description>
<Status>ChannelStatus</Status>
<Target>
<Type>HLS</Type>
<FragDuration>FragDuration</FragDuration>
<FragCount>FragCount</FragCount>
<PlaylistName>PlaylistName</PlaylistName>
</Target>
<Snapshot>
<RoleName>Snapshot ram role</RoleName>
<DestBucket>Snapshot dest bucket</DestBucket>
<NotifyTopic>Notify topic of MNS</NotifyTopic>
<Interval>Snapshot interval in second</Interval>
</Snapshot>
</LiveChannelConfiguration>
En-têtes de requête
|
Header |
Type |
Required |
Description |
|
ChannelName |
String |
Yes |
Nom du LiveChannel à créer. Il doit respecter les conventions de dénomination des objets et ne pas contenir de barres obliques (/). |
Paramètres de requête
|
Parameter |
Type |
Required |
Description |
|
LiveChannelConfiguration |
Container |
Yes |
Conteneur pour les configurations du LiveChannel. Nœuds enfants : Description, Status et Target Nœuds parents : aucun |
|
Description |
String |
No |
Description du LiveChannel. Longueur maximale : 128 octets. Nœuds enfants : aucun Nœuds parents : LiveChannelConfiguration |
|
Status |
Enumerated string |
No |
État du LiveChannel. Nœuds enfants : aucun Nœuds parents : LiveChannelConfiguration Valeurs valides : enabled et disabled Valeur par défaut : enabled |
|
Target |
Container |
Yes |
Conteneur pour les configurations utilisées par le LiveChannel afin de stocker les données téléversées. Nœuds enfants : Type, FragDuration, FragCount et PlaylistName Nœuds parents : LiveChannelConfiguration |
|
Type |
Enumerated string |
Yes |
Format de stockage des données téléversées. Nœuds enfants : aucun Nœuds parents : Target Valeur valide : HLS Remarque
|
|
FragDuration |
String |
No |
Durée de chaque fichier ts lorsque Type est défini sur HLS. Unité : secondes Nœuds enfants : aucun Nœuds parents : Target Valeurs valides : [1, 100] Valeur par défaut : 5 Remarque
Si ni FragDuration ni FragCount n'est spécifié, les valeurs par défaut s'appliquent. Vous devez spécifier les deux paramètres simultanément. |
|
FragCount |
String |
No |
Nombre de fichiers ts dans le fichier m3u8 lorsque Type est défini sur HLS. Nœuds enfants : aucun Nœuds parents : Target Valeurs valides : [1, 100] Valeur par défaut : 3 Remarque
Si ni FragDuration ni FragCount n'est spécifié, les valeurs par défaut s'appliquent. Vous devez spécifier les deux paramètres simultanément. |
|
PlaylistName |
String |
No |
Nom du fichier m3u8 généré lorsque Type est défini sur HLS. La longueur doit être comprise entre 6 et 128 octets et se terminer par .m3u8. Nœuds enfants : aucun Nœuds parents : Target Valeur par défaut : playlist.m3u8 |
|
Snapshot |
Container |
No |
Conteneur pour les options de capture d'instantanés à haute fréquence. Nœuds enfants : RoleName, DestBucket, NotifyTopic et Interval Nœuds parents : LiveChannelConfiguration |
|
RoleName |
String |
No |
Rôle RAM pour les opérations de capture d'instantanés à haute fréquence. Le rôle doit disposer d'autorisations d'écriture sur DestBucket et d'autorisations pour envoyer des messages à NotifyTopic. Nœuds enfants : aucun Nœuds parents : Snapshot |
|
DestBucket |
String |
No |
Bucket de stockage des résultats de capture d'instantanés à haute fréquence. Il doit appartenir au même propriétaire que le bucket actuel. Nœuds enfants : aucun Nœuds parents : Snapshot |
|
NotifyTopic |
String |
No |
Rubrique MNS pour notifier les utilisateurs des résultats de capture d'instantanés à haute fréquence. Nœuds enfants : aucun Nœuds parents : Snapshot |
|
Interval |
NUMERIC |
Yes |
Intervalle pour les captures d'instantanés à haute fréquence. Si aucune image clé (telle qu'une image I) n'existe dans l'intervalle, aucune capture n'est effectuée. Unité : secondes Nœuds enfants : aucun Nœuds parents : Snapshot Valeurs valides : [1, 100] Par défaut, ce paramètre est laissé vide. |
Paramètres de réponse
|
Parameter |
Type |
Description |
|
CreateLiveChannelResult |
Container |
Conteneur pour la réponse CreateLiveChannel. Nœuds enfants : PublishUrls et PlayUrls Nœuds parents : aucun |
|
PublishUrls |
Container |
Conteneur pour l'URL d'ingestion de flux. Nœuds enfants : Url Nœuds parents : CreateLiveChannelResult |
|
Url |
String |
URL d'ingestion de flux. Nœuds enfants : aucun Nœuds parents : PublishUrls Remarque
|
|
PlayUrls |
Container |
Conteneur pour l'URL de lecture de flux. Nœuds enfants : Url Nœuds parents : CreateLiveChannelResult |
|
Url |
String |
URL de lecture de flux. Nœuds enfants : aucun Nœuds parents : PlayUrls |
Exemples
Exemple de requête
PUT /test-channel?live HTTP/1.1
Date: Wed, 24 Aug 2016 11:11:28 GMT
Content-Length: 333
Host: test-bucket.oss-cn-hangzhou.aliyuncs.com
Authorization: OOSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<LiveChannelConfiguration>
<Description/>
<Status>enabled</Status>
<Target>
<Type>HLS</Type>
<FragDuration>2</FragDuration>
<FragCount>3</FragCount>
</Target>
<Snapshot>
<RoleName>role_for_snapshot</RoleName>
<DestBucket>snapshotdest</DestBucket>
<NotifyTopic>snapshotnotify</NotifyTopic>
<Interval>1</Interval>
</Snapshot>
</LiveChannelConfiguration>
Exemple de réponse
HTTP/1.1 200
content-length: 259
server: AliyunOSS
x-oss-server-time: 4
connection: close
x-oss-request-id: 57BD8419B92475920B0002F1
date: Wed, 24 Aug 2016 11:11:28 GMT
x-oss-bucket-storage-type: standard
content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<CreateLiveChannelResult>
<PublishUrls>
<Url>rtmp://test-bucket.oss-cn-hangzhou.aliyuncs.com/live/test-channel</Url>
</PublishUrls>
<PlayUrls>
<Url>http://test-bucket.oss-cn-hangzhou.aliyuncs.com/test-channel/playlist.m3u8</Url>
</PlayUrls>
</CreateLiveChannelResult>