Comandos FFmpeg úteis para trabalhar com arquivos de áudio e vídeo
Publicados: 2022-02-26FFmpeg é uma ferramenta de linha de comando extremamente poderosa e versátil para converter arquivos de áudio e vídeo. É gratuito e está disponível para máquinas Windows, Mac e Linux. Se você deseja juntar dois arquivos de vídeo, extrair o componente de áudio de um arquivo de vídeo, converter seu vídeo em um GIF animado, o FFmpeg pode fazer tudo e muito mais.
Extraia o áudio de um arquivo de vídeo com este simples comando FFmpeg.
Comandos úteis do FFmpeg
O FFmpeg suporta todos os formatos populares de áudio e vídeo. Ou você pode executar o comando ./ffmpeg -formats
para obter uma lista de todos os formatos suportados pela sua instalação do FFmpeg. Se você está apenas começando, aqui estão alguns comandos que lhe darão uma boa ideia dos recursos desta ferramenta.
1. Corte o arquivo de vídeo em um clipe menor
Você pode usar o parâmetro de deslocamento de tempo (-ss) para especificar o carimbo de hora de início no formato HH:MM:SS.ms enquanto o parâmetro -t é para especificar a duração real do clipe em segundos.
ffmpeg -i input.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4
2. Divida um vídeo em várias partes
Se você deseja dividir um vídeo grande em vários clipes menores sem recodificação, o ffmpeg pode ajudar. Este comando dividirá o vídeo de origem em 2 partes - uma terminando em 50s desde o início e a outra começando em 50s e terminando no final do vídeo de entrada.
ffmpeg -i video.mp4 -t 00:00:50 -c copy small-1.mp4 -ss 00:00:50 -codec copy small-2.mp4
3. Converta o vídeo de um formato para outro
Você pode usar o parâmetro -vcodec
para especificar o formato de codificação a ser usado para o vídeo de saída. A codificação de um vídeo leva tempo, mas você pode acelerar o processo forçando uma predefinição, embora isso degrade a qualidade do vídeo de saída.
ffmpeg -i youtube.flv -c:v libx264 filename.mp4
ffmpeg -i video.wmv -c:v libx264 -preset ultrafast video.mp4
4. Junte (concatene) arquivos de vídeo
Se você tiver vários arquivos de áudio ou vídeo codificados com os mesmos codecs, poderá juntá-los em um único arquivo usando o FFmpeg. Crie um arquivo de entrada com uma lista de todos os arquivos de origem que você deseja concatenar e execute este comando.
ffmpeg -f concat -i file-list.txt -c copy output.mp4
5. Silencie um vídeo (remova o componente de áudio)
Use o parâmetro -an
para desabilitar a parte de áudio de um fluxo de vídeo.
ffmpeg -i video.mp4 -an mute-video.mp4
6. Extraia o áudio do vídeo
A opção -vn
extrai a parte de áudio de um vídeo e estamos usando a opção -ab para salvar o áudio como um arquivo de áudio MP3 de 256 kbps.
ffmpeg -i video.mp4 -vn -ab 256 audio.mp3
7. Converta um vídeo em um GIF animado
FFmpeg é uma excelente ferramenta para converter vídeos em GIFs animados e a qualidade também não é ruim. Use o filtro de escala para especificar a largura do GIF, o parâmetro -t especifica a duração enquanto -r especifica a taxa de quadros (fps).
ffmpeg -i video.mp4 -vf scale=500:-1 -t 10 -r 10 image.gif
8. Extraia quadros de imagem de um vídeo
Este comando extrairá o quadro de vídeo na marca de 15s e o salvará como uma imagem JPEG de 800px de largura. Você também pode usar a opção -s (como -s 400x300) para especificar as dimensões exatas do arquivo de imagem, embora provavelmente crie uma imagem esticada se o tamanho da imagem não seguir a proporção do arquivo de vídeo original.
ffmpeg -ss 00:00:15 -i video.mp4 -vf scale=800:-1 -vframes 1 image.jpg
9. Converta Vídeos em Imagens
Você pode usar o FFmpeg para extrair automaticamente quadros de imagem de um vídeo a cada 'n' segundos e as imagens são salvas em uma sequência. Este comando salva quadros de imagem do vídeo a cada 4 segundos.
ffmpeg -i movie.mp4 -r 0.25 frames_%04d.png
10. Mesclar um arquivo de áudio e vídeo
Você também pode especificar a opção -shortest
para finalizar a codificação quando o clipe mais curto terminar.
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental -shortest output.mp4
11. Redimensione um vídeo
Use a chave de tamanho (-s) com ffmpeg para redimensionar um vídeo enquanto mantém a proporção.
ffmpeg -i input.mp4 -s 480x320 -c:a copy output.mp4
12. Crie uma apresentação de slides de vídeo a partir de imagens
Este comando cria uma apresentação de slides de vídeo usando uma série de imagens que são nomeadas como img001.png, img002.png, etc. Cada imagem terá uma duração de 5 segundos (-r 1/5).
ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p slideshow.mp4
13. Adicione uma imagem de pôster ao áudio
Você pode adicionar uma imagem de capa a um arquivo de áudio e a duração do vídeo de saída será a mesma do fluxo de áudio de entrada. Isso pode ser útil para fazer upload de MP3s para o YouTube.
ffmpeg -loop 1 -i image.jpg -i audio.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4
14. Converta uma única imagem em um vídeo
Use o parâmetro -t para especificar a duração do vídeo.
ffmpeg -loop 1 -i image.png -c:v libx264 -t 30 -pix_fmt yuv420p video.mp4
15. Adicione legendas a um filme
Isso levará as legendas do arquivo .srt. O FFmpeg pode decodificar todos os formatos de legendas comuns.
ffmpeg -i movie.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mkv
16. Corte um arquivo de áudio
Isso criará um arquivo de áudio de 30 segundos a partir de 90 segundos do arquivo de áudio original sem transcodificação.
ffmpeg -ss 00:01:30 -t 30 -acodec copy -i inputfile.mp3 outputfile.mp3
17. Altere o volume do áudio
Você pode usar o filtro de volume para alterar o volume de um arquivo de mídia usando o FFmpeg. Este comando terá metade do volume do arquivo de áudio.
ffmpeg -i input.wav -af 'volume=0.5' output.wav
18. Gire um vídeo
Este comando irá girar um videoclipe 90° no sentido horário. Você pode definir a transposição para 2 para girar o vídeo 90° no sentido anti-horário.
ffmpeg -i input.mp4 -filter:v 'transpose=1' rotated-video.mp4
Isso irá girar o vídeo 180° no sentido anti-horário.
ffmpeg -i input.mp4 -filter:v 'transpose=2,transpose=2' rotated-video.mp4
19. Acelere ou desacelere o vídeo
Você pode alterar a velocidade do seu vídeo usando o setpts
(definir carimbo de hora da apresentação) do FFmpeg. Este comando tornará o vídeo 8x (1/8) mais rápido ou usará setpts=4*PTS
para tornar o vídeo 4x mais lento.
ffmpeg -i input.mp4 -filter:v "setpts=0.125*PTS" output.mp4
20. Acelere ou desacelere o áudio
Para alterar a velocidade do áudio, use o filtro de áudio atempo
. Este comando dobrará a velocidade do áudio. Você pode usar qualquer valor entre 0,5 e 2,0 para áudio.
ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
O Stack Exchange tem uma boa visão geral para você começar com o FFmpeg. Você também deve verificar a documentação oficial em ffmpeg.org ou o wiki em trac.ffmpeg.org para saber sobre todas as coisas possíveis que você pode fazer com o FFmpeg.
Veja também: Comandos essenciais do Linux