저는 이 ffmpeg 명령을 사용하여 이미지에서 비디오를 렌더링합니다. 문제는 캐리지/ni를 사용할 때 아랍어 텍스트에 대해 오른쪽 정렬을 만들 수 없다는 것입니다. 텍스트는 데이터베이스에서 왔기 때문에 여러 drawtext를 사용할 수 없습니다.
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
감사해요
답변1
나는 당신의 텍스트가 오른쪽에서 왼쪽으로 쓰는 스크립트인지, 왼쪽에서 오른쪽으로 쓰는 스크립트인지는 중요하지 않다고 생각합니다. 내 생각에 당신이 해결해야 할 유일한 문제는조정아니면 그정당화텍스트의. 샘플 사진에서는 RTL 또는 LTR 스크립트로 작성되었는지 여부에 관계없이 모든 텍스트가 오른쪽 정렬되기를 원하는 것 같습니다. 내가 옳다면 다음과 유사한 내용이 원하는 작업을 수행해야 합니다.
샘플 코드에서는 LTR 텍스트를 하나의 필터에 넣습니다.
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'
두 줄을 두 개의 drawtext 필터로 분리하고 오른쪽에 있는 두 문자열을 "정렬"합니다.
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'
두 번째 텍스트 줄에서는 y 오프셋 값을 변경했습니다. "-line_h"라는 용어를 추가하여 두 번째 줄이 첫 번째 줄 아래에 있어야 합니다.