Todos os produtos
Search
Central de documentação

Object Storage Service:PutLiveChannel

Última atualização: Jul 03, 2026

Crie um LiveChannel para envio de dados de áudio e vídeo via RTMP. A resposta retorna a URL de ingestão RTMP e a URL de reprodução correspondente.

Nota

Use as URLs retornadas para ingerir e reproduzir streams. Você também pode usar o nome do LiveChannel para consultar o status da ingestão, verificar registros de ingestão e desativar a ingestão de streams.

Permissões

Por padrão, uma conta Alibaba Cloud tem permissões completas. Usuários RAM ou funções RAM vinculados a uma conta Alibaba Cloud não têm permissões por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder permissões de operação por meio de políticas do RAM ou Bucket Policy.

API

Action

Descrição

PutLiveChannel

oss:PutLiveChannel

Crie um LiveChannel antes do envio de dados de áudio e vídeo usando o Real-Time Messaging Protocol (RTMP).

Sintaxe da solicitação

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>

Cabeçalhos da solicitação

Cabeçalho

Tipo

Obrigatório

Descrição

ChannelName

String

Sim

Nome do LiveChannel a ser criado. Deve seguir as convenções de nomenclatura de objetos e não pode conter barras (/).

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

LiveChannelConfiguration

Contêiner

Sim

Contêiner das configurações do LiveChannel.

Nós filhos: Description, Status e Target

Nós pais: nenhum

Description

String

Não

Descrição do LiveChannel. Tamanho máximo: 128 bytes.

Nós filhos: nenhum

Nós pais: LiveChannelConfiguration

Status

String enumerada

Não

Status do LiveChannel.

Nós filhos: nenhum

Nós pais: LiveChannelConfiguration

Valores válidos: enabled e disabled

Valor padrão: enabled

Target

Contêiner

Sim

Contêiner das configurações que o LiveChannel usa para armazenar os dados enviados.

Nós filhos: Type, FragDuration, FragCount e PlaylistName

Nós pais: LiveChannelConfiguration

Type

String enumerada

Sim

Formato de armazenamento dos dados enviados.

Nós filhos: nenhum

Nós pais: Target

Valor válido: HLS

Nota
  • Quando Type está definido como HLS, o OSS atualiza o arquivo m3u8 sempre que um arquivo ts é gerado. O arquivo m3u8 contém, no máximo, a quantidade de arquivos ts mais recentes especificada por FragCount.

  • Se Type estiver definido como HLS e o arquivo ts atual exceder o FragDuration, o OSS passa para o próximo arquivo ts antes da chegada do próximo quadro-chave. Caso nenhum quadro-chave chegue após max(2*FragDuration, 60s), o OSS força a transição para o próximo arquivo ts, o que pode causar travamentos na reprodução.

FragDuration

String

Não

Duração de cada arquivo ts quando Type está definido como HLS.

Unidade: segundos

Nós filhos: nenhum

Nós pais: Target

Valores válidos: [1, 100]

Valor padrão: 5

Nota

Se nem FragDuration nem FragCount forem especificados, os valores padrão serão aplicados. Especifique ambos os parâmetros simultaneamente.

FragCount

String

Não

Quantidade de arquivos ts no arquivo m3u8 quando Type está definido como HLS.

Nós filhos: nenhum

Nós pais: Target

Valores válidos: [1, 100]

Valor padrão: 3

Nota

Se nem FragDuration nem FragCount forem especificados, os valores padrão serão aplicados. Especifique ambos os parâmetros simultaneamente.

PlaylistName

String

Não

Nome do arquivo m3u8 gerado quando Type está definido como HLS. Deve ter entre 6 e 128 bytes e terminar com .m3u8.

Nós filhos: nenhum

Nós pais: Target

Valor padrão: playlist.m3u8

Snapshot

Contêiner

Não

Contêiner das opções de snapshot de alta frequência.

Nós filhos: RoleName, DestBucket, NotifyTopic e Interval

Nós pais: LiveChannelConfiguration

RoleName

String

Não

Função RAM para operações de snapshot de alta frequência. A função deve ter permissões de gravação no DestBucket e permissões para enviar mensagens ao NotifyTopic.

Nós filhos: nenhum

Nós pais: Snapshot

DestBucket

String

Não

Bucket para armazenar resultados de snapshots de alta frequência. Deve pertencer ao mesmo proprietário do bucket atual.

Nós filhos: nenhum

Nós pais: Snapshot

NotifyTopic

String

Não

Tópico MNS para notificar usuários sobre resultados de snapshots de alta frequência.

Nós filhos: nenhum

Nós pais: Snapshot

Interval

NUMERIC

Sim

Intervalo para snapshots de alta frequência. Se não houver nenhum quadro-chave (como um I-frame) dentro do intervalo, nenhum snapshot será capturado.

Unidade: segundos

Nós filhos: nenhum

Nós pais: Snapshot

Valores válidos: [1, 100]

Por padrão, este parâmetro fica vazio.

Parâmetros da resposta

Parâmetro

Tipo

Descrição

CreateLiveChannelResult

Contêiner

Contêiner da resposta CreateLiveChannel.

Nós filhos: PublishUrls e PlayUrls

Nós pais: nenhum

PublishUrls

Contêiner

Contêiner da URL de ingestão de stream.

Nós filhos: Url

Nós pais: CreateLiveChannelResult

Url

String

URL de ingestão de stream.

Nós filhos: nenhum

Nós pais: PublishUrls

Nota
  • A URL de ingestão não é assinada. Se a ACL do bucket não for leitura/gravação pública, assine a URL antes de usá-la.

  • A URL de reprodução não é assinada. Se a ACL do bucket for privada, assine a URL antes de usá-la.

PlayUrls

Contêiner

Contêiner da URL de reprodução de stream.

Nós filhos: Url

Nós pais: CreateLiveChannelResult

Url

String

URL de reprodução de stream.

Nós filhos: nenhum

Nós pais: PlayUrls

Exemplos

Exemplo de solicitação

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>

Exemplo de resposta

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>