Use tw
. A partir da documentação do filtro de texto :
text_w
,tw
the width of the rendered text
Usando seu exemplo, você simplesmente adicionaria: x=(2*n)-tw
Eu tenho o seguinte comando FFMPEG que simplesmente limpa o texto da esquerda para a direita.
O que estou tentando fazer é determinar a largura total da string de texto para que eu possa subtrair essa quantia do valor da posição x, iniciando-a fora do estágio à esquerda.
Como isso é determinado pelo tamanho da fonte e pela fonte real usada, estou adivinhando que isso é impossível de determinar com precisão ... mas existe uma maneira de falsificar isso?
ffmpeg -y -i test_small.mov -acodec libmp3lame -vcodec libx264 -pix_fmt yuv420p -b:a 192k -b:v 1400k -ar 44100 -crf 18 -vf "drawtext=text=string1 string2 string3 string4 string5 string6 string7 :fontfile=foo.ttf: y=h-line_h-10:x=(2*n): fontcolor=white: fontsize=40: shadowx=2: shadowy=2" -an left_to_right_small.mp4
Use tw
. A partir da documentação do filtro de texto :
text_w
,tw
the width of the rendered text
Usando seu exemplo, você simplesmente adicionaria: x=(2*n)-tw
Tags ffmpeg