Salto de línea ffmpeg con alineación del lado derecho

Salto de línea ffmpeg con alineación del lado derecho

Utilizo este comando ffmpeg para renderizar un video a partir de imágenes; el problema es que cuando uso el carro /ni no puedo alinear el lado derecho del texto árabe, no puedo usar varios textos de dibujo para esto porque el texto proviene de la base de datos.

ffmpeg -r:v 1/5 -f concat -safe 0 -i /system/gobro.txt -i "/system/chill.mp3" -vf "scale=iw*min(1280/iw\,800/ih):ih*min(1280/iw\,800/ih), pad=1280:800:(1280-iw*min(1280/iw\,800/ih))/2:(800-ih*min(1280/iw\,800/ih))/2,
drawbox=enable='between(t,5,39.9)':y=(ih-110):[email protected]:width=iw:height=110:t=filldrawtext=enable='between(t,10,14.9)':fontfile=/ttf/changa-medium.ttf:fontsize=30:fontcolor=white:x=(w-text_w-20):y=(h-text_h-60):text='غير كانت الخطّة ', 
drawtext=enable='between(t,10,14.9)':fontfile=/TTF/Changa-Medium.ttf:fontsize=20:fontcolor=white:x=(w-text_w-20):y=(h-text_h-15):text='gfuishg isfdhgi usfdhgi sfdg /n hello this is new line'" 
-c:a aac -shortest -y -pix_fmt yuv420p /public/video.mp4 2> /system/out.txt

captura de pantalla explica el problema

Gracias

Respuesta1

No creo que importe si su texto está escrito de derecha a izquierda o de izquierda a derecha. Creo que el único problema que necesitas resolver es elalineacióno eljustificacióndel texto. En su foto de muestra, parece que desea que todo el texto esté justificado a la derecha, ya sea que esté escrito en un script RTL o LTR. Si estoy en lo cierto, entonces algo similar a lo siguiente debería hacer lo que desea.

En su código de muestra, coloca el texto LTR en un filtro

drawtext=enable='between(t,10,14.9)':fontfile=/TTF/Changa-Medium.ttf:fontsize=20:fontcolor=white:x=(w-text_w-20):y=(h-text_h-15):text='gfuishg isfdhgi usfdhgi sfdg /n hello this is new line'

Separe las dos líneas en dos filtros de texto de dibujo y "alinee" las dos cadenas de la derecha.

drawtext=enable='between(t,10,14.9)':fontfile=/TTF/Changa-Medium.ttf:fontsize=20:fontcolor=white:x=(w-text_w-20):y=(h-text_h-15):text='gfuishg isfdhgi usfdhgi sfdg',
drawtext=enable='between(t,10,14.9)':fontfile=/TTF/Changa-Medium.ttf:fontsize=20:fontcolor=white:x=(w-text_w-20):y=(h-text_h-line_h-15):text='hello this is new line'

Para la segunda línea de texto, cambié el valor del desplazamiento y. Agregué el término "-line_h" para que la segunda línea debería estar debajo de la primera.

información relacionada