横屏视频字幕位置与参数
用于 横屏视频 的字幕排版与烧录决策。重点不是“随便给一个字幕命令”,而是稳定回答:字幕应该放多高、字号多大、左右边距多少、两行怎么控、什么时候该抬高字幕避开片尾条或 UI。
什么时候用
- 用户明确说是 横屏 / 16:9 / landscape 视频
- 用户要调字幕位置:再低一点 / 再高一点 / 别挡画面 / 别贴底边
- 用户要烧录字幕,且希望给出 ASS 参数 而不是只给一个笼统 FFmpeg 命令
- 任务涉及
.srt → .ass → FFmpeg burn-in
如果是竖屏 / 9:16,请改用 portrait-subtitle-layout。
默认基准
以 1920x1080 横屏为基准,默认采用 底部居中 字幕:
Alignment = 2(bottom-center)FontSize = 90MarginV = 60MarginL = 48MarginR = 48Outline = 2Shadow = 1WrapStyle = 0MaxLineLength = 18- 目标:最多两行,优先稳读,不靠缩字号硬塞
这套参数与 Speclip 当前内置横屏字幕基线保持一致,适合访谈、剧情、解说、课程、屏录讲解等大多数横屏场景。
缩放公式
如果分辨率不是 1920x1080,按下面规则缩放:
fontSize = clamp(round(90 * H / 1080), 54, 180)
marginV = clamp(round(60 * H / 1080), 40, 120)
marginL = clamp(round(48 * W / 1920), 32, 120)
marginR = clamp(round(48 * W / 1920), 32, 120)
outline = clamp(round(2 * H / 1080), 2, 4)
shadow = clamp(round(1 * H / 1080), 1, 2)
其中:
W= 视频宽度H= 视频高度
位置调整规则
1) 默认横屏位置
- 优先保持
Alignment = 2 - 常规内容用
MarginV = 60 - 这是“靠下但不贴底”的安全值
2) 用户说“字幕再低一点”
优先把 MarginV 调到:
40–55:更贴近传统电影/访谈字幕区- 不建议低于
40,否则容易贴边、压黑边、压播放器控件
3) 用户说“字幕再高一点”
优先把 MarginV 调到:
80–100:轻度上移100–120:明显上移,适合底部有 banner、logo、章节条、双语第二轨
4) 左右太挤 / 英文长句太容易贴边
优先处理顺序:
- 先增大
MarginL / MarginR - 再缩短每行长度
- 最后才缩字号
推荐区间:
- 常规:
48 - 更稳妥:
56–72 - 超高分辨率或双语:
72–96
5) 行太长、读起来累
- 默认
MaxLineLength = 18 - 节奏快、口语短句:保持
18 - 英文长句或双语:可放宽到
20 - 画面信息密集:宁可拆句,也不要把字号压得太小
ASS 建议参数
标准样式行可直接按下面结构生成:
Style: Default,PingFang SC,90,&H00FFFFFF,&H000000FF,&H00000000,&H66000000,-1,0,0,0,100,100,0,0,1,2,1,2,48,48,60,1
字段重点:
Outline = 2Shadow = 1Alignment = 2MarginL = 48MarginR = 48MarginV = 60
如果平台不是 macOS,可换成更合适的字体,但保持同级别字重和可读性。
推荐工作流
- 先拿到
.srt - 优先转成
.ass - 按横屏参数修改样式
- 再用 FFmpeg 烧录
不要在最终烧录流程里直接把 .srt 当作唯一排版来源;需要稳定位置控制时,优先 .ass。
FFmpeg 烧录示例
ffmpeg -y -i "IN.mp4" -vf "subtitles='SUB.ass'" \
-c:v libx264 -preset medium -crf 19 \
-c:a aac -b:a 128k -map 0:v:0 -map 0:a? -movflags +faststart "OUT.mp4"
常见决策
电影感 / 访谈感
Alignment = 2MarginV = 40–55FontSize不要过大
教程 / 屏录 / 底部有控件
Alignment = 2MarginV = 80–120MarginL/R = 56–72
双语字幕
- 先提高
MarginV - 再扩大
MarginL/R - 保持两行内可读,避免整块字幕压太满
输出要求
使用这个 skill 时,最终回答应包含:
- 当前判定为横屏的依据(分辨率或用户说明)
- 最终采用的字幕参数
- 若有调整,说明为什么上移 / 下移 / 放宽边距
- 可直接使用的
.ass样式或 FFmpeg 命令 - 输出路径或建议输出文件名