Tous les produits
Search
Centre de documentation

Object Storage Service:PutLiveChannel

Dernière mise à jour :Aug 18, 2026

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.

Remarque

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
  • Lorsque Type est défini sur HLS, OSS met à jour le fichier m3u8 chaque fois qu'un fichier ts est généré. Le fichier m3u8 contient au maximum le nombre de derniers fichiers ts spécifié par FragCount.

  • Lorsque Type est défini sur HLS et que le fichier ts actuel dépasse la valeur FragDuration, OSS bascule vers le fichier ts suivant avant l'arrivée de la prochaine image clé. Si aucune image clé n'arrive après max(2*FragDuration, 60s), OSS force le basculement vers le fichier ts suivant, ce qui peut provoquer des saccades lors de la lecture.

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
  • L'URL d'ingestion n'est pas signée. Si l'ACL du bucket n'est pas en lecture/écriture publique, vous devez signer l'URL avant utilisation.

  • L'URL de lecture n'est pas signée. Si l'ACL du bucket est privée, vous devez signer l'URL avant utilisation.

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>