Este tópico responde às perguntas mais frequentes sobre transcodificação no ApsaraVideo VOD.
Como solucionar uma falha de transcodificação?
-
Verifique se o arquivo source é reproduzível em um dispositivo local. Esta etapa inicial é crítica, pois a maioria das falhas de transcodificação resulta de problemas no próprio arquivo source. Problemas comuns incluem fluxo de vídeo ausente, metadados inválidos, erros de quadro ou cabeçalho de vídeo ausente. Tais problemas podem acionar o monitoramento de eficiência da transcodificação e causar a falha do job.
Execute o comando
ffprobe -show_streams -show_format -of json -i [filePath]para inspecionar os metadados do arquivo em busca de problemas, como átomo moov ausente ou anomalias no fluxo.-
Execute o comando
ffprobe -show_packets -i [filePath]para verificar problemas no fluxo de dados e confirmar se a duração do fluxo corresponde à duração especificada nos metadados.NotaUma discrepância entre a duração especificada nos metadados e a duração real do fluxo pode causar falha na transcodificação. Se um arquivo tiver metadados inválidos, use uma ferramenta como o FFmpeg para corrigi-lo localmente antes de enviá-lo para transcodificação.
Localize o código de erro correspondente na lista de Códigos de erro para identificar o motivo específico da falha.
Para evitar truncamento ou falhas no job, escape quaisquer caracteres especiais usados em marcas d'água de texto.
Se um job de transcodificação com criptografia falhar, consulte Video Encryption FAQ para ver erros comuns relacionados à criptografia padrão HLS.
Problemas de reprodução com o modelo Sem Transcodificação
Esse problema pode ocorrer pelos seguintes motivos:
Motivo 1: O vídeo source está corrompido e não pode ser reproduzido.
-
Motivo 2: Apenas vídeos nos formatos MP4, FLV, M3U8, MP3 e WEBM podem ser reproduzidos diretamente sem transcodificação.
Ao enviar um vídeo para o ApsaraVideo VOD usando o grupo de modelos integrado Sem Transcodificação, um fluxo de vídeo de qualidade original é gerado se o vídeo source estiver no formato MP4, FLV, M3U8, MP3 ou WEBM. Para outros formatos, um fluxo de vídeo original é gerado.
Um fluxo de vídeo original não pode ser visualizado no console do ApsaraVideo VOD, e não é possível obter sua URL de reprodução chamando a API Get audio and video playback URL. Você só pode obter a URL do arquivo source para reprodução chamando a API Get source file information. Em contraste, um fluxo de vídeo de qualidade original pode ser visualizado no console do ApsaraVideo VOD, e você pode obter sua URL de reprodução chamando a API Get audio and video playback URL.
-
Motivo 3: O codec de vídeo é incompatível com o player do navegador.
O contêiner do vídeo source pode estar no formato MP4, mas se o fluxo de vídeo interno for codificado em MPEG-4 Part 2 (mp4v), o player HTML5 do navegador não suportará esse codec. Se você enviar esse vídeo usando o grupo de modelos Sem Transcodificação, ele não poderá ser reproduzido. Os navegadores suportam os codecs H.264 e H.265.
Para verificar o codec, execute o comando
ffprobe -show_streams -i [filePath]e verifique o campocodec_namena saída. Se o valor formpeg4, o vídeo está codificado em MPEG-4 Part 2 e o navegador não consegue reproduzi-lo.-
Para resolver esse problema, use um dos seguintes métodos:
Use o FFmpeg localmente para transcodificar o vídeo para o codec H.264 e reenvie o arquivo para o mesmo local do Object Storage Service (OSS) usando o mesmo nome de arquivo. O ApsaraVideo VOD gera uma nova URL reproduzível com base no arquivo reenviado.
Crie um grupo de modelos de transcodificação que use o codec H.264 no console do ApsaraVideo VOD e utilize-o para transcodificar o vídeo existente. Em seguida, reproduza o fluxo transcodificado.
Múltiplos fluxos de áudio reduzidos a um único fluxo
Atualmente, a transcodificação retém apenas um fluxo de áudio. Esse comportamento é controlado pela configuração audioMap=0 no parâmetro Output. Se o seu caso de uso exigir múltiplos fluxos de áudio, submit a ticket.
A resolução de saída não corresponde às configurações
Nos modelos de transcodificação do ApsaraVideo VOD, o recurso de rotação automática de tela (LongShortMode) vem ativado por padrão. Quando esse recurso está ativado, width corresponde ao lado longo e height corresponde ao lado curto. Defina apenas um desses valores e deixe o outro em branco. Se desejar impor uma resolução de saída específica, desative o recurso de rotação automática de tela. Desativar esse recurso pode fazer com que o vídeo de saída pareça esticado ou distorcido.
Orientação incorreta do vídeo após a transcodificação
Isso geralmente acontece se o vídeo source contiver um sinalizador de metadados de rotação, como rotation=-90, que troca a largura e a altura do vídeo durante a transcodificação. Use uma ferramenta como o FFmpeg para inspecionar o arquivo source em busca de informações de rotação. Para verificar as informações do arquivo, execute o seguinte comando:
ffprobe -show_streams -show_format -of json -i [filepath]
Tela preta em arquivos M3U8 transcodificados
Primeiro, verifique se o fluxo de vídeo no seu arquivo source é válido. Se o primeiro segmento Transport Stream (TS) do arquivo source não contiver dados de vídeo, o player poderá falhar ao exibir o vídeo. Se isso ocorrer, tente transcodificar o arquivo source para MP4 primeiro e, em seguida, transcodifique o arquivo MP4 resultante para M3U8. Isso deve resolver o problema de reprodução.
Problemas de exposição após conversão de HDR para SDR
Se o seu vídeo source estiver em HDR, selecione Mapeamento SDR nas configurações de faixa dinâmica do seu modelo de transcodificação.
O Mapeamento SDR está em preview público. Esse recurso incorrerá em cobranças após o término do preview público. Para obter mais informações, consulte Audio and video enhancement fees. Se o problema persistir, submit a ticket para obter assistência.
Tratamento da caixa moov na transcodificação
Após a transcodificação, o ApsaraVideo VOD coloca a caixa moov no início do arquivo MP4 por padrão. Esse comportamento não pode ser personalizado. Arquivos sem caixa moov não podem ser processados e causam a falha do job de transcodificação.
Discrepância de duração na conversão de vídeo para áudio
Para garantir a consistência da duração, a lógica de transcodificação do ApsaraVideo VOD usa o fluxo de áudio mais curto no arquivo de entrada como base para o tempo. Se os carimbos de data/hora em alguns segmentos do arquivo source não forem contínuos, o service poderá não conseguir recuperar as informações de mídia do fluxo de vídeo. Isso afeta a estimativa de duração e pode levar a uma discrepância.
Erros de reprodução para arquivos somente de áudio
Verifique se o processamento de vídeo está desativado no seu modelo de transcodificação. Para um arquivo somente de áudio, desative o processamento de vídeo nas configurações do modelo.
Na página Add Transcoding Template Group no console do ApsaraVideo Media Processing, defina o tipo de transcodificação como Normal Transcoding e o formato do contêiner como MP4 (.mp4). Nos parâmetros de vídeo, defina o codec como H.264, a resolução como By Long Side and Short Side e os lados longo e curto como um número inteiro par no intervalo de [128, 4096].
Configurações de taxa de bits não aplicadas
Verifique se você ativou o mecanismo de verificação de taxa de bits no seu modelo de transcodificação. No console do ApsaraVideo VOD, encontre esse recurso em um modelo de transcodificação regular sob Parâmetros de Transcodificação Condicional como Verificar taxa de bits de vídeo ou Verificar taxa de bits de áudio. Quando esse mecanismo está ativado, a taxa de bits definida no modelo pode não entrar em vigor sob certas condições. Especificamente, se o codificador de saída for igual ao codificador source e a taxa de bits alvo for maior que a taxa de bits source, o service redefinirá a taxa de bits de saída para corresponder à taxa de bits source ou pulará a transcodificação do fluxo, dependendo da sua configuração.
Quanto tempo leva um job de transcodificação?
Os valores de referência abaixo descrevem a velocidade de processamento em condições típicas de teste após o início do processamento de um job de transcodificação. Esses valores não incluem tempo de fila, não representam o tempo total de conclusão do job e não constituem um acordo de nível de service (SLA).
Para um cenário típico de transcodificação para H.264 720P, as velocidades de processamento para diferentes algoritmos de transcodificação são as seguintes:
|
Algoritmo de transcodificação |
Velocidade de processamento |
Descrição |
|
transcodificação regular |
Velocidade média: aprox. 3x |
Este valor reflete a velocidade de processamento durante a fase de transcodificação em condições típicas. |
|
Narrowband HD™ 1,0 |
Velocidade média: aprox. 1,5x |
O tempo de processamento é tipicamente maior que o da transcodificação regular. |
|
Narrowband HD™ 2,0 |
Geralmente muito inferior à velocidade 1x |
O tempo de processamento costuma ser maior que a duração do vídeo source. O tempo real depende do job específico. |
Multiplicador de velocidade
Speed multiplier = Duration of video processed per unit of processing time
Example:
A 3x speed means that approximately 3 minutes of video content can be processed in 1 minute of processing time.
Therefore, excluding queuing time, a 30-minute video would theoretically take about 10 minutes to process.
Os valores de referência aplicam-se apenas a cenários típicos de transcodificação H.264 720P.
Não use esses valores para estimar o tempo total de conclusão do job.
A velocidade de processamento é tipicamente menor para resoluções mais altas, codificação mais complexa ou parâmetros mais intensivos.
Diferenças na taxa de bits, taxa de quadros, formato de contêiner e estrutura de fluxo do vídeo source podem afetar significativamente o tempo de processamento.
A complexidade de processamento do Narrowband HD™ 2,0 é significativamente maior que a da transcodificação regular e do Narrowband HD™ 1,0.
Consulte a consulta de status do job ou a notificação de conclusão para obter o tempo real de processamento.
Consulta do progresso da transcodificação
O ApsaraVideo VOD não fornece uma API para consultar o progresso em tempo real de um job de transcodificação. Em vez disso, configure event notifications para receber notificações sobre o status do job.
Posso realizar transcodificação em lote?
O ApsaraVideo VOD não suporta diretamente operações de transcodificação em lote para mídias existentes. O sistema transcodifica vídeos automaticamente durante o processo de envio, usando modelos ou fluxos de trabalho de transcodificação. No entanto, se você armazenar suas mídias em seus próprios buckets do Object Storage Service (OSS), poderá realizar a transcodificação em lote integrando-se ao Intelligent Media Management (IMM). Crie um projeto IMM e defina um job de processamento em lote usando critérios como correspondência de prefixo para transcodificar vários vídeos com eficiência. Para obter mais informações, consulte Batch Processing in OSS.
Por que meus jobs de transcodificação continuam falhando?
As falhas de job podem ter várias causas. Sempre verifique a mensagem de erro retornada. Se você receber um erro de falha de pré-processamento, significa que o service não conseguiu decodificar seu arquivo source. Nesse caso, submit a ticket e forneça as seguintes informações para nos ajudar a diagnosticar o problema: seu ID de conta Alibaba Cloud e o ID do vídeo.
O ApsaraVideo VOD suporta transcodificação em tempo real?
O ApsaraVideo VOD é um service de transcodificação baseado em arquivos e não suporta transcodificação em tempo real.
Transcodificação em lote para vídeos existentes
O ApsaraVideo VOD não suporta transcodificação em lote para vídeos já enviados.
A marca d'água não aparece após a transcodificação
Verifique os parâmetros do modelo de marca d'água usado para transcodificação, como dimensões (largura × altura) e deslocamentos. Garanta que essas configurações posicionem a marca d'água dentro dos limites da resolução do vídeo. Se as configurações colocarem a marca d'água fora do quadro de vídeo, ela não ficará visível mesmo que o job de transcodificação seja concluído com êxito.
Na página Edit Watermark Template, os parâmetros de deslocamento correspondem aos campos Horizontal Offset e Vertical Offset. Verifique esses campos juntamente com o Size (Width × Height) e a Position da marca d'água para garantir que ela não ultrapasse o quadro do vídeo.
Se o vídeo source tiver letterboxing (barras pretas), a marca d'água pode ser gravada na área com letterbox. Quando a cor da marca d'água é próxima à cor do letterbox (por exemplo, uma marca d'água preta em um letterbox preto), a marca d'água torna-se invisível devido ao contraste insuficiente. Altere a cor da fonte da marca d'água para uma cor com alto contraste em relação ao letterbox (por exemplo, branco) ou ajuste o deslocamento horizontal (Dx) e o deslocamento vertical (Dy) para mover a marca d'água em direção ao centro do quadro, longe da área com letterbox.
Callbacks ausentes para falhas de transcodificação
Ao configurar notificações de eventos para transcodificação, se você assinar apenas o evento Single Definition Transcoding Complete (StreamTranscodeComplete) e não o evento TranscodeComplete, poderá não receber notificações de falha em certos cenários. Por exemplo, se você enviar um arquivo source corrompido que cause a falha de todos os fluxos de saída, o ApsaraVideo VOD envia um callback de falha para o evento TranscodeComplete. Como você não assinou esse evento, não receberá uma notificação da falha de transcodificação.
Como configuro a transcodificação para vídeos com e sem criptografia DRM?
Não é possível gerar fluxos criptografados e não criptografados a partir do mesmo grupo de modelos de transcodificação. Crie dois grupos de modelos de transcodificação separados e use o grupo apropriado para cada vídeo:
Crie um grupo de modelos de transcodificação para saída criptografada. Ative a criptografia DRM e defina o formato do contêiner como HLS.
Crie um grupo de modelos de transcodificação para saída não criptografada. Não ative a criptografia.
Use um fluxo de trabalho ou especifique IDs de grupos de modelos de transcodificação diferentes ao enviar vídeos. Atribua o grupo com DRM ativado aos vídeos que exigem criptografia e o grupo não criptografado aos vídeos que não exigem.
Atualmente, você só pode acionar a transcodificação com criptografia DRM a partir do console do ApsaraVideo VOD, e apenas usando um fluxo de trabalho. Isso se aplica tanto a vídeos que você está enviando quanto a vídeos já enviados.