O que é o FFmpeg?
O FFmpeg é um projecto gratuito que fornece uma colecção de programas para tratar dados como áudio, vídeo e imagens. É uma ferramenta que é utilizada para converter, gravar, transmitir e reproduzir ficheiros.
O FFmpeg suporta uma vasta gama de formatos e codecs e é utilizado para tarefas como transcodificação, redimensionamento de filtros, adição de marcas de água ou legendas, obtenção de áudio de vídeo e fusão de vários vídeos ou ficheiros de áudio. Também é possível criar um GIF utilizando o FFmpeg e combinar ficheiros MP4 utilizando o FFMPEG no Windows
O FFmpeg é amplamente utilizado na indústria dos media e está disponível na maioria dos sistemas operativos, incluindo Windows, macOS, Linux e Unix.
Como utilizar o FFmpeg?
Aqui estão alguns exemplos comuns de como utilizar o FFmpeg:
- Converter um ficheiro de vídeo de um formato para outro:
Código: ffmpeg -i input_video.mp4output_video.avi
Este comando converterá input_video.mp4
em output_video.avi
. O FFmpeg seleccionará automaticamente os codecs apropriados para o formato de saída.
- Redimensionar um vídeo:
Código: ffmpeg -i input_video.mp4-vf scale=640:480 output_video.mp4
Este comando irá redimensionar input_video.mp4
para uma resolução de 640×480 pixéis e guardar o resultado em output_video.mp4
.
- Extrair áudio de um vídeo:
Código: ffmpeg -i input_video.mp4-vn output_audio.mp3
Este comando irá extrair a faixa de áudio de input_video.mp4
e guardá-la em output_audio.mp3
.
- Concatenar dois vídeos:
Código: ffmpeg -i input_video1.mp4-i input_video2.mp4-filter_complex concat output_video.mp4
Este comando concatena input_video1.mp4
e input_video2.mp4
e guarda o resultado em output_video.mp4
.
- Adicionar uma marca de água a um vídeo:
Código: ffmpeg -i input_video.mp4-i watermark.png -filter_complex “overlay=10:10” output_video.mp4
Este comando adicionará a imagem watermark.png
ao canto superior esquerdo de input_video.mp4
com um deslocamento de 10 pixels e guardará o resultado em output_video.mp4
.
Estes são apenas alguns exemplos do que pode ser feito com o FFmpeg. Também é possível utilizar o FFmpeg no Android. Para mais informações, consulte os tutoriais em linha, as transmissões em vídeo ou os chatbots de IA, como o ChatGPT.

Quais são os comandos úteis de edição de vídeo do FFmpeg?
- Recortar um vídeo:
Código: ffmpeg -i input_video.mp4-ss 00:00:05 -t 00:00:10 -c copy output_video.mp4
Este comando recortará input_video.mp4
para começar na marca dos 5 segundos e terminar após 10 segundos e guardará o resultado em output_video.mp4
.
- Adicionar uma imagem ou sobreposição de vídeo ao meu vídeo:
Código: ffmpeg -i input_video.mp4-i overlay_image.png -filter_complex “overlay=10:10” output_video.mp4
Este comando adicionará o ficheiro overlay_image.png
como uma sobreposição a input_video.mp4
nas coordenadas (10, 10) e guardará o resultado em output_video.mp4
.
- Alterar a resolução de vídeo:
Código: ffmpeg -i input_video.mp4-vf scale=1280:720 -c:a copy output_video.mp4
Este comando altera a resolução de input_video.mp4
para 1280×720 pixéis e guarda o resultado em output_video.mp4
.
- Adicionar as opções
textfile
ereload
para drawtext:
Código: ffmpeg -i input.mp4-vf “drawtext=fontfile=/path/to/font.ttf:textfile=text.txt:reload=1:fontcolor=white:fontsize=24:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2” -codec:a copy output.mp4
Como adicionar texto ao vídeo com o FFmpeg?
Para adicionar texto a um vídeo com o FFmpeg, utilize o filtro drawtext
. O filtro drawtext
permite-lhe especificar o tipo de letra, o tamanho, a cor e a posição do texto, entre outros parâmetros.
Aqui está um comando básico para adicionar texto a um vídeo utilizando o filtro drawtext
:
Código: ffmpeg -i input_video.mp4-vf “drawtext=text=’Hello World’:fontfile=/path/to/font.ttf:fontsize=50:fontcolor=white:x=100:y=100” -codec:a copy output_video.mp4
Neste comando:
-i input_video.mp4
especifica o ficheiro de vídeo de entrada.-vf "drawtext=..."
especifica o filtro de vídeo a aplicar, que, neste caso, é o filtrodrawtext
.text='Hello World'
especifica o texto a adicionar ao vídeo.fontfile=/path/to/font.ttf
especifica o ficheiro de tipo de letra a utilizar.fontsize=50
especifica o tamanho da fonte em pontos.fontcolor=white
especifica a cor do tipo de letra.x=100:y=100
especifica a posição do texto no vídeo, com o canto superior esquerdo a (100, 100) pixéis.-codec:a copy
especifica a cópia do fluxo de áudio do vídeo de entrada para o vídeo de saída sem o recodificar.output_video.mp4
especifica o ficheiro de vídeo de saída.
O que é o Fontfile?
A opção fontfile
no FFmpeg é usada para especificar o caminho para um ficheiro de fonte que será usado para renderizar texto num vídeo ou imagem.
Quando utilizar o filtro drawtext
no FFmpeg para adicionar texto a um vídeo, especifique a opção fontfile
para escolher um tipo de letra específico a utilizar para o texto.
Como incluir fontes no comando FFmpeg sem usar a opção Fontfile?
Para utilizar um tipo de letra num comando FFMPEG sem especificar a opção fontfile, utilize um tipo de letra instalado no sistema.
Aqui está um exemplo de comando que utiliza uma fonte instalada no sistema:
Código: ffmpeg -i input_video.mp4-vf “drawtext=text=’Hello World’:fontcolor=white:x=100:y=100:font=Arial” -codec:a copy output_video.mp4
O que é o GitHub?
O GitHub é uma plataforma baseada na Web que permite aos programadores alojar e gerir os seus projectos de software, colaborar com outros e acompanhar e gerir as alterações ao seu código. Fornece ferramentas para controlo de versões, acompanhamento de problemas, revisão de código e colaboração em equipa.
Como adicionar o texto “StackOverflow” com FFmpeg?
Código: ffmpeg -i input_video.mp4-vf “drawtext=text=’StackOverflow’:fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100” -codec:a copy output_video.mp4
Eis o que fazem as várias opções deste comando:
-i input_video.mp4
especifica o ficheiro de vídeo de entrada.-vf "drawtext=text='StackOverflow':fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100"
define o gráfico de filtro de vídeo para desenhar o texto. Este comando desenha o texto “StackOverflow” no vídeo nas coordenadas (100, 100), utilizando um ficheiro de fonte localizado em/path/to/font.ttf
, com um tamanho de fonte de 30 e uma cor de fonte branca.-codec:a copy
copia o fluxo de áudio do vídeo de entrada para o vídeo de saída sem o recodificar.output_video.mp4
especifica o nome do ficheiro de vídeo de saída.
Como mostrar TimeCodes ou TimeStamps usando o filtro Drawtext do FFmpeg?
Código: ffmpeg -i input_video.mp4-filter_complex “drawtext=fontfile=/path/to/font.ttf:text=’%{pts\:hms}’:fontsize=24:fontcolor=white:x=10:y=10” -codec:a copy output_video.mp4
Eis o que fazem as várias opções deste comando:
-i input_video.mp4
especifica o ficheiro de vídeo de entrada.-filter_complex
permite-lhe utilizar vários filtros no mesmo comando.drawtext
é o nome do filtro.fontfile=/path/to/font.ttf
especifica o caminho para o ficheiro da fonte que queremos utilizar.text='%{pts\:hms}'
define o texto a ser apresentado.%{pts\:hms}
é um espaço reservado que será substituído pelo timecode actual no formato horas:minutos:segundos.fontsize=24
define o tamanho da fonte para 24.fontcolor=white
define a cor da fonte para branco.x=10
ey=10
definem a posição do texto no vídeo.-codec:a copy
copia o fluxo de áudio do vídeo de entrada para o vídeo de saída sem o recodificar.output_video.mp4
especifica o nome do ficheiro de saída.