Poucas horas depois de enviar um vídeo do YouTube codificado em FFmpeg , as poucas pessoas para quem eu o enviei começaram a relatar um problema estranho: que os primeiros 26 minutos do áudio soaram muito distorcidos; alguns descreveram como soando como se estivesse debaixo d'água. Aqui está um exemplo de como soa.
Comecei então a testar com mais pessoas e obtive os seguintes dados de um total de 31 dispositivos móveis.
Áudio normal:
Galaxy S10 (x2)
Galaxy S20 (x3)
Galaxy A50
iPhone XR (x3)
iPhone 7
iPhone 8 (x2)
iPhone 10 Pro
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone 12 (x3)
iPhone 12 Pro
Oppo F11
OnePlus 7T
Pixel 3A XL
OnePlus 7 Pro
Áudio distorcido:
iPhone 6S
Galaxy S7 Edge
Galaxy S8+
Galaxy S10 Lite
Huawei Y6 2019
Huawei P30 Pro
Honor 10 Lite
O áudio para esses primeiros 26 minutos é interrompido para 7 de 31 dispositivos móveis, ou seja, 22%, e isso aumenta para mais de 50% quando apenas telefones Android são incluídos. A maioria dos que perguntei foram baseados em países desenvolvidos, o que significa que os dados também se inclinam para telefones mais novos e modernos, o que significa que esse número pode facilmente estar mais próximo de 80% em países menos desenvolvidos que usam principalmente Androids mais antigos.
Escusado será dizer que este é um grande problema para alguém como eu, que esperava poder fazer upload para o YouTube e deixá-lo lidar com o resto em vez de fazer a depuração de dispositivos do tipo web-dev.
Compilei o vídeo de vários vídeos de origem, codificando e concatenando-os usando o FFmpeg.
Ele usa H264 e OPUS como codecs, mas mais relevante, verificando o vídeo de origem desses primeiros 26 minutos mostra que esse problema se origina nesse vídeo, então agora a pergunta se torna:
a) O que há nesse vídeo de origem específico que está fazendo com que o áudio fique distorcido em uma proporção tão grande de dispositivos móveis?
b) Como posso corrigi-lo usando o FFmpeg?
Não tenho ideia de por que isso foi votado negativamente, mas, independentemente disso, consegui encontrar uma solução para o problema postando exatamente a mesma pergunta no fórum de especialistas em áudio do Doom9. Recebi a seguinte resposta quase imediatamente do usuário lvqcl :
Quando perguntei por que o problema estava limitado a determinados dispositivos móveis, ele respondeu:
Eu então comecei a pesquisar como corrigir isso no FFmpeg e me deparei com o seguinte comando, cortesia de Gyan aqui :
Executar este comando no vídeo de origem em questão, re-concatenar todos os vídeos de origem, reenviar para o YouTube e, em seguida, testar novamente com os mesmos dispositivos, confirma que isso realmente corrigiu o problema.
Fiquei feliz por poder enviar meu vídeo para o YouTube sem me preocupar com o suporte a dispositivos individuais, tendo lidado com isso o suficiente em meu trabalho de desenvolvimento web. Obrigado a todos que votaram para manter esta questão aberta contra a vontade dos moderadores cada vez mais zelosos deste site.