使用ffmpeg处理srt字幕的对齐和位置相关参数说明
2025-07-03 01:04:17 342 分享链接 开发笔记 ffmpeg
在使用ffmpeg时,Alignment=2,Y=-50不支持Y参数,可以使用MarginV参数来调整字幕的垂直位置。以下是关于ffmpeg字幕srt对齐和位置设置的详细说明:
在命令行中输入以下命令可以获取关于subtitles滤镜的详细帮助
ffmpeg -h filter=subtitles字幕对齐
Alignment参数用于设置字幕的对齐方式,取值范围是1-9,常见的对齐方式如下:1: 左下角。2: 下中点。3: 右下角。5: 左上角。6: 上中心。7: 右上角。9: 中左。10: 中间。11: 中右。
字幕位置
除了对齐方式外,还可以通过以下参数来微调字幕的位置:
MarginL: 设置字幕与左边界的距离。MarginR: 设置字幕与右边界的距离。MarginV: 设置字幕与底部的垂直距离。
例如,要将字幕设置为底部居中,并且距离底部有5像素的距离,可以使用以下命令:
ffmpeg -i input.mp4 -vf "subtitles=input.srt:force_style='Alignment=2,MarginV=5'" output.mp4如果要将字幕设置在视频的中间位置,可以将
Alignment设置为10,命令如下:ffmpeg -i input.mp4 -vf "subtitles=input.srt:force_style='Alignment=10'" output.mp4当需要将字幕向上移动时,可以通过设置
MarginV为负值来实现。例如,将字幕向上移动10像素:ffmpeg -i input.mp4 -vf "subtitles=input.srt:force_style='Alignment=2,MarginV=-10'" output.mp4还可以使用
Origin参数来设置字幕的位置,Origin参数可以指定字幕的起始位置,与Alignment参数配合使用可以更灵活地控制字幕的位置。例如:ffmpeg -i input.mp4 -vf "subtitles=input.srt:force_style='Alignment=2,Origin=0,0'" output.mp4此命令将字幕设置在视频的左上角。
Linespacing参数用于设置字幕行间距。例如,设置行间距为5像素:ffmpeg -i input.mp4 -vf "subtitles=input.srt:force_style='Linespacing=5'" output.mp4
参数说明
01.Name 风格(Style)的名称. 区分大小写. 不能包含逗号.
02.Fontname 使用的字体名称, 区分大小写.
03.Fontsize 字体的字号
04.PrimaryColour 设置主要颜色, 为蓝-绿-红三色的十六进制代码相排列, BBGGRR. 为字幕填充颜色
05.SecondaryColour 设置次要颜色, 为蓝-绿-红三色的十六进制代码相排列, BBGGRR. 在卡拉OK效果中由次要颜色变为主要颜色.
06.OutlineColour 设置轮廓颜色, 为蓝-绿-红三色的十六进制代码相排列, BBGGRR.
07.BackColour 设置阴影颜色, 为蓝-绿-红三色的十六进制代码相排列, BBGGRR. ASS的这些字段还包含了alpha通道信息. (AABBGGRR), 注ASS的颜色代码要在前面加上&H
08.Bold -1为粗体, 0为常规
09.Italic -1为斜体, 0为常规
10.Underline [-1 或者 0] 下划线
11.Strikeout [-1 或者 0] 中划线/删除线
12.ScaleX 修改文字的宽度. 为百分数
13.ScaleY 修改文字的高度. 为百分数
14.Spacing 文字间的额外间隙. 为像素数
15.Angle 按Z轴进行旋转的度数, 原点由alignment进行了定义. 可以为小数
16.BorderStyle 1=边框+阴影, 3=纯色背景. 当值为3时, 文字下方为轮廓颜色的背景, 最下方为阴影颜色背景.
17.Outline 当BorderStyle为1时, 该值定义文字轮廓宽度, 为像素数, 常见有0, 1, 2, 3, 4.
18.Shadow 当BorderStyle为1时, 该值定义阴影的深度, 为像素数, 常见有0, 1, 2, 3, 4.
19.Alignment 定义字幕的位置. 字幕在下方时, 1=左对齐, 2=居中, 3=右对齐. 1, 2, 3加上4后字幕出现在屏幕上方. 1, 2, 3加上8后字幕出现在屏幕中间. 例: 11=屏幕中间右对齐. Alignment对于ASS字幕而言, 字幕的位置与小键盘数字对应的位置相同.
20.MarginL 字幕可出现区域与左边缘的距离, 为像素数
21.MarginR 字幕可出现区域与右边缘的距离, 为像素数
22.MarginV 垂直距离底部居中对齐,离底部200
ffmpeg -i input.mp4 -vf "scale=1080:1920,subtitles=test.srt:original_size=1080x1920:force_style='FontSize=12,Alignment=2,MarginV=200'" -c:v h264_nvenc output.mp4顶部居中对齐,离顶部200
ffmpeg -i input.mp4 -vf "scale=1080:1920,subtitles=test.srt:original_size=1080x1920:force_style='FontSize=12,Alignment=6,MarginV=200'" -c:v h264_nvenc output.mp4带背景
ffmpeg -i input.mp4 -vf "scale=1080:1920,subtitles=test.srt:original_size=1080x1920:force_style='FontSize=12,Alignment=2,MarginV=50,OutlineColour=&H100000000,BorderStyle=3'" -c:v h264_nvenc output.mp4重置所有
ffmpeg -i inputx.mp4 -vf "subtitles=test.srt:original_size=1920x1080:force_style='FontSize=8,MarginV=10,Alignment=2,BorderStyle=1,Outline=0,Shadow=0,Spacing=100,ScaleX=100,ScaleY=100,Bold=0,Italic=0,Underline=0,StrikeOut=0'" -c:v h264_nvenc output.mp4参考文档

最近更新
- 2026-04-07 12:44
- 字幕文件解析并转换时间单位为微秒,输出指定格式的时间线数据
- 2026-04-07 11:30
- 通过扣子官方语音合成开发的速推版剪映小助手时间线插件
- 2026-04-07 07:51
- 基于故事文本与新国风水墨武侠动漫风格设计唐朝人物形象提示词
- 2026-04-01 02:38
- 推荐7种古装武侠AI漫剧适配度极高的风格
- 2026-04-01 02:23
- AI漫剧新国风武侠动漫风格常搭的全局基础色调
- 2026-03-30 13:59
- 基于故事文本与国风动漫风格对所有角色进行详细定义的实例
- 2026-03-30 13:16
- 【国风武侠动漫视觉形象】常用五官长相描述
- 2026-03-25 16:58
- 学习 豆包AI 提取小说故事中的所有角色描述
- 2026-03-25 15:46
- 学习 豆包AI 影视分镜标准画面描述规则
- 2026-03-25 15:42
- 学习 豆包AI 短视频分镜脚本之画面元素编写规则