Bhinish Dhiman
Como extrair o áudio de um vídeo em MP3 sem fazer upload
Traduzido do original em inglês. Ler o original
Solte o vídeo, confira a duração e o valor de memória, escolha um bitrate (192 kbps é o padrão), pressione Extract the MP3 e baixe o arquivo. A decodificação usa o pipeline de áudio do próprio navegador, então funciona até no Firefox para Android. Arquivos com mais de uns 13 minutos são recusados: o áudio decodificado em 48 kHz estéreo ocupa 384 000 bytes por segundo, e o teto é de 300 MB. O MP3 é uma recodificação, então alguma perda é inevitável.
As pessoas querem o som de um vídeo por motivos comuns: uma palestra para ouvir numa caminhada, um recado de voz que foi gravado como vídeo, uma música de um vídeo do celular para um som de carro que não toca nada mais novo do que MP3. O arquivo muitas vezes é pessoal, e mandá-lo para o servidor de um conversor é a etapa que as pessoas prefeririam pular. Aqui, a trilha sonora é decodificada e codificada na própria aba.
Dois termos
Extração de áudio é decodificar a trilha sonora de um arquivo de vídeo e recodificá-la como um arquivo de áudio independente. A metade da decodificação usa o pipeline de áudio embutido no navegador. A metade da codificação precisa de um codificador de MP3, que nenhum navegador inclui, então a página baixa um.
Perda de segunda geração é o dano extra causado quando um áudio que já foi comprimido com um codec com perdas é decodificado e comprimido de novo com outro. A trilha sonora de um vídeo quase sempre já é AAC, então um MP3 feito a partir dela carrega os artefatos dos dois. Um bitrate mais alto disfarça isso; nenhum bitrate desfaz.
Extraindo um MP3, passo a passo
- Abra o Video to MP3 e solte o vídeo no painel, ou clique no painel para escolhê-lo. MP4, MOV, WebM e MKV são aceitos.
- Leia os três valores que aparecem: Length (duração), MP3 out (uma estimativa do arquivo que você vai obter) e Held in memory (a quantidade de áudio decodificado que o navegador precisa manter de uma vez, o que decide se o arquivo pode ser processado).
- Escolha um Bitrate: 128, 192, 256 ou 320 kbps. Cada opção mostra uma nota sobre para que ela serve.
- Pressione Extract the MP3 (extrair o MP3). O botão mostra “Decoding…” (decodificando) e depois “Encoding…” (codificando) enquanto trabalha.
- Ouça no player que aparece, confira Sample rate (taxa de amostragem) e Channels (canais) e pressione o botão de download, que dá ao arquivo o nome do seu vídeo com .mp3 no fim. Clear (limpar) esvazia o painel para o próximo arquivo.
O teto de 13 minutos, com a conta completa
O caminho de decodificação usado aqui produz a trilha sonora inteira como amostras não comprimidas antes que o codificador possa começar, e áudio não comprimido é grande: quatro bytes por amostra, por canal. A duração é lida primeiro no cabeçalho do arquivo, e a memória necessária é calculada antes de qualquer decodificação, supondo 48 kHz estéreo. Isso dá 48 000 × 2 × 4 = 384 000 bytes para cada segundo de áudio. O teto é de 300 000 000 bytes, e 300 000 000 ÷ 384 000 = 781.25 segundos, ou 13 minutos e 1 segundo.
| Duração | Áudio decodificado em 48 kHz estéreo | O que o painel mostra | Resultado |
|---|---|---|---|
| 1 minuto | 23 040 000 bytes | Held in memory ≈ 21.97 MB | Extraído |
| 4 minutos | 92 160 000 bytes | Held in memory ≈ 87.89 MB | Extraído |
| 10 minutos | 230 400 000 bytes | Held in memory ≈ 219.73 MB | Extraído |
| 13 minutos | 299 520 000 bytes | Held in memory ≈ 285.64 MB | Extraído, por pouco |
| 20 minutos | 460 800 000 bytes | “roughly 0.46 GB of memory held at once” | Recusado |
| 60 minutos | 1 382 400 000 bytes | “roughly 1.38 GB of memory held at once” | Recusado |
O painel conta um megabyte como 1 024 × 1 024 bytes, e é por isso que os valores dele ficam um pouco abaixo da contagem de bytes dividida por um milhão. Um arquivo recusado nem é tentado: ele recebe uma mensagem com a duração, a memória que exigiria e o limite. Isso importa porque uma decodificação que estoura a memória não falha educadamente. Ela derruba a aba, e tudo o mais que estiver aberto nela.
A estimativa supõe 48 kHz porque é isso que as trilhas sonoras de vídeo usam na esmagadora maioria dos casos, e porque é o lado mais cauteloso em relação à alternativa comum. Uma faixa de quatro minutos em qualidade de CD, 44.1 kHz, na verdade decodifica para cerca de 85 MB; o painel mostra o valor mais alto para nunca contar a menos.
Para uma gravação longa, corte antes. O Trim video copia um trecho sem recodificá-lo, e um trecho com menos de 13 minutos passa. Onde um corte só por cópia realmente cai explica por que o trecho cortado pode começar um pouco antes do ponto que você escolheu.
Escolhendo um bitrate
O MP3 tem aproximadamente a duração em segundos × o bitrate em kbps ÷ 8, em kilobytes. Para um arquivo de quatro minutos (240 segundos):
| Bitrate | Para que a ferramenta diz que serve | Estimativa em bytes | Mostrado como MP3 out |
|---|---|---|---|
| 128 kbps | Fala, aulas, qualquer coisa que você vai ouvir uma vez | 3 840 000 | ≈ 3.66 MB |
| 192 kbps (padrão) | Transparente o bastante para música na maioria dos equipamentos | 5 760 000 | ≈ 5.49 MB |
| 256 kbps | Música que importa para você, em fones que importam para você | 7 680 000 | ≈ 7.32 MB |
| 320 kbps | O teto do MP3 | 9 600 000 | ≈ 9.16 MB |
A 320 kbps, a segunda geração de perda fica bem escondida, a ponto de quase ninguém ouvir; a 128 kbps, a fala fica boa e a música pode deixar a perda aparecer. Se o que você quer é a trilha sonora original, e não um MP3 dela, a operação melhor é uma troca de contêiner: copiar a faixa AAC para um arquivo .m4a sem nenhuma recodificação. Esta ferramenta não faz isso. Ela existe para o formato que toca em som de carro e aparelhos antigos, que normalmente é o motivo de alguém pedir um MP3.
A Sample rate mostrada depois da extração é a taxa em que o seu navegador decodificou, que é a taxa do hardware de áudio dele, e não necessariamente a taxa do arquivo. O pipeline de áudio do navegador reamostra na decodificação e não oferece como contornar isso por esse caminho, então a ferramenta informa o número em vez de dar a entender que o original foi mantido.
Por que ela roda onde outras ferramentas de vídeo falham
As outras ferramentas de vídeo deste site dependem de WebCodecs, e o Firefox para Android não tem nada disso. Esta ferramenta não precisa. Ela decodifica com o decodeAudioData da Web Audio API, que está nos navegadores há mais de uma década e repassa o trabalho aos codecs do próprio sistema operacional, então AAC em MP4, Opus em WebM, MP3, FLAC e Vorbis decodificam sem nenhum download extra.
A codificação é o caso oposto. A tabela de suporte a codecs que o MDN mantém, citada no código-fonte da ferramenta, coloca a codificação de MP3 em 0% dos navegadores, contra 96.5% para a decodificação de MP3. Por isso a página traz uma versão WebAssembly do LAME 3.100, com cerca de 132 KB comprimidos, e só a baixa quando você pressiona o botão. As patentes centrais do MP3 expiraram em 23 de abril de 2017, e é por isso que dá para distribuir um codificador.
Alguns arquivos são recusados de imediato, com o motivo: AVI (que quase sempre traz DivX, Xvid ou MJPEG, que nenhum navegador decodifica), WMV, FLV, program streams MPEG e VOB, MXF, RealMedia e transport streams MPEG, que precisam ser remuxados para MP4 antes. Um vídeo sem trilha sonora recebe “This video has no soundtrack” (este vídeo não tem trilha sonora), em vez de um erro de codec confuso.
O caminho pela linha de comando
Se você tem o ffmpeg instalado, uma linha faz o mesmo trabalho, sem um teto de duração desse tipo:
ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3
-vn deixa a imagem de fora, e libmp3lame é o codificador LAME, o mesmo que esta página baixa. Este guia não indica um método nativo no Windows ou no macOS.
| Video to MP3 | Um conversor com upload | ffmpeg | |
|---|---|---|---|
| O seu vídeo é enviado | Nunca | O arquivo inteiro, antes de qualquer coisa começar | Nunca |
| Limite de duração | Cerca de 13 minutos, com o motivo informado | Um limite de tamanho de arquivo, muitas vezes sem explicação | Nenhum teto desse tipo |
| O seu arquivo depois | Nunca é recebido | Guardado por 1 a 2 horas | Fica no seu disco |
| Roda em | Todo navegador com Web Audio, incluindo o Firefox para Android | Qualquer navegador | Um computador com o ffmpeg instalado |
Como verificar que o vídeo não foi enviado
Abra as ferramentas de desenvolvedor na aba Network, solte um vídeo e pressione Extract the MP3. Uma requisição aparece nesse momento: o codificador, com cerca de 132 KB, sendo baixado. Um vídeo costuma ter muitos megabytes, e nenhum upload desse tamanho aparece. Como o codificador chega no primeiro clique, faça o teste offline ao contrário: extraia um arquivo conectado, depois desconecte e extraia outro.
O Video to MP3 é gratuito. Para um trecho que deve continuar em movimento, o Video to GIF também funciona na aba, embora precise de um navegador com WebCodecs.