Se tudo que você quer de um vídeo é o áudio, veja como extrair o áudio de vídeos no formato original ou converter para MP3 ou Ogg Vorbis.
Este artigo explica como usar o FFmpeg para extrair o fluxo de áudio de um vídeo, sem recodificar (mantendo o formato original) ou converter o arquivo de áudio resultante em MP3 ou Ogg Vorbis em CBR (taxa de bits constante) ou VBR (taxa de bits variável) .
Extrair o áudio de vídeos pode ser útil quando você quer apenas o áudio de um vídeo e quer economizar espaço em disco.
Para usar os exemplos/comandos do FFmpeg abaixo, você precisará ter o FFmpeg instalado no seu sistema. Opcionalmente, também instale libmp3lame para converter para mp3 e libvorbis para converter o áudio extraído em Ogg Vorbis.
Novamente, usaremos o programa ffmpeg, pois é um excelente programa para esse tipo de operação.
E se você ainda não tem o ffmpeg instalado, para instalar a versão mais recente do FFmpeg nas principais distribuições Linux, use um desses tutoriais:
Como instalar o framework multimídia FFmpeg no Linux via Snap
Como instalar a versão mais recente do FFmpeg no Linux Debian, Ubuntu e Fedora
Como codificar vídeo H.265 usando FFmpeg no Linux (4K e 8K)
Como extrair o áudio de vídeos no formato original ou converter para MP3 ou Ogg Vorbis
Para extrair o áudio de vídeos no formato original ou converter para MP3 ou Ogg Vorbis usando o ffmpeg, primeira mente, abra um terminal.
Depois, use os procedimentos abaixo.
Descobrindo o formato de áudio original do vídeo
Para extrair o áudio de um vídeo e manter o formato de áudio original, a primeira coisa que você deve fazer é verificar qual é o formato de áudio original para saber qual extensão de arquivo usar usando ffprobe (parte do pacote FFmpeg). Substitua exemplo.mp4 pelo nome do arquivo do vídeo (e o caminho se o vídeo não estiver na pasta atual).:
ffprobe exemplo.mp4
Perto do final da saída deste comando, você deve ver o fluxo de áudio, por exemplo:
...............
Duration: 00:04:19.47, start: 0.000000, bitrate: 1261 kb/s
Stream #0:0: Video: h264 (Main), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
Metadata:
HANDLER_NAME : VideoHandler
DURATION : 00:04:19.440000000
Stream #0:1(eng): Audio: vorbis, 44100 Hz, stereo, fltp (default)
Metadata:
DURATION : 00:04:19.467000000
Como extrair o áudio de vídeos no formato original
Agora que você conhece o formato de áudio original, extraia o áudio do vídeo sem recodificá-lo usando o comando abaixo. Substitua exemplo.mp4 pelo nome do arquivo/caminho do vídeo e audio.ogg pelo nome que você deseja usar para o nome do arquivo de saída de áudio e a extensão:
ffmpeg -i exemplo.mp4 -vn -acodec copy audio.ogg
Nesse comando, -i
é usado para especificar o caminho e o nome do arquivo do vídeo de entrada, -vn
ignora a inclusão do fluxo de vídeo, enquanto -acodec copy
é para copiar o áudio original (sem recodificação).
E para extrair apenas uma parte do áudio de um vídeo, usando o mesmo formato de áudio usado pela fonte original, use esse comando:
ffmpeg -i exemplo.mp4 -ss 00:00:00 -t 00:00:00.0 -vn -acodec copy audio.ogg
-ss
é o início do registro de data e hora do áudio extraído e -t
é a duração do áudio.
Por exemplo, para extrair 30 segundos de áudio iniciando 2 minutos no vídeo e usando o mesmo codec de áudio da fonte original:
ffmpeg -i exemplo.mp4 -ss 00:02:00 -t 00:00:30.0 -vn -acodec copy audio.ogg
Como extrair e converter para MP3
Como o mp3 não pode conter um fluxo de vídeo, para extrair o áudio do vídeo e convertê-lo em mp3, basta usá-lo (pule a adição de -vn):
ffmpeg -i exemplo.mp4 audio.mp3
O FFmpeg normalmente detecta automaticamente o formato de saída da extensão inserida nos arquivos de saída, portanto, na maioria dos casos, não é necessário especificar o formato/codec. Mas se você quiser especificar o codec, adicione -codec:a libmp3lame
para converter para mp3:
ffmpeg -i exemplo.mp4 -codec:a libmp3lame audio.mp3
Agora, para extrair o áudio do vídeo, convertendo o áudio extraído para mp3 e especificando uma qualidade constante de taxa de bits de áudio (CBR), use o comando a seguir. Substitua BITRATE
pelas opções CBR disponíveis: 8k, 16k, 24k, 32k, 40k, 48k, 64k, 80k, 96k, 112k, 128k, 160k, 192k, 224k, 256k ou 320k.:
ffmpeg -i exemplo.mp4 -b:a BITRATE audio.mp3
E para extrair o áudio do vídeo, convertendo o áudio para mp3 com codificação de taxa de bits variável, use esse outro comando. Especifique QUALIDADE
no intervalo de 0 a 9, em que 0 é o melhor, 9 é o pior e 4 é o valor padrão. Uma tabela apresentando cada opção FFmpeg VBR está disponível nesse endereço.
ffmpeg -i exemplo.mp4 -codec:a libmp3lame -q:a QUALIDADE audio.mp3
Como extrair e converter para Ogg Vorbis
Já para extrair o áudio de um vídeo, usando Ogg como o contêiner resultante (ele deve detectar automaticamente o Vorbis como o formato de áudio), com taxa de bits variável (VBR), use esse comando. O intervalo de QUALIDADE é de -1,0 a 10,0, com 10,0 sendo a mais alta qualidade e 3 sendo o padrão (com uma meta de 112 kbps). Consulte esta página para obter detalhes sobre a configuração da qualidade Ogg Vorbis VBR:
ffmpeg -i exemplo.mp4 -vn -q:a QUALIDADE audio.ogg
No raro caso em que o FFmpeg falha na detecção automática do codec, especifique libvorbis
usando -codec:a
, assim:
ffmpeg -i exemplo.mp4 -vn -codec:a libvorbis -q:a QUALIDADE audio.ogg
Em alguns casos, convém converter em lote vários vídeos em áudio.
Confira este exemplo de processamento em lote (adapte isso às suas necessidades exatas), no qual todos os vídeos mp4 da pasta atual são convertidos para mp3 com um valor de perfil de taxa de bits variável 3, com o nome do arquivo igual ao vídeo original, mas com mp3 como a extensão do arquivo:
for i in *.mp4; do ffmpeg -i "$i" -codec:a libmp3lame -q:a 3 "${i%.*}.mp3"; done
Enfim, para mais detalhes sobre esses e outros comando do ffmpeg, consulte a documentação do FFmpeg.