A transcodificação durante o streaming é um recurso de transcodificação em tempo real para reprodução de vídeo online. Ele inicia a reprodução imediatamente após o upload e transcodifica apenas os segmentos assistidos.
Visão geral
Diferentemente do ApsaraVideo Media Processing, que exige a conclusão da transcodificação completa do vídeo após o upload antes do início da reprodução, a transcodificação durante o streaming começa assim que o upload do vídeo source termina. O sistema transcodifica apenas os segmentos necessários para a reprodução. Essa abordagem oferece:
Transcodificação durante a reprodução — sem espera.
Transcodificação otimizada com tempos de início e busca inferiores a um segundo — experiência de reprodução quase local.
Transcodificação somente mediante reprodução. Mesmo se os arquivos transcodificados forem excluídos, o sistema os regenera sob demanda — redução significativa nos custos de transcodificação e armazenamento.
Suporte a dezenas de parâmetros de transcodificação — configurações altamente personalizáveis.
Alta compatibilidade — mais de 300 formatos de áudio e vídeo suportados.
A transcodificação durante o streaming não suporta reprodução anônima.
Fluxo de trabalho
Faça upload do arquivo de vídeo para o Object Storage Service (OSS).
Use a API GenerateVideoPlaylist para gerar rapidamente um arquivo de playlist de mídia. Assine a playlist com os recursos de assinatura do OSS para obter uma URL assinada.
O player busca a playlist assinada e inicia a reprodução. O recurso de transcodificação durante o streaming é acionado automaticamente nesse processo.
Cenários
Armazenamento em nuvem: usuários fazem upload de vídeos para drives na nuvem e os clientes selecionam instantaneamente as resoluções adequadas conforme as condições da rede. Isso garante reprodução em tempo real e compatibilidade entre dispositivos. Como a maioria dos vídeos armazenados raramente é acessada ("frios"), a transcodificação durante o streaming evita processar conteúdo não reproduzido, o que reduz drasticamente os custos de transcodificação e armazenamento.
Pré-visualização de vídeos em aplicativos de chat: em mensagens instantâneas ou plataformas sociais, assim que o remetente termina o upload e o servidor recebe o arquivo, o destinatário pode iniciar a reprodução imediatamente, melhorando a comunicação em tempo real. Arquivos transcodificados de mensagens antigas não visualizadas podem ser limpos periodicamente para reduzir custos de armazenamento, mantendo a reprodução instantânea ao serem acessados novamente.
Fóruns online e blogs: após o upload de vídeos source para compartilhamento, outros usuários podem reproduzir imediatamente as versões transcodificadas, garantindo reprodução fluida, alta definição e ampla compatibilidade de formatos.
Recursos
A tabela a seguir descreve recursos adicionais.
|
Recurso |
Descrição |
|
Padronização |
|
|
Baixo custo |
|
|
Alta eficiência |
|
Formatos de áudio e vídeo suportados
A transcodificação durante o streaming suporta mais de 300 formatos de áudio e vídeo. A tabela a seguir lista alguns formatos comuns.
|
Formatos de vídeo de entrada |
avi, mov, flv, mkv, webm, mpeg, wmv, rm, vob, ts e todos os outros formatos convencionais |
|
Formatos de áudio de entrada |
mp3, wav, aac, flac, wma e todos os outros formatos convencionais |
|
Formato de contêiner de saída |
ts |
Pré-requisitos
Ative o OSS, crie um bucket e faça upload de arquivos para ele. Para mais detalhes, consulte Início rápido no console.
-
Ative o Intelligent Media Management (IMM) e crie um projeto. Para mais detalhes, consulte Ativar serviço e Criar projeto.
NotaVocê também pode chamar a API CreateProject para criar um projeto.
É possível chamar a API ListProjects para listar todos os projetos em uma região específica.
Conceda ao usuário do Resource Access Management (RAM) as permissões necessárias para operações do IMM.
Antes de usar a transcodificação durante o streaming, vincule um projeto do IMM. Para instruções sobre como vincular via console ou API, consulte Início rápido e Vincular bucket do OSS.
Se a proteção contra hotlink estiver ativada no bucket que contém seus vídeos source ou de saída, certifique-se de que a política de proteção contra hotlink permita Referer vazio.
Se o player precisar de acesso cross-domain ao OSS, ative o CORS (Cross-Origin Resource Sharing) do OSS para o bucket de destino. Consulte Configurações de CORS.
Uso
Exemplo de Media Playlist
Configuração de transcodificação
-
Informações do vídeo source
Formato: AVI
URI source: oss://your-oss-bucket-name/test.avi
-
Vídeo de destino
Duração do segmento: 10 segundos
Duração da pré-transcodificação: 36 segundos
Codec de vídeo: H.264
Resolução: 1280×720
Taxa de quadros: 25 fps
Taxa de bits de vídeo: 2 Mbps
Codec de áudio: AAC
Taxa de bits de áudio: 128 Kbps
Prefixo do caminho de saída: oss://your-oss-bucket-name/output/media
Etapa 1: Gerar playlist
Etapa 2: Assinar a playlist
Etapa 3: Reproduzir o vídeo
Exemplo de Master Playlist
Configuração de transcodificação
-
Vídeo source
Formato: AVI
URI source: oss://your-oss-bucket-name/test.avi
URI da master playlist: oss://your-oss-bucket-name/output/master.m3u8
-
Vídeo de destino 1
Duração do segmento: 10 segundos
Duração da pré-transcodificação: 36 segundos
Codec de vídeo: H.264
Resolução: 1920×1080
Taxa de quadros: 25 fps
Codec de áudio: AAC
Taxa de bits de áudio: 128 Kbps
Prefixo do caminho de saída: oss://your-oss-bucket-name/output/1080p/1080p
-
Vídeo de destino 2
Duração do segmento: 10 segundos
Duração da pré-transcodificação: 36 segundos
Codec de vídeo: H.264
Resolução: 1280×720
Taxa de quadros: 25 fps
Codec de áudio: AAC
Taxa de bits de áudio: 96 Kbps
Prefixo do caminho de saída: oss://your-oss-bucket-name/output/720p/720p
-
Vídeo de destino 3
Duração do segmento: 10 segundos
Duração da pré-transcodificação: 36 segundos
Codec de vídeo: H.264
Resolução: 720×540
Taxa de quadros: 25 fps
Codec de áudio: AAC
Taxa de bits de áudio: 64 Kbps
Prefixo do caminho de saída: oss://your-oss-bucket-name/output/540p/540p
Etapa 1: Gerar playlist
Etapa 2: Assinar a playlist
Etapa 3: Reproduzir o vídeo
Perguntas frequentes
Preciso de um player personalizado?
Não. A transcodificação durante o streaming suporta o protocolo HLS padrão. Use qualquer player compatível com HLS (como o Alibaba Cloud Aliplayer ou o navegador Safari).
Quais arquivos de saída são gerados?
O sistema gera um arquivo m3u8 e arquivos TS com base no prefixo de caminho de entrada especificado. O arquivo m3u8 é gerado imediatamente.
Se você definir uma duração de pré-transcodificação, o sistema gera assincronamente os arquivos TS correspondentes. Segmentos não especificados são transcodificados sob demanda durante a reprodução. Se um vídeo nunca for reproduzido, nenhum arquivo TS será gerado para esses segmentos. Por exemplo, se a reprodução começar na marca de 15 minutos, a transcodificação começará a partir desse ponto. A estrutura de diretórios resultante fica assim:
.
├── outobjprefix.m3u8
├── outobjprefix-c280f054328fcde47c1732a8f2915009-0.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-1.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-2.ts
├── outobjprefix-c280f054328fcde47c1732a8f2915009-3.ts
Ainda consigo reproduzir o vídeo se excluir manualmente os arquivos ts gerados?
Sim. Desde que o vídeo source e a playlist m3u8 permaneçam, a exclusão parcial ou total dos arquivos ts não afeta a reprodução. Quando a playlist m3u8 for solicitada novamente, os arquivos ts ausentes serão regenerados. Isso permite limpar arquivos ts de vídeos raramente visualizados para reduzir custos de armazenamento sem impactar reproduções futuras.
Posso usar um arquivo m3u8 que não seja de transcodificação durante o streaming para este recurso?
Não. Não é possível usar arquivos m3u8 gerados fora do processo de transcodificação durante o streaming para ativar este recurso.
Posso usar CDN para acelerar a transcodificação durante o streaming?
Sim. Para mais detalhes, consulte Usar CDN para acelerar a transcodificação durante o streaming.