ffmpeg 字幕对齐和位置

fri*_*ffe 7 ffmpeg subtitle

我正在使用以下方法为视频添加字幕:

ffmpeg -i "imput.mp4" -lavfi "subtitles=subtitles.srt:force_style='OutlineColour=&H100000000,BorderStyle=3,Outline=1,Shadow=0,Fontsize=18'" -crf 1 -c:a copy "output.mp4"
Run Code Online (Sandbox Code Playgroud)

结果是:

没有对齐

我正在使用Alignment重新定位它:

ffmpeg -i "imput.mp4" -lavfi "subtitles=subtitles.srt:force_style='Alignment=9,OutlineColour=&H100000000,BorderStyle=3,Outline=1,Shadow=0,Fontsize=18'" -crf 1 -c:a copy "output.mp4"
Run Code Online (Sandbox Code Playgroud)

对齐=9

但是根据Line-Alignment ASS Tags文档,只有 9 个位置。1:左下,2:中下,3:右下,5:左上,6:中上,7:右上,9:左中,10:中中,11:右中

有没有办法调整这个定位?

我希望潜艇左对齐,但降低。像这样:

结果

MBK*_*MBK 22

我测试了每一个对齐方式,并用我的设计技能制作了文档。

在此输入图像描述

  • 好苹果啊…… (13认同)

fri*_*ffe 9

原来这样做的技巧是添加Alignment=0。然后你可以自由使用MarginVMarginL

ffmpeg -i "imput.mp4" -lavfi "subtitles=subtitles.srt:force_style='Alignment=0,OutlineColour=&H100000000,BorderStyle=3,Outline=1,Shadow=0,Fontsize=18,MarginL=5,MarginV=25'" -crf 1 -c:a copy "output.mp4"
Run Code Online (Sandbox Code Playgroud)

  • 我可以在 MarginV 和 MarginL 中放入哪些值?数字以像素为单位吗? (3认同)