O Live packaging converte streams ao vivo no formato de reprodução solicitado em tempo real. Isso elimina a necessidade de pré-empacotar o conteúdo em todos os formatos antecipadamente.
Com o Live packaging, você pode:
Entregar conteúdo ao vivo nos formatos HLS, HLS CMAF ou DASH a partir de uma única ingestão
Ative a visualização com time-shift para permitir que os espectadores reproduzam novamente o conteúdo ao vivo
Arquivar streams ao vivo no Object Storage Service (OSS) para reprodução sob demanda
Como funciona
O MediaPackage organiza os recursos de Live packaging em três níveis:
Channel group: contêiner de nível superior para canais e endpoints. Cada channel group recebe um Origin Domain Name que serve como URL base para todas as solicitações de reprodução dentro do grupo.
Channel: ponto de entrada para uma stream ao vivo. Um codificador upstream envia conteúdo para as URLs de entrada de um canal. Cada canal fornece duas URLs de entrada para ingestão redundante. Se uma entrada parar de enviar conteúdo, o MediaPackage alternará automaticamente para a outra e garantirá a entrega contínua.
Endpoint: configuração de saída para um canal. Cada endpoint define o formato de streaming, os parâmetros de empacotamento e os controles de acesso para a stream de saída. Um único canal pode ter vários endpoints, e cada um produz uma URL de reprodução exclusiva.
O conteúdo flui por esses recursos da seguinte forma:
Um codificador upstream envia uma stream ao vivo para as URLs de entrada de um canal.
Um dispositivo downstream (player ou CDN) solicita conteúdo de uma URL de reprodução de um endpoint.
O MediaPackage empacota dinamicamente a stream no formato definido por esse endpoint.
O MediaPackage entrega a stream empacotada ao dispositivo solicitante.
Entradas e saídas compatíveis
Tipos de entrada compatíveis
|
Tipo de entrada |
Descrição |
|
HLS |
HLS tradicional com segmentos MPEG-2 Transport Stream (.ts) |
|
HLS_CMAF |
HLS com Common Media Application Format (CMAF) usando segmentos fragmented MP4 (fMP4) |
A ingestão não aceita streams HLS criptografadas.
Tipos de saída compatíveis
|
Tipo de saída |
Descrição |
Extensão do manifesto |
|
HLS |
Playlist HLS padrão com segmentos MPEG-2 TS (.ts) |
|
|
HLS_CMAF |
Playlist HLS que referencia segmentos CMAF fMP4 |
|
|
DASH |
Manifesto MPEG-DASH |
|
Faturamento
O Live packaging cobra taxas pela ingestão, empacotamento e entrega da stream. Para mais detalhes, consulte Billing of live packaging.
O arquivamento de conteúdo ao vivo no OSS por meio do Live-to-VOD gera taxas de armazenamento do OSS. Consulte Storage fees of OSS.
Crie um channel group
Faça login no Intelligent Media Services console.
No canto superior esquerdo, selecione uma região.
No painel de navegação à esquerda, escolha MediaPackage > Live Package.
Clique em Create Channel Group.
-
Insira um nome exclusivo e uma descrição opcional para o channel group.

Clique em OK.
Os channel groups e canais em Live Package são separados do recurso Channel Assembly.
Crie um canal
Um canal recebe uma stream ao vivo de um codificador upstream. Cada canal fornece duas URLs de entrada para redundância. Se uma entrada parar de enviar conteúdo, o MediaPackage alternará automaticamente para a outra.
Na página Live Package, clique em o nome do channel group.
Clique em Create Channel.
-
Configure as seguintes definições:
Parâmetro
Descrição
Channel Name
Nome exclusivo para o canal.
Protocol
Protocolo de entrada. Valores válidos: HLS, HLS_CMAF.
Segment Duration
Duração de cada segmento em segundos. Segmentos mais longos aumentam a latência; segmentos mais curtos aumentam a sobrecarga de solicitações. Valor recomendado: 6 segundos.
Segments
Número de segmentos no manifesto de saída. Um número maior estende a linha do tempo do player e aumenta o tráfego. Valor recomendado: 3.

Clique em OK.
Crie um endpoint
Um endpoint define o formato de saída e os controles de acesso para um canal. Cada endpoint gera uma URL de reprodução exclusiva.
Clique em o nome do canal para abrir a página de detalhes do canal.
Clique em a aba Endpoints e, em seguida, clique em Create Endpoint.
-
Configure as informações básicas:
Parâmetro
Descrição
Endpoint Name
Nome exclusivo para o endpoint.
Protocol
Formato de saída. Valores válidos: HLS, HLS_CMAF, DASH.
Manifest Name
Nome do arquivo de manifesto. Padrão:
manifest. Por exemplo, definir este campo comoindexcom o protocolo HLS produz uma URL de reprodução terminada emindex.m3u8.Authorization Code
Código de autorização que players ou CDNs devem incluir no cabeçalho HTTP
Authorizationao solicitar conteúdo deste endpoint.IP Address Whitelist
Endereços IPv4/IPv6 ou blocos CIDR com permissão para acessar este endpoint.
IP Address Blacklist
Endereços IPv4/IPv6 ou blocos CIDR sem permissão para acessar este endpoint.
Time-shifted Days
Número de dias para reter conteúdo ao vivo para visualização com time-shift. Defina como 0 para desativar o time-shift. Esta configuração é pré-requisito para criar tarefas de coleta Live-to-VOD. Para detalhes sobre reprodução com time-shift, consulte Time-shifted viewing.

-
Configure as Segment Settings com base no protocolo selecionado:
HLS

Parâmetro
Descrição
Segment Duration
Duração de cada segmento de saída em segundos. Valores válidos: 1 a 30.
Audio Separation
Quando ativado, as faixas de áudio são empacotadas em segmentos separados do vídeo.
HLS_CMAF & DASH

Parâmetro
Descrição
Segment Duration
Duração de cada segmento de saída em segundos. Valores válidos: 1 a 30.
DRM Encryption
Ativa a criptografia DRM. Disponível apenas para os protocolos HLS_CMAF e DASH.
Encryption Method
Método de criptografia. Padrão:
SAMPLE_AES.Constant Initialization Vector
Valor hexadecimal de 16 bytes (string de 32 caracteres). Se deixado em branco, o MediaPackage gera um automaticamente.
DRM System ID
Sistemas DRM a serem usados. Selecione até 3 para HLS_CMAF ou até 2 para DASH.
Sistemas compatíveis:
-
HLS_CMAF: Apple FairPlay, Google Widevine, Microsoft PlayReady.
-
DASH: Google Widevine, Microsoft PlayReady.
DRM Provider URL
URL do proxy para comunicação com o servidor de chaves. Comprimento máximo: 512 caracteres.
Content ID
Identificador exclusivo para o endpoint. Se deixado em branco, o MediaPackage gera um automaticamente.
-
-
Configure as definições do manifesto:
HLS & HLS_CMAF

Parâmetro
Descrição
Segments
Número de segmentos na playlist M3U8 de saída. Valores válidos: 2 a 100.
Program Date/Time Interval
Intervalo em segundos para inserir tags
EXT-X-PROGRAM-DATE-TIME. Por padrão, nenhuma tag é inserida.Stream Order
Ordem das streams no manifesto. Valores válidos:
-
Original: classifica as streams de saída na mesma ordem usada pela source.
-
Ascending by Bitrate: classifica as streams de saída começando pela menor taxa de bits.
-
Descending by Bitrate: classifica as streams de saída começando pela maior taxa de bits.
Min Video Bitrate
Exclui do manifesto de saída as streams com taxa de bits inferior a este valor.
Max Video Bitrate
Exclui do manifesto de saída as streams com taxa de bits superior a este valor.
DASH

Parâmetro
Descrição
Min Buffer Time
Tempo mínimo de buffer em segundos que um player deve manter. Padrão: 2x a duração do segmento. Valores válidos: 1 a 30.
Min Update Period
Intervalo mínimo em segundos antes que um player solicite atualizações do manifesto. Padrão: 2x a duração do segmento. Valores válidos: 1 a 3600.
Suggested Presentation Delay
Atraso em segundos entre a borda ao vivo e o início da reprodução. Por exemplo, um atraso de 35 segundos significa que solicitações feitas às 17:30 recebem conteúdo das 17:29:25.
Manifest Window
Duração em segundos do conteúdo disponível para reprodução durante o streaming ao vivo. Valores válidos: 1 a 3600.
Stream Order
Ordem das streams no manifesto. Valores válidos:
-
Original: classifica as streams de saída na mesma ordem usada pela source.
-
Ascending by Bitrate: classifica as streams de saída começando pela menor taxa de bits.
-
Descending by Bitrate: classifica as streams de saída começando pela maior taxa de bits.
Min Video Bitrate
Exclui do manifesto de saída as streams com taxa de bits inferior a este valor.
Max Video Bitrate
Exclui do manifesto de saída as streams com taxa de bits superior a este valor.
-
Clique em OK.
Após a criação do endpoint, a URL de reprodução aparece na coluna URL na aba Endpoints.

Ingestão de stream
Após criar um canal, duas URLs de entrada são geradas para ingestão redundante.
Visualize URLs de entrada
Acesse a página de detalhes do canal.
-
Clique em a aba Input. Exemplo de URL:
Entrada
Descrição
ingest1
URL de entrada primária.
ingest2
URL de entrada de backup. O MediaPackage faz failover automaticamente para esta URL se a entrada primária ficar indisponível.
http://xxxxxx-1.packagepush-9eji12.ap-southeast-1.ice.aliyundoc.com/v1/dfjtest/1/test01/manifest Clique em Authentication na coluna Actions para visualizar o nome da conta e a senha para Basic Auth.
Configure seu codificador
Defina o destino de Output do seu codificador como a URL de entrada primária. Para uma configuração redundante, configure uma saída secundária para a URL de entrada de backup.
-
Ative o Basic Auth com as credenciais fornecidas. O codificador deve incluir o seguinte cabeçalho HTTP em todas as solicitações:
Authorization: Basic <BASE64_ENCODE(username:password)> -
Use HTTP PUT para fazer upload de playlists M3U8 e segmentos TS. Cada URL de arquivo deve compartilhar o mesmo caminho base da URL de entrada:
PUT https://<input-url>/manifest.m3u8 PUT https://<input-url>/manifest-hd-1001.ts
Requisitos:
Faça upload de master playlists, media playlists e segmentos TS válidos.
Streams HLS criptografadas não são compatíveis.
Para ingestão redundante, a stream primária e a de backup devem conter conteúdo idêntico com timestamps alinhados. Streams desalinhadas podem causar falhas de reprodução durante o failover.
Você também pode usar MediaLive para ingerir streams.
Reprodução de stream
Use a URL de reprodução do endpoint para reproduzir a stream empacotada.

Para depuração:
Adicione seu endereço IP à IP Address Whitelist do endpoint, ou
Inclua o código de autorização do endpoint no cabeçalho
Authorization
Para produção:
Configure sua CDN para incluir o cabeçalho Authorization nas solicitações de origem. Se você usar o Alibaba Cloud CDN, consulte Configure outgoing request headers.
Visualização com time-shift
Quando o time-shift está ativado em um endpoint, o MediaPackage retém o conteúdo ao vivo pelo número especificado de dias. Os players podem reproduzir conteúdo passado adicionando parâmetros de tempo à URL de reprodução.
Exemplo:
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
Este exemplo reproduz conteúdo ao vivo de 2024-11-06T00:00:00Z a 2024-11-06T02:00:00Z. Uma solicitação com time-shift usa a URL comum do manifesto M3U8 do endpoint mais dois parâmetros de consulta: start define a hora de início do time-shift e vodend define a hora de término do time-shift.
Parâmetros de tempo
|
Parâmetro |
Descrição |
|
|
Hora de início em UTC. Exemplo: |
|
|
Hora de término em UTC para o modo ao vivo. Exemplo: |
|
|
Hora de término em UTC para o modo VOD. Todos os segmentos são retornados de uma vez com uma tag |
|
|
Retrocede a partir da borda ao vivo pelo deslocamento especificado. Unidade: Sec. Exemplo: |
Notas de uso
Especifique
startouoffset, mas não ambos.Se tanto
endquantovodendforem especificados,vodendterá precedência.
Live-to-VOD
O MediaPackage pode arquivar segmentos de uma stream ao vivo no OSS para reprodução sob demanda usando tarefas de coleta.
Pré-requisitos
Antes de começar, certifique-se de ter:
Um bucket do OSS na mesma região do channel group. Se você não tiver um, consulte Activate OSS e Create a bucket
Time-shift ativado no endpoint de destino (Time-shifted Days > 0)
Crie uma tarefa de coleta
Na página de detalhes do canal, clique em a aba Collection Task.
Clique em Create Collection Task.
-
Configure as seguintes definições:
Parâmetro
Descrição
Endpoint
Selecione um endpoint com time-shift ativado (Time-shifted Days > 0).
Collection Time
Intervalo de tempo do conteúdo a ser coletado.
Storage Path
Bucket do OSS onde os arquivos coletados serão armazenados.

Clique em OK.
A tarefa inicia automaticamente. Visualize os arquivos coletados no OSS console.
Várias tarefas de coleta para o mesmo endpoint geram arquivos de saída separados.
FAQ
Como faço para ingerir streams ao vivo no MediaPackage?
Use um codificador que suporte saída HLS e envie para as URLs de entrada do canal com credenciais Basic Auth. Recomendamos MediaLive.
Como faço para reproduzir uma stream empacotada?
Use a URL de reprodução gerada para o endpoint.
Para depuração, adicione seu endereço IP à IP Address Whitelist do endpoint ou defina o cabeçalho de solicitação Authorization no seu player com o código de autorização configurado no endpoint.
Para permitir que espectadores externos reproduzam a stream, configure a aceleração de origem na sua CDN. A CDN deve enviar o cabeçalho de solicitação Authorization contendo o código de autorização do endpoint. Entre em contato com seu provedor de CDN para obter as etapas de configuração.
Minha tarefa de coleta foi concluída, mas não há arquivos de saída. O que deu errado?
O time-shift deve estar ativado no endpoint. Abra as configurações do endpoint e defina Time-shifted Days com um valor maior que 0.
Qual é a diferença entre criar tarefas de coleta no Live Package e no módulo Live-to-VOD?
Ambos produzem o mesmo resultado. O Live Package gerencia tarefas de coleta por canal, enquanto o Live-to-VOD fornece uma visualização centralizada de todas as tarefas em todos os canais.