You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.ASS字幕坐标定位异常:1080×1920视频中位置不符求解

ASS字幕坐标定位问题:1080×1920视频中坐标不符的解决方法

问题描述

制作1080×1920视频的ASS格式字幕时,从PyQT(画布尺寸1080×1920)获取的字幕坐标(如(275,876))写入ASS文件后,字幕位置与预期不符。即使已在ASS中设置PlayResX=1080和PlayResY=1920,使用{\pos(x,y)}标签定位仍出现偏移,例如设置(200,200)时位置远偏离预期。

当前ASS文件内容:

[Script Info]
Title: Video Subtitles
ScriptType: v4.00+
Collisions: Normal
PlayDepth: 0
PlayResX: 1080
PlayResY: 1920


[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BorderStyle, Encoding
Style: Default, Segoe UI,9,&H00FFFFFF,&HFFFF00,&H00FFFFFF,0,0
Style: Background, Segoe UI,9,&H00FFFFFF,&H000000FF,&H00000000,3,0

[Events]
Format: Start, End, Style, MarginL, MarginR, MarginV, Text
Dialogue: 0:00:00.00,0:00:05.00,Default,0,0,0,{\pos(275,876)} {\bord5\3c&H000000&\fs90}LISTEN IN {\r}

补充:预期效果为字幕位于画面左侧偏上区域,实际效果中字幕位置明显偏离该区域。


ASS字幕定位机制解析

  1. 坐标系统:ASS的坐标原点为画面左上角(0,0),X轴向右递增,Y轴向下递增,与多数UI框架一致。
  2. PlayResX/Y作用:定义脚本的虚拟分辨率,当与实际视频分辨率一致时,脚本坐标直接对应视频像素坐标;若不一致,渲染器(如ffmpeg)会自动等比例映射。
  3. {\pos(x,y)}标签:默认将文本块的左上角对齐到(x,y),但该参考点由Style中的Alignment参数决定。
  4. Alignment参数:决定文本相对于{\pos(x,y)}坐标的对齐方式,常用值:
    • 1:左上角对齐(默认)
    • 2:水平居中对齐
    • 5:水平+垂直居中对齐
    • 9:右下角对齐

问题根源与解决方案

问题根源

  1. Style缺少Alignment参数:你的ASS Style格式未包含Alignment字段,默认使用左上角对齐(Alignment=1),但PyQT获取的是文本中心坐标,导致位置偏移。
  2. 标签写法错误:{\pos(...)}与样式标签分开写,可能导致pos未正确应用到整个文本块。

具体修正步骤

1. 完善Style格式与定义

修改[V4+ Styles]部分,添加Alignment字段,并设置对应对齐方式(若PyQT获取的是中心坐标,设置为5):

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BorderStyle, Alignment, Encoding
Style: Default, Segoe UI,9,&H00FFFFFF,&HFFFF00,&H00FFFFFF,0,5,0
Style: Background, Segoe UI,9,&H00FFFFFF,&H000000FF,&H00000000,3,5,0

2. 合并Dialogue标签块

将{\pos}与样式标签合并,确保定位效果覆盖整个文本:

[Events]
Format: Start, End, Style, MarginL, MarginR, MarginV, Text
Dialogue: 0:00:00.00,0:00:05.00,Default,0,0,0,{\pos(275,876)\bord5\3c&H000000&\fs90}LISTEN IN {\r}

3. 验证坐标映射

若PyQT获取的是文本左上角坐标,将Alignment设为1即可;若为中心坐标则设为5,此时{\pos(x,y)}会直接将文本中心对齐到该坐标点。


内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 09:44:50