TOC
Histórico
FFmpeg é desenvolvido inicialmente na plataforma Linux, mas o programa já foi compilado para MacOS, Windows,Unix (BSD e Solaris), AmigaOS. Ele é muito usado para acelerar os trabalhos de edição de video. Globo, Uol, Terra, e entre outras empresas fazem uso desse aplicativo.
Para quem desejar converter audio e video, extrair áudio de video, cortar trechos de video, combinar videos, até mudar resolução de fotos, essas são algumas das funcionalidades do utilitário ffmpeg.
O ffmpeg faz parte do projeto de mesmo nome e possui outros excelentes utilitários e bibliotecas para manipulação de videos:
ffmpeg é uma ferramenta de linha de comando que converte um formato de vídeo em outro.
ffserver é um servidor multimídia HTTP (RTSP sendo desenvolvido) para transmissões ao vivo.
ffplay é um tocador de mídia baseado no SDL e em bibliotecas FFmpeg.
libavcodec é uma biblioteca contendo todos os codificadores e decodificadores do FFmpeg.
libavformat é uma biblioteca contendo os multiplexadores e demultiplexadores de conteúdo de formatos de áudio e vídeo.
libavutil é uma biblioteca de uso comum do projeto.
libpostproc é uma biblioteca contendo as rotinas de processamento de vídeo.
libswscale é uma biblioteca contendo as rotinas de escalonamento de imagem.
libavfilter é um substituto para vhook que permite que o vídeo seja modificado ou examinado entre o decodificador e o codificador.
O projeto ffmpeg é uma solução multiplataforma e completa para gravar, converter e transmitir áudio e vídeo. E ainda pode converter ou simplesmente mudar a resolução de uma imagem. Ele também suporta a conversão desde os formatos antigos até os mais atuais.
Aqui estão algumas aplicações já utilizadas por mim:
-
ffmpeg -i example.mkv -c copy example.mp4_ –> Converte mkv para mp4
-
ffmpeg -framerate 1 -pattern_type glob -i ‘*.JPG’ -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4_ –> converte *.jpg para mp4
-
ffmpeg -nostdin -i nomearquivo.mkv -vcodec h264 -acodec aac -strict -2 nomearquivo.mp4_ –> conversão mkv para mp4
-
ffmpeg -f concat -i inputs.txt -vcodec copy -acodec copy firt.mp4_ –> onde input.txt contém: file nomearquivo.jpg
-
ffmpeg -ss 00:00:30 -i orginalfile -t 00:00:05 -vcodec copy -acodec copy newfile_ –> Corte parcial em 00:00:30, copiar 5 sec Se mudar o formato é necessário copiar com audio and video codecs, para lista ffmpeg -formats -E
-
ffmpeg -nostdin -i nomearquivo.mkv -vcodec h264 -acodec aac -strict -2 nomearquivo.mp4_ –> conversão mkv para mp4
-
ffmpeg -f concat -i inputs.txt -vcodec copy -acodec copy firt.mp4_ –> onde input.txt contém: file nomearquivo.jpg
-
ffmpeg -i input.mp4 -qscale:v 2 output_%03d.jpg_ –> extrai imagens do video input.mp4
-
ffmpeg -loop 1 -f image2 -i img.png -t 1 out.mp4_ –> gera uma video de 1 segundo
-
Shell script para converter vários arquivos mov para mp4:
for i in *.MOV;
do name=`echo "$i" | cut -d'.' -f1`
echo "$name"
ffmpeg -i "$i" "${name}.mp4"
done
-
ffmpeg -ss 00:00:03 -i inputVideo.mp4 -to 00:00:08 -c:v copy -c:a copy trim_ipseek_copy.mp4_ –> Forma rápida de cut/paste e sem conversão de formato.
-
ffmpeg -i input.jpg -vf scale=320:240 output_320x240.png_ –> Converte imagem jpg para png e resolução
-
ffmpeg -i input.png -vf scale=320:240 output_320x240.png_ –> Converte imagem png para png e resolução
Ponto de atenção: Existe um filtro de escala que pode automaticamente calcular uma dimensão enquanto preserva a relação altura x largura(aspect ratio). Para configurar é somente necessário definir a dimensão no paramentro scale como -1, exemplo: scale=320:-1, or scale=-1:240.
Documentos
Links
-
Projeto ffmpeg Baixar o programa youtube-dl
-
Wikipedia ffmpeg Mais informação.
Perguntas Mais Frequentes
- O ffmpeg é pago? Não, é gratuito.