Crea un LiveChannel para cargar datos de audio y video mediante RTMP. La respuesta devuelve la URL de ingesta RTMP y la URL de reproducción correspondiente.
Puede utilizar las URL devueltas para ingerir y reproducir flujos. También puede usar el nombre del LiveChannel para consultar el estado de la ingesta del flujo, revisar los registros de ingesta y deshabilitar la ingesta del flujo.
Permisos
De forma predeterminada, una cuenta de Alibaba Cloud tiene permisos completos. Los usuarios de RAM o los roles de RAM bajo una cuenta de Alibaba Cloud no tienen ningún permiso por defecto. La cuenta de Alibaba Cloud o el administrador de la cuenta deben otorgar los permisos de operación a través de RAM policies o Bucket Policy.
|
API |
Action |
Descripción |
|
PutLiveChannel |
oss:PutLiveChannel |
Crea un LiveChannel antes de cargar datos de audio y video mediante Real-Time Messaging Protocol (RTMP). |
Sintaxis de la solicitud
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>
Encabezados de la solicitud
|
Encabezado |
Tipo |
Obligatorio |
Descripción |
|
ChannelName |
String |
Sí |
El nombre del LiveChannel que se va a crear. Debe cumplir con las convenciones de nomenclatura de objetos y no puede contener barras diagonales (/). |
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
|
LiveChannelConfiguration |
Contenedor |
Sí |
El contenedor para las configuraciones de LiveChannel. Nodos secundarios: Description, Status y Target Nodos primarios: ninguno |
|
Description |
String |
No |
La descripción del LiveChannel. Longitud máxima: 128 bytes. Nodos secundarios: ninguno Nodos primarios: LiveChannelConfiguration |
|
Status |
Cadena enumerada |
No |
El estado del LiveChannel. Nodos secundarios: ninguno Nodos primarios: LiveChannelConfiguration Valores válidos: enabled y disabled Valor predeterminado: enabled |
|
Target |
Contenedor |
Sí |
El contenedor para las configuraciones que utiliza el LiveChannel para almacenar los datos cargados. Nodos secundarios: Type, FragDuration, FragCount y PlaylistName Nodos primarios: LiveChannelConfiguration |
|
Type |
Cadena enumerada |
Sí |
El formato de almacenamiento para los datos cargados. Nodos secundarios: ninguno Nodos primarios: Target Valor válido: HLS Nota
|
|
FragDuration |
String |
No |
La duración de cada archivo ts cuando Type se establece en HLS. Unidad: segundos Nodos secundarios: ninguno Nodos primarios: Target Valores válidos: [1, 100] Valor predeterminado: 5 Nota
Si no se especifican ni FragDuration ni FragCount, se aplican los valores predeterminados. Debe especificar ambos parámetros al mismo tiempo. |
|
FragCount |
String |
No |
El número de archivos ts en el archivo m3u8 cuando Type se establece en HLS. Nodos secundarios: ninguno Nodos primarios: Target Valores válidos: [1, 100] Valor predeterminado: 3 Nota
Si no se especifican ni FragDuration ni FragCount, se aplican los valores predeterminados. Debe especificar ambos parámetros al mismo tiempo. |
|
PlaylistName |
String |
No |
El nombre del archivo m3u8 generado cuando Type se establece en HLS. Debe tener entre 6 y 128 bytes de longitud y terminar con .m3u8. Nodos secundarios: ninguno Nodos primarios: Target Valor predeterminado: playlist.m3u8 |
|
Snapshot |
Contenedor |
No |
El contenedor para las opciones de instantáneas de alta frecuencia. Nodos secundarios: RoleName, DestBucket, NotifyTopic e Interval Nodos primarios: LiveChannelConfiguration |
|
RoleName |
String |
No |
El rol de RAM para las operaciones de instantáneas de alta frecuencia. El rol debe tener permisos de escritura en DestBucket y permisos para enviar mensajes a NotifyTopic. Nodos secundarios: ninguno Nodos primarios: Snapshot |
|
DestBucket |
String |
No |
El bucket para almacenar los resultados de las instantáneas de alta frecuencia. Debe pertenecer al mismo propietario que el bucket actual. Nodos secundarios: ninguno Nodos primarios: Snapshot |
|
NotifyTopic |
String |
No |
El tema de MNS para notificar a los usuarios sobre los resultados de las instantáneas de alta frecuencia. Nodos secundarios: ninguno Nodos primarios: Snapshot |
|
Interval |
NUMERIC |
Sí |
El intervalo para las instantáneas de alta frecuencia. Si no existe ningún fotograma clave (como un fotograma I) dentro del intervalo, no se captura ninguna instantánea. Unidad: segundos Nodos secundarios: ninguno Nodos primarios: Snapshot Valores válidos: [1, 100] De forma predeterminada, este parámetro se deja vacío. |
Parámetros de respuesta
|
Parámetro |
Tipo |
Descripción |
|
CreateLiveChannelResult |
Contenedor |
El contenedor para la respuesta de CreateLiveChannel. Nodos secundarios: PublishUrls y PlayUrls Nodos primarios: ninguno |
|
PublishUrls |
Contenedor |
El contenedor para la URL de ingesta del flujo. Nodos secundarios: Url Nodos primarios: CreateLiveChannelResult |
|
Url |
String |
La URL de ingesta del flujo. Nodos secundarios: ninguno Nodos primarios: PublishUrls Nota
|
|
PlayUrls |
Contenedor |
El contenedor para la URL de reproducción del flujo. Nodos secundarios: Url Nodos primarios: CreateLiveChannelResult |
|
Url |
String |
La URL de reproducción del flujo. Nodos secundarios: ninguno Nodos primarios: PlayUrls |
Ejemplos
Solicitud de ejemplo
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>
Respuesta de ejemplo
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>