Como adicionar texto ao vídeo com o FFmpeg?

Um sofisticado estúdio de edição de áudio banhado por uma luz azul fria
Domine a arte de integrar texto nos seus projectos de vídeo utilizando o Ffmpeg

Transkriptor 2023-04-03

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:

  1. Converter um ficheiro de vídeo de um formato para outro:

Código: ffmpeg -i input_video .mp4 output_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.

  1. 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 .

  1. 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 .

  1. 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 .

  1. 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.

logótipo ffmpeg

Quais são os comandos úteis de edição de vídeo do FFmpeg?

  1. 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 .

  1. 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 .

  1. 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 e reload 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 filtro drawtext .
  • 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 e y=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.

Fala para texto

img

Transkriptor

Converta seus arquivos de áudio e vídeo em texto