De o código-fonte do filtro drawtext
(de libavfilter/vf_drawtext.c
na árvore de origem), parece haver um parâmetro textfile
que pode especificar um caminho para um arquivo que contém a string a ser desenhada (em vez de definir o parâmetro text
como em seu exemplo). Você pode querer experimentar passar um caminho de arquivo como textfile
e atualizar o arquivo enquanto visualiza a saída de vídeo.
Você também precisaria de outro programa / daemon rodando em paralelo para atualizar o arquivo (que conteria apenas o texto atual a ser exibido), mas este programa seria bastante trivial supondo que você pudesse sincronizá-lo com o relógio do sistema.
Alternativamente, você pode modificar o próprio filtro drawtext
para exibir uma string específica baseada no timecode atual (que é disponível para filtros FFmpeg). Enquanto isso exigiria modificar o código fonte do filtro e recompilar do zero, ele também evitaria o uso de um programa / daemon separado rodando em paralelo (já que seu próprio código seria invocado sempre que o FFmpeg tentasse desenhar uma string).
No entanto, assumindo que o parâmetro textfile
funcione (leia: é atualizado em cada quadro), provavelmente seria um método melhor, pois um daemon simples para atualizar o arquivo de texto poderia ser escrito em uma linguagem de script como o Python.