Faz as coordenadas da posição de referência do ffmpeg?

0

digamos que eu tenha o seguinte comando ffmpeg:

ffmpeg -i input.mp4 -vf  "drawtext=text='hello world':x=100:y=100" output.mp4

Mas eu preciso que a posição do texto siga uma matriz / lista de dados de posição (x, y) assim:

100, 100
101, 103
102, 106
103, 109
and so on...

Como eu poderia fazer o ffmpeg referenciar a lista de coordenadas x, y em cada frame?

    
por user1661677 15.09.2016 / 21:13

1 resposta

1

Isso não é diretamente possível.

Mas você pode criar um arquivo de texto contendo vários filtros de texto descritivo e, em seguida, alimentá-lo como um script de filtros.

por exemplo,

drawtext=text='hello world':x=100:y=100:enable='eq(n\,0)',
drawtext=text='hello world':x=101:y=103:enable='eq(n\,1)',
drawtext=text='hello world':x=102:y=106:enable='eq(n\,2)',
drawtext=text='hello world':x=103:y=109:enable='eq(n\,3)'

E, em seguida, execute

ffmpeg - in.mp4 -filter_script:v file.txt out.mp4 

Embora eu veja pela sua sequência de números que isso parece ser uma interpolação linear de valores. Se você estiver fazendo uma animação suave da posição do texto, poderá fornecer uma expressão para x e y e ignorar / contrair o arquivo de texto.

    
por 16.09.2016 / 06:32

Tags