我正在使用以下方法向视频添加字幕:
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"
结果是:
我正在使用 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"
但是根据 Line-Alignment ASS Tags 文档,只有 9 个位置。 1:左下、2:下中、3:右下、5:左上、6:上中、7:右上、9:左中、10:中中、11:右中
有办法调整这个定位吗?
我希望低音炮左对齐,但位于下方。像这样:
事实证明,这样做的技巧是添加 Alignment=0。 然后就可以自由使用MarginV和MarginL了:
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"
事实上你也可以添加一些边距,如“MarginV=20”,以调整字幕的位置
ffmpeg2 -y -i "C:\Users\input.mxf" -pix_fmt yuv422p -vcodec mpeg2video -non_linear_quant 1 -flags +ildct+ilme -top 1 -dc 10 -intra_vlc 1 -qmax 6 -lmin "1*QP2LAMBDA" -vtag xd5c -rc_max_vbv_use 1 -rc_min_vbv_use 1 -g 12 -b:v 50000k -minrate 50000k -maxrate 51000k -bufsize 8000k -color_primaries 1 -color_trc 1 -colorspace 1 -vf "subtitles=subtitles_file.mxf_Subtitle.srt:force_style='OutlineColour=&H80000000,BorderStyle=3,Outline=1,Shadow=0,MarginV=20" -acodec copy "output.mxf"
我尝试缩小文本大小并转动底部边距:
Alignment=2, Fontsize = 5, MarginV = 1
这对我来说是工作。
像这样:
ffmpeg -i "1.mkv" -lavfi "subtitles=1.srt:force_style='Alignment=2,OutlineColour=&H100000000,BorderStyle=3,Outline=1,Shadow=0,Fontsize= 12,MarginV=35'" -crf 1 -c:a copy -vcodec h264_nvenc "output.mkv"
*
-vcodec h264_nvenc
是cuda加速器。
字幕=
{subtitle_file}:force_style='MarginV=50,OutlineColour=&H100000000,BorderStyle=1,Outline=1,Shadow=1,Fontsize= 14'"
MarginV=50
为我工作!