Todos os produtos
Search
Central de documentação

Object Storage Service:Perguntas frequentes

Última atualização: Jul 03, 2026

Este tópico apresenta respostas para perguntas frequentes sobre o LiveChannel.

Processo de ingestão de stream

O diagrama a seguir ilustra o processo de ingestão de stream do LiveChannel. Compreender esse fluxo auxilia na solução de problemas.

Para obter mais informações, consulte PutLiveChannel e PutLiveChannelStatus.

O que fazer se o objeto M3U8 gerado não contiver todos os dados ingeridos no LiveChannel?

Causa: De acordo com as regras padrão do protocolo HTTP Live Streaming (HLS), o objeto M3U8 gerado contém apenas os três últimos objetos TS.

Solução: Chame a operação PostVodPlaylist para consolidar os objetos TS gerados dentro do intervalo de tempo especificado em um único objeto M3U8.

  • O parâmetro EndTime deve ser posterior ao StartTime, e o intervalo de tempo não pode exceder um dia.

  • O OSS consulta todos os arquivos ts gerados pela ingestão de stream do LiveChannel especificado dentro do intervalo de tempo definido e os reúne em uma playlist.

O que fazer se a geração do objeto M3U8 falhar?

Causa: Os dados da stream não foram totalmente ingeridos no Object Storage Service (OSS).

Solução: Capture pacotes no cliente para verificar se a mensagem "publish success" foi retornada. Essa resposta indica que os dados da stream foram completamente carregados no OSS. Caso a mensagem apareça, mas o objeto M3U8 não seja gerado, analise os pacotes enviados pelo cliente para identificar a causa raiz.

O que fazer se o cliente não conseguir ingerir uma stream no OSS?

Por exemplo, suponha que a ingestão de stream falhe ao usar o FFmpeg com o seguinte comando:

ffmpeg -re -i 0_20180525105430445.aac -acodec aac -strict -2 -f flv rtmp://xxx.oss-cn-beijing.aliyuncs.com/live/test_1000?Expires=1540458859&OSSAccessKeyId=LTAlujianb****&Signature=qwh31xQsanmao6ygCFJgo****%3D&playlistName=playlist.m3u8

Solução:

  • Se a ingestão via FFmpeg não funcionar, teste um comando básico sem parâmetros complexos.

  • Quando a URL de ingestão contiver um e comercial (&), coloque toda a URL entre aspas duplas (""). Exemplo: ffmpeg -re -i 0_20180525105430445.aac -acodec aac -strict -2 -f flv "rtmp://xxx.oss-cn-beijing.aliyuncs.com/live/test_1000?Expires=1540458859&OSSAccessKeyId=LTAlujianb****&Signature=qwh31xQsanmao6ygCFJgo****%3D&playlistName=playlist.m3u8".

  • Tente realizar a ingestão com o OBS Studio para confirmar se o problema é específico do FFmpeg.

Para reduzir a alta latência após o início da ingestão, ajuste os parâmetros FragDuration e FragCount da operação PutLiveChannel.

O que fazer se ocorrer travamento durante a reprodução do objeto M3U8 gerado?

No formato de armazenamento HLS, assim que a duração dos dados de áudio e vídeo gravados no arquivo .ts atual atinge o valor definido por FragDuration, o OSS passa para o próximo arquivo .ts ao receber o próximo key frame. Se nenhum key frame chegar dentro de max(2*FragDuration, 60s), o OSS força a troca de arquivo, o que pode causar interrupções na reprodução.

O que fazer se o objeto M3U8 gerado não incluir dados de áudio ou vídeo?

Causa:

  • O cabeçalho AVC header ou AAC header está ausente. Capture pacotes para verifique essa condição.

  • O tamanho da RTMP message é menor que 2 ou o sequence header é muito pequeno.

  • O tamanho da Message de áudio excede a capacidade do buffer.

  • O parâmetro codec_ ctx contém o contexto de decodificação. Dados de áudio ou vídeo anormais nesse contexto podem causar falha na gravação.

O que fazer se o vídeo carregado no OSS via FFmpeg não contiver dados de áudio?

Solução:

  • Analise os logs do FFmpeg para confirme se o cliente enviou o aac_header.

  • Capture pacotes RTMP no cliente para verifique se o aac_header foi transmitido.

Os logs do FFmpeg mostram que a stream de áudio está codificada como aac (LC) com identificador 0x000A, o que confirma o envio do aac_header pelo cliente:

Stream #0:0, 0, 1/1000
: Video: h264 (High), 1 reference frame ([7][0][0][0] / 0x0007), yuv420p(progressive, left), 544x...
  18 fps, 18 tbr, 1k tbn,
  1k tbc
    Stream #0:1, 0, 1/1000: Audio: aac (LC) ([10][0][0][0] / 0x000A), 48000 Hz, mono, fltp
Stream mapping:
  (copy)
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
    Last message repeated 2 times