Comandos FFmpeg úteis para trabalhar com arquivos de áudio e vídeo

Publicados: 2022-02-26

FFmpeg é 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. 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