Você pode usar o filtro de texto .
texto dinâmico
O texto pode ser alterado durante a codificação se você usar as opções textfile
e reload
:
-
textfile
Um arquivo de texto contendo texto a ser desenhado. O texto deve ser uma sequência de caracteres codificados em UTF-8. -
reload
Se definido como 1, o arquivo de texto será recarregado antes de cada quadro. Certifique-se de atualizá-lo atomicamente, ou pode ser lido parcialmente ou até mesmo falhar.
Animar
O texto pode circular usando expressões nas opções x
e y
drawtext. Veja a documentação do texto de desenho para obter uma lista de constantes e funções.
Edição da linha do tempo
Alguns filtros, como o drawtext, suportam a enable
opção , o que significa que você pode transformar o filtro desligado e ligado. Você pode ver com o que os filtros suportam a linha do tempo:
ffmpeg -filters
Exemplo
Se você tiver um vídeo de entrada que deseja sobrepor ao texto:
ffmpeg -i input -vf "drawtext=enable='gte(t,3)':fontfile=Vera.ttf:textfile=text.txt:reload=1:y=h-line_h-10:x=(W/tw)*n" output
- Isso ativará o filtro de texto de desenho após 3 segundos
- Sempre que
text.txt
for atualizado, o texto será alterado - As palavras se moverão na tela da esquerda para a direita (eu sugo essas expressões, mas você entenderá)
Se você não tem vídeo de entrada e gostaria apenas de gerar o texto em fundo preto:
ffmpeg -f lavfi -i "color=color=black, drawtext=enable='gte(t,3)':fontfile=Vera.ttf:fontcolor=white:textfile=text.txt:reload=1:y=h-line_h-10:x=(W/tw)*n" -t 5 output
Aqui, -t 5
especifica o tamanho total da saída. (Se não for especificado, a codificação será executada para sempre.) A cor da fonte é definida como branco para que o texto fique visível.