Heim  >  Artikel  >  Was ist das Dateiformat von ass?

Was ist das Dateiformat von ass?

青灯夜游
青灯夜游Original
2023-02-22 18:05:1919059Durchsuche

ass ist das Format von Untertiteldateien. Der vollständige Name von ASS ist „Advanced SubStation Alpha“. Es handelt sich um ein erweitertes Untertitelformat, das auf der SSA 4.00+-Kodierung basiert. Es fügt weitere Spezialeffekte und Anweisungen hinzu, die auf dem SSA-Schreibstil basieren mit „*.ass“ als Suffix. ASS-Untertitel sind reine Textdateien, was bedeutet, dass sie mit jedem Texteditor manuell bearbeitet werden können.

Was ist das Dateiformat von ass?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.

ASS ist ein Untertitelformat, das von den meisten Untertitelern erkannt und häufig verwendet wird.

SubStation Alpha (Sub Station Alpha), kurz SSA genannt, ist ein von CS Low (auch bekannt als Kotus) erstelltes Untertiteldateiformat, das über erweiterte Funktionen verfügt als herkömmliche Untertitelformate (wie SRT). Plug-in-Dateien für Untertitel in diesem Format haben die Endung *.ssa.

Advanced SubStation Alpha (ASS) ist ein fortschrittlicheres Untertitelformat als SSA und seine aktuelle Version ist SSA v4.00+. Es basiert auf der SSA 4.00+-Kodierung. Die wichtigste Änderung von ASS besteht darin, mehr Spezialeffekte und Anweisungen hinzuzufügen, die auf dem SSA-Schreibstil basieren. Plug-in-Dateien für Untertitel in diesem Format haben die Endung *.ass.

Derzeit unterstützen viele Player die Wiedergabe von SSA- und ASS-Untertiteln.

ASS ist mit dem SSA-Format kompatibel.

Was ist das Dateiformat von ass?

1. SSA/ASS-Grundstruktur

SSA/ASS-Untertitel sind reine Textdateien, was bedeutet, dass sie mit jedem Texteditor manuell bearbeitet werden können, aber es muss beachtet werden: Der Parser geht davon aus, dass dieses Skript folgt Fehler beim Parsen der im SSA-Standard definierten Regeln können zu unvorhersehbaren Ergebnissen führen.

SSA/ASS-Skripte sind im INI-Dateistil in mehrere Abschnitte unterteilt. Es handelt sich jedoch nicht um eine Standard-INI-Datei.
Das Skript enthält bis zu fünf Abschnitte: [Script Info], [v4+ Styles], [Events], [Fonts] , [Grafiken]. [Script Info][v4+ Styles][Events][Fonts][Graphics]

  • [Script Info]必须是整个文件的第一行。
  • 现在的SSA文件已经很少包含[Fonts][Graphics]这两个部分了。
    因为这些功能只被Sub Station Alpha这一个程序所支持,而其它的filter (Vobsub/Vsfilter/Avery Lee Subtitler filter) 都不支持。
  • 每个section中的大多数行都以某些说明性文字开头,称为“行描述符(line descriptor)”,以冒号结束。
  • 行类型(line type)主要包括:
    • 分号开头的注释行;
    • Format:格式行;
    • [Script Info]部分中的15个行类型;
    • [v4+ Styles]部分的样式行;
    • [Events]部分的6个行类型。(行类型将在后续的每部分单独介绍)。
  • 每一行中的信息字段用逗号分隔,所以角色名称([Events]部分)和样式名称([v4+ Styles]部分)中不能含有逗号。
  • 行是不可分割。
    脚本中的每个条目都包含了一行中所有的信息,不能被分成多行。
  • 格式不正确的行会被忽略。
  • [Events]部分的事件顺序可以打乱输入,仍可被正确播放,我们不能假定每个对话行都按照时间顺序排列在脚本文件中。
  • 如果在脚本中使用了未知的样式,那么将使用*Default样式 。
  • 如果样式指定了未安装的字体,那么将使用Arial/宋体
    • [Script Info] muss die erste Zeile der gesamten Datei sein.
    • Heutzutage enthalten SSA-Dateien selten die beiden Teile [Fonts] und [Graphics].
    Da diese Funktionen nur von Sub Station Alpha unterstützt werden und andere Filter (Vobsub/Vsfilter/Avery Lee Subtitler-Filter) nicht unterstützt werden.

  • Die meisten Zeilen in jedem Abschnitt beginnen mit einem erläuternden Text, der als „Zeilenbeschreibung“ bezeichnet wird, und enden mit einem Doppelpunkt.
  • Zeilentyp umfasst hauptsächlich:
    • Kommentarzeilen beginnend mit Semikolon;

    • Format: Formatzeile;
    • [Skriptinfo] 15 Zeilentypen im Abschnitt; Stilzeilen im Abschnitt

    • [v4+ Styles]; 6 Zeilentypen im Abschnitt
    • [Events]. (Zeilentypen werden in jedem folgenden Abschnitt separat behandelt.)

    • Die Informationsfelder in jeder Zeile sind durch Kommas getrennt, sodass der Charaktername (Teil [Ereignisse]) und der Stilname (Teil [v4+ Stile]) keine Kommas enthalten dürfen.
    • Zeilen sind unteilbar.

      Jeder Eintrag im Skript enthält alle Informationen in einer Zeile und kann nicht in mehrere Zeilen aufgeteilt werden.

    • Falsch formatierte Zeilen werden ignoriert.

    • Die Reihenfolge der Ereignisse im Abschnitt [Events] kann durcheinander gebracht werden und dennoch korrekt abgespielt werden. Wir können nicht davon ausgehen, dass jede Dialogzeile in der Skriptdatei in chronologischer Reihenfolge angeordnet ist.
    • Wenn im Skript ein unbekannter Stil verwendet wird, wird der *Default-Stil verwendet.

    • Wenn der Stil eine nicht installierte Schriftart angibt, wird Arial/宋体 verwendet.

      Das Folgende ist eine kurze Zusammenfassung der fünf Hauptabschnitte in der SSA/ASS-Datei:

      [Skriptinformationen]

      Dieser Abschnitt enthält die Kopfzeile und allgemeine Informationen des Skripts. [Skriptinfo] muss die erste Zeile eines v4-Skripts sein.

      [v4-Stile]

      Dieser Abschnitt enthält die Definitionen aller Stile. Jeder vom Skript verwendete Stil sollte hier definiert werden. ASS verwendet [v4+ Stile].

      [Ereignisse]

      Dieser Teil enthält alle Skriptereignisse, einschließlich Untertitel, Kommentare, Bilder, Töne, Bilder und Befehle. Grundsätzlich befindet sich in diesem Abschnitt alles, was Sie auf dem Bildschirm sehen. 🎜🎜[Schriftarten]🎜🎜Dieser Abschnitt enthält Informationen zu im Skript eingebetteten Schriftarten. 🎜🎜[Grafiken]🎜🎜Dieser Teil enthält Informationen zu den im Skript eingebetteten Bildern. 🎜🎜🎜2. Abschnitt [Skriptinformationen]🎜🎜🎜Ein typischer Abschnitt [Skriptinformationen] sieht so aus:🎜
      [Script Info]
      ; This is a Sub Station Alpha v4 script.
      ; For Sub Station Alpha info and downloads,
      ; go to http://www.eswat.demon.co.uk/
      Title: Neon Genesis Evangelion - Episode 26 (neutral Spanish)
      Original Script: RoRo
      Script Updated By: version 2.8.01
      ScriptType: v4.00
      Collisions: Normal
      PlayResY: 600
      PlayDepth: 0
      Timer: 100,0000
      🎜Dieser Abschnitt definiert mehrere Zeilentypen und ihre entsprechenden Bedeutungen sind wie folgt:🎜Title Synchronisierungspunkt
      Skriptzeile Bemerkungen
      ; Semikolon, dem ein beliebiger Inhalt folgen kann. Wird nur als Kommentar in Skripten verwendet. Beim Laden des Skripts nicht sichtbar. Das Semikolon muss das erste Zeichen in der Zeile sein. Verwenden Sie in älteren Versionen die Annotation !: !:注释
      Title 标题,对脚本的描述。如果未指定,自动设置为untitled
      Original Script 最初创建脚本的作者。如果未指定,自动设置为unknown
      Original Translation (可选)最初翻译对话的人。如果未指定,该项不显示
      Original Editing (可选)最初脚本的编辑者,通常是对翻译润色和校对的人。如果未指定,该项不显示
      Original Timing (可选)最初的时间轴人员。如果未指定,该项不显示
      Synch Point (可选)指明什么时候脚本应该开始播放。如果未指定,该项不显示
      Script Updated By (可选)对原脚本进行更新的其他字幕团体的人。如果未指定,该项不显示
      Update Details (可选)其他字幕团体对原脚本更新的细节。如果未指定,该项不显示
      ScriptType SSA 脚本格式的版本。例如 V4.00。如果当前使用的 SSA 程序版本旧于脚本的版本,将给出警告
      Collisions 为了防止字幕重叠,它决定了字幕如何移动。
      如果设置为Normal,SSA 将尝试使用「Margins」指定的位置来定位字幕。同时,字幕会垂直地移动来防止重叠。在Normal的防重叠模式下,新字幕会出现在已存在字幕的上方,但它会寻找最低的不产生重叠的位置,来填补其他字幕产生的「空隙」。
      如果设置为Reverse,已存在的字幕会上移给新字幕腾出空间。这意味这字幕总是可以自上向下地阅读,但也意味着已存在的字幕可能会在新字幕出现之前出现在屏幕的中间。它会占用大量的屏幕区域。
      PlayResY 渲染字幕时的渲染范围的高度。如果使用Directdraw播放,SSA v4会自动选择最接近的已启用的设置
      PlayResX 渲染字幕时的渲染范围的宽度。如果使用Directdraw播放,SSA v4会自动选择最接近的已启用的设置
      PlayDepth 渲染字幕时的颜色深度。如果使用 Directdraw播放,SSA v4会自动选择最接近的已启用的设置
      Timer 脚本的计时器速度,使用浮点的百分比。例如,100.0000代表100%,保留四位小数。
      计时器速度是应用于SSA时钟的时间乘数,以提供斜坡时间来扩展或压缩脚本的总时间。速度大于100%会减少脚本总时间,意味着字幕会逐步地越来越早地出现;速度小于100%
      title, um das Skript zu beschreiben. Wenn nicht angegeben, wird automatisch auf untitled gesetzt.

      Originalskript

      Der Autor, der das Skript ursprünglich erstellt hat. Wenn nicht angegeben, wird automatisch auf unbekannt gesetzt.
      Originalübersetzung (optional) Die Person, die die Konversation ursprünglich übersetzt hat. Wenn nicht angegeben, wird dieses Feld nicht angezeigt.
      Originalbearbeitung (optional) Der Herausgeber des Originalskripts, normalerweise die Person, die die Übersetzung überarbeitet und Korrektur gelesen hat. Wenn nicht angegeben, zeigt dieses Element nicht die ursprüngliche Timeline-Person an. Wenn nicht angegeben, wird dieses Element nicht angezeigt
      🎜 (optional) Gibt an, wann das Skript abgespielt werden soll. Wenn nicht angegeben, zeigt dieses Element nicht 🎜🎜🎜🎜Skript aktualisiert von🎜🎜 (optional) Personen aus anderen Untertitelgruppen an, die das Originalskript aktualisiert haben. Wenn nicht angegeben, zeigt dieses Element keine 🎜🎜🎜🎜Update-Details🎜🎜 (optional) Details zu Aktualisierungen des Originalskripts durch andere Untertitelgruppen an. Wenn nicht angegeben, zeigt dieses Element nicht die Version des Skriptformats 🎜🎜🎜🎜ScriptType🎜🎜SSA an. Zum Beispiel V4.00. Es wird eine Warnung ausgegeben, wenn die aktuell verwendete Version des SSA-Programms älter ist als die Version des Skripts. 🎜Wenn auf Normal eingestellt, versucht SSA, die durch „Ränder“ angegebene Position zur Positionierung der Untertitel zu verwenden. Gleichzeitig werden Untertitel vertikal verschoben, um Überlappungen zu vermeiden. Im Anti-Überlappungsmodus Normal werden neue Untertitel über vorhandenen Untertiteln angezeigt, es wird jedoch nach der niedrigsten nicht überlappenden Position gesucht, um die durch andere Untertitel entstandenen „Lücken“ zu füllen. 🎜Wenn Umkehren eingestellt ist, werden vorhandene Untertitel nach oben verschoben, um Platz für neue Untertitel zu schaffen. Das bedeutet, dass Untertitel immer von oben nach unten gelesen werden können, aber es bedeutet auch, dass vorhandene Untertitel möglicherweise in der Mitte des Bildschirms erscheinen, bevor neue Untertitel erscheinen. Es nimmt viel Bildschirmfläche ein. 🎜🎜🎜🎜PlayResY🎜🎜Die Höhe des Rendering-Bereichs beim Rendern von Untertiteln. Beim Spielen mit Directdraw wählt SSA v4 beim Rendern von Untertiteln automatisch die aktivierte Einstellung 🎜🎜🎜🎜PlayResX🎜🎜, die der Breite des Renderbereichs am nächsten kommt. Beim Spielen mit Directdraw wählt SSA v4 beim Rendern von Untertiteln automatisch die nächstgelegene aktivierte Einstellung 🎜🎜🎜🎜PlayDepth🎜🎜Farbtiefe aus. Wenn Sie mit Directdraw spielen, wählt SSA v4 automatisch die nächstgelegene aktivierte Einstellung 🎜🎜🎜🎜Timer🎜🎜Scripts Timer-Geschwindigkeit unter Verwendung von Gleitkomma-Prozentsätzen. Beispielsweise steht 100.0000 für 100 % mit vier Dezimalstellen. 🎜Timer-Geschwindigkeit ist ein Zeitmultiplikator, der auf die SSA-Uhr angewendet wird, um Rampenzeiten zum Erweitern oder Komprimieren der Gesamtzeit des Skripts bereitzustellen. Eine Geschwindigkeit von mehr als 100 % verkürzt die gesamte Skriptzeit, was bedeutet, dass Untertitel nach und nach immer früher erscheinen. Eine Geschwindigkeit von weniger als 100 % erhöht die gesamte Skriptzeit. Dies bedeutet, dass Untertitel immer früher erscheinen. Sie werden immer später erscheinen (wie bei einer positiven Rampenzeit). 🎜Expansion und Komprimierung erfolgen nur, wenn das Skript abgespielt wird. Dieser Wert ändert nichts an der tatsächlichen Zeit des Skriptereignisteils. 🎜🎜🎜🎜WrapStyle🎜🎜 definiert die Standardmethode für den Zeilenumbruch. 🎜0: Intelligenter Zeilenumbruch, die Teilung ist relativ gleichmäßig und die obere Zeile ist länger. 🎜1: Zeilenumbruch vom Wort am Ende der Zeile, nur N kann einen Zeilenumbruch erzwingen. 🎜2: Keine Zeilenumbrüche, n und N erzwingen Zeilenumbrüche. 🎜3: Intelligenter Zeilenumbruch wie 0, die folgende Zeile ist länger. 🎜🎜🎜🎜ScaledBorderAndShadow🎜🎜Gibt an, ob die Rahmenbreite und die Schattentiefe proportional zur Videoauflösung skaliert werden. Die Standardeinstellung ist Nein. 🎜🎜🎜🎜Wenn der Wert „Nein“ ist, werden die Randbreite und die Schattentiefe genau entsprechend der angegebenen Pixelanzahl angezeigt. Wenn der Wert „Ja“ lautet, werden die Randbreite und die Schattentiefe im gleichen Verhältnis wie die tatsächliche Videoauflösung angezeigt. 🎜🎜🎜🎜🎜🎜🎜

      在实际应用中可能用到的是Title、PlayResX、PlayResY、WrapStyle等。

      3、[v4 Styles]部分

      这一部分包含了所有样式的定义。每一个被脚本使用的样式都应该在这里定义。区别于SSA,ASS 使用[v4+ Styles]关键字。
      典型的字段如下:

      [V4 Styles]
      Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
      Style: DefaultVCD, Arial,28,11861244,11861244,11861244,-2147483640,-1,0,1,1,2,2,30,30,30,0,0

      这一部分用来定义字幕的外观和位置,以便[Events]部分直接引用。此部分由格式行(Format:)和样式行(Style:)组成。除边框样式外,所有样式都可以在[Events]部分使用代码重设。

      格式行和样式行的内容一一对应。格式行定义了如何解释样式中的每个字段,因此格式行必须出现在所有的样式之前,且格式行中列出的字段名必须拼写正确!格式行允许在未来将新字段添加到脚本格式中,并且允许旧版本的软件读取它所识别的字段——即使字段顺序已经更改。包括如下23个字段:

      Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding

      各字段含义如下:

      格式名 备注
      Name 样式名称(用于[Events]部分引用,区分大小写,不能包含逗号)
      Fontname 字体名称( Windows所使用的字体名称,区分大小写)
      Fontsize 字体大小(字号)
      PrimaryColour 主体颜色(一般情况下文字的颜色)
      SecondaryColour 次要颜色(在卡拉OK效果中字幕由次要颜色变为主体颜色)
      OutlineColor 边框颜色
      BackColour 阴影颜色
      Bold 粗体(-1=开启,0=关闭)
      Italic 斜体(-1=开启,0=关闭)
      Underline 下划线( -1=开启,0=关闭)
      Strikeout 删除线( -1=开启,0=关闭)
      ScaleX 横向缩放(单位%,100即正常宽度)
      ScaleY 纵向缩放(单位%,100即正常高度)
      Spacing 字间距(单位像素,支持小数)
      Angle 旋转角度(绕z轴逆时针旋转\frz,负数=顺时针旋转。单位,支持小数)
      BorderStyle 边框样式(1=边框+阴影,3=不透明底框)
      Outline 边框宽度(单位像素,可用小数)
      Shadow 阴影深度(单位像素,可用小数,右下偏移)
      Alignment 对齐方式(同小键盘布局,决定了旋转/定位/缩放的参考点)
      MarginL 左边距(字幕距左边缘的距离,单位像素,右对齐和中对齐时无效)
      MarginR 右边距(字幕距右边缘的距离,单位像素,左对齐和中对齐时无效)
      MarginV 垂直边距(字幕距垂直边缘的距离,单位像素,下对齐时表示到底部的距离;上对齐时表示到顶部的距离;中对齐时无效,文本位于垂直中心)
      Encoding 编码( 0=ANSI,1=默认,128=日文,134=简中,136=繁中,一般用默认1即可 )

      其中脚本支持的颜色格式是:&Haabbggrr,均为十六进制,取值0-9,A-F。
      前2位(alpha)为透明度,00=不透明,FF=DEC255=全透明;
      后6是BGR蓝绿红颜色。 排在最前的00可以忽略不写, 如:{\c&HFF&}={\c&H0000FF&}为纯红色、&HFFFFFF=纯白色、&HC8000000=透明度为200的黑色。

      4、[Events]部分

      该部分的一个典型示例是:

      [Events]
      Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
      Dialogue: Marked=0,0:00:01.18,0:00:06.85,DefaultVCD, NTP,0000,0000,0000,,{\pos(400,570)}Like an angel with pity on nobody

      [Event]部分由格式行(Format:)和多个事件行组成。格式航定义了事件行中各种字段的具体含义,因此格式行必须出现在所有事件前。事件行包括:

      • Dialogue: 这是一个“对话”事件,用于显示一些文本。
      • Comment: 这是一个“评论”事件,它包含与对话、图片、声音、电影或命令事件相同的信息,但在脚本回放期间会被忽略。
      • Picture: 这是一个“图片”事件 ,意味着SSA将显示指定的.bmp、.jpg、.gif、.ico或.wmf图形(不支持.png, 且filter不支持加载图片)。
      • Sound: 这是一个“声音”事件,意味着SSA将播放指定的.wav文件。 (filter不支持)
      • Movie: 这是一个“影片”事件,意味着SSA将播放指定的.avi文件。 (filter不支持)
      • Command: 这是一个“命令”事件,意味着SSA将执行指定的程序作为后台任务。 (filter不支持)

      注意后面三个使用频率及兼容性过低,这里不作深入分析。

      4.1 格式行Format:

      Format 行必须出现在所有事件行之前,因为它决定了SSA如何来解析下面的事件行。其所列出的字段必须正确拼写。字段名如下:
      Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text

      最后的字段总是 Text,以便其可以包含逗号。
      格式行支持在未来的脚本格式中添加新的字段,也支持旧版本的软件读出它所能识别的字段,即便字段的顺序发生了变化。其中各字段含义如下:

      EndeStilname. Bei Standard wird es durch Ihren eigenen *Default-Stil ersetzt. Wenn jedoch der Standardstil, den der Skriptautor verwenden möchte, bereits im Skript gespeichert ist, aber von SSA ignoriert wird, können Sie den Namen in der Stildefinitionszeile ändern, damit er im Skriptstil angezeigt wird, wenn Sie ihn verwenden möchten Liste.
      Nummer Feldname Bemerkungen
      1 Markiert Markiert=0, was darauf hinweist, dass die Zeile nicht als markiert in SSA angezeigt wird.
      Marked=1 gibt an, dass die Zeile in SSA als markiert angezeigt wird.
      Normalerweise wird Marked auf 0
      2 Layer eine beliebige Ganzzahl gesetzt.
      Untertitel mit unterschiedlichen Ebenenwerten werden bei der Überlappungserkennung ignoriert.
      Ebenen mit großen Werten werden über Ebenen mit kleinen Werten gelegt.
      3 Start Die Startzeit des Ereignisses, das Format ist 0:00:00:00 (Stunde: Minute: Sekunde: Millisekunde), die Mindesteinheit beträgt 0,01 s . Dabei handelt es sich um die Zeit, die bei der Skriptwiedergabe vergeht, während die Untertitel auf dem Bildschirm angezeigt werden. Beachten Sie, dass es nur eine Stunde gibt. 0:00:00:00(小时:分:秒:毫秒),最小单位为0.01s。它是字幕显示在屏幕上时脚本播放经过的时间。注意小时只有一位。
      4 End 事件的结束时间,格式为0:00:00:00(小时:分:秒:毫秒)。它是字幕在屏幕上消失时脚本播放经过的时间。注意小时只有一位。
      5 Style 样式名。如果为 Default,那么你自己的*Default样式会取代它。
      然而,如果脚本作者要使用的Default样式已存储在脚本中却被SSA忽略了,如果你要使用它,你可以修改样式定义行里的名称,以便它出现在脚本的样式列表里。
      在实际的应用中,若在[v4+ Styles]中定义好Default样式,如果之后使用了未定义的样式名,那么就使用Default样式。如果Default样式也没有定义,那样才使用渲染器自带的样式。
      6 Name 角色名。说这条对白的角色名。只为了在编辑和设定时间轴时方便辨认。
      7 MarginL 4位的左边距覆写值(为像素)。0000 表示使用在Style行中定义的值。
      8 MarginR 4位的右边距覆写值(为像素)。0000 表示使用在Style行中定义的值。
      9 MarginV 4位的垂直边距覆写值(为像素)。0000 表示使用在Style行中定义的值。
      10 Effect 过渡效果。可以为空值,或者为在SSA v4.x实现的三种过渡效果之一。
      效果名称区分大小写,必须正确拼写,不加引号。
      Karaoke,表示卡拉OK效果,依次高亮每个字。作为一个效果类型已经废弃不用。

      Scroll up;y1;y2;delay[;fadeawayheight],表示文本或图片会在屏幕上向上滚动。
      Scroll up之后的参数字段用分号分隔。
      y1和y2值(为像素)定义了文本在屏幕上滚动的垂直区域。两个值位置可以互换。如果两个值都是 0,文本会在整个屏幕高度向上滚动。
      delay值可取值1到100以降低滚动的速度,0表示无延迟按原速度滚动。当delay值大于1时,移动1像素需要(1000/delay)秒。
      fadeawayheigh值可选,可以使文本滚动到其范围的边缘时呈现淡出效果。

      Scroll down;y1;y2;delay[;fadeawayheight],同上,为向下滚动。

      Banner;delay[;lefttoright;fadeawaywidth]


      4
      Die Endzeit des Ereignisses, das Format ist 0:00:00:00 (Stunde:Minute:Sekunde:Millisekunde). Dabei handelt es sich um die Zeit, die bei der Skriptwiedergabe vergeht, bevor die Untertitel vom Bildschirm verschwinden. Beachten Sie, dass es nur eine Stunde gibt. 5Stil
      Wenn in tatsächlichen Anwendungen der Standardstil in [v4+ Stile] definiert ist und später ein undefinierter Stilname verwendet wird, wird der Standardstil verwendet. Wenn der Standardstil nicht definiert ist, wird der eigene Stil des Renderers verwendet. 🎜🎜🎜🎜6🎜🎜Name🎜🎜Charaktername. Sagen Sie den Namen der Figur für diese Dialogzeile. Nur zur leichteren Identifizierung beim Bearbeiten und Einrichten der Timeline. 🎜🎜🎜🎜7🎜🎜MarginL🎜🎜4-Bit-Überschreibungswert für den linken Rand (in Pixel). 0000 bedeutet, dass der in der Style-Zeile definierte Wert verwendet wird. 🎜🎜🎜🎜8🎜🎜MarginR🎜🎜4-Bit-Überschreibungswert für den rechten Rand (in Pixel). 0000 bedeutet, dass der in der Style-Zeile definierte Wert verwendet wird. 🎜🎜🎜🎜9🎜🎜MarginV🎜🎜4-Bit-Überschreibungswert für den vertikalen Rand (in Pixel). 0000 bedeutet, dass der in der Style-Zeile definierte Wert verwendet wird. 🎜🎜🎜🎜10🎜🎜Effekt🎜🎜Übergangseffekt. Kann ein Nullwert oder einer der drei in SSA v4.x implementierten Übergangseffekte sein. 🎜Bei Effektnamen muss die Groß-/Kleinschreibung beachtet werden und sie müssen korrekt und ohne Anführungszeichen geschrieben werden. 🎜Karaoke zeigt den Karaoke-Effekt an und hebt nacheinander jedes Wort hervor. Als Effekttyp veraltet. 🎜🎜Scroll up;y1;y2;delay[;fadeawayheight] gibt an, dass Text oder Bilder auf dem Bildschirm nach oben scrollen. 🎜Die Parameterfelder nach dem Scrollen nach oben werden durch Semikolons getrennt. 🎜Die Werte y1 und y2 (in Pixel) definieren den vertikalen Bereich auf dem Bildschirm, in dem der Text gescrollt wird. Die beiden Wertpositionen sind austauschbar. Wenn beide Werte 0 sind, wird der Text über die gesamte Bildschirmhöhe nach oben gescrollt. 🎜Der Verzögerungswert kann zwischen 1 und 100 liegen, um die Scrollgeschwindigkeit zu reduzieren. 0 bedeutet, dass ohne Verzögerung mit der ursprünglichen Geschwindigkeit gescrollt wird. Wenn der Verzögerungswert größer als 1 ist, dauert es (1000/Verzögerung) Sekunden, um 1 Pixel zu verschieben. 🎜Der fadeawayheigh-Wert ist optional und kann dazu führen, dass der Text ausgeblendet wird, wenn er an den Rand seines Bereichs scrollt. 🎜🎜Scroll down;y1;y2;delay[;fadeawayheight], wie oben, zum Herunterscrollen. 🎜🎜Banner;delay[;lefttoright;fadeawaywidth] gibt an, dass der gesamte Text ignoriert und auf eine Zeile verlängert wird und von rechts nach links über den Bildschirm scrollt. 🎜Der Verzögerungswert ist der gleiche wie oben. 🎜Der lefttoright-Wert ist optional und nimmt den Wert 0 oder 1 an. Der Standardwert ist 0, was bedeutet, dass von rechts nach links gescrollt wird. 🎜fadeawaywidth-Wert ist derselbe wie oben. 🎜🎜🎜🎜11🎜🎜Text🎜🎜Untertiteltext. Es ist der Text, der tatsächlich als Untertitel auf dem Bildschirm erscheint. Jeder Text nach dem 9. Komma gilt als Untertiteltext und kann daher Kommas enthalten. Der Text kann den n-Code enthalten, der einen Zeilenumbruch darstellt, oder er kann den Stil-Override-Steuercode 🎜 enthalten, der zwischen geschweiften Klammern {} erscheint. 🎜🎜🎜🎜

      4.2 Ereigniszeile

      Das Dialogereignis gibt die entsprechenden Zahlen in der Reihenfolge der Felder aus, die in der obigen Formatzeile angegeben sind.

      Kommentar-, Bild-, Ton-, Film- und Befehlsereigniszeilen ersetzen nur das Textfeld durch die entsprechenden Parameterinformationen. Zum Beispiel die Kommentarinformationen von Comment, der vollständige Befehlspfad von Command, der Bildpfad von Picture usw.

      5. Beispiele für Code zum Überschreiben von Stilen und Spezialeffekten

      Die oben genannten vier Teile sind das grundlegende SSA/ASS-Format. Um verschiedene Spezialeffekte zu erzielen, ist es tatsächlich notwendig, verschiedene Codes zum Überschreiben der Stilsteuerung in den Text des Dialogs einzubetten. Das Folgende ist eine kurze Zusammenfassung:

      • Mit Ausnahme von h, n und N werden alle Überschreibungscodes in geschweiften Klammern {} geschrieben.
      • hnN,所有覆写代码都写在大括号{}内。
    • 所有覆写代码都以反斜杠开头。
    • 一个大括号{}内可以放多个覆写代码。
    • 所有覆写代码都作用于其后的所有文字。如果要让某个覆写代码只作用于选定的文字,你要在选定文字的后面加一个「取消」用的覆写代码,来取消前面那个覆写代码。
    • 某些覆写代码会自动作用于整行文本,目前只有Alignment代码,之后可能会加入更多(例如,阴影和边框深度的覆写)。
    • posmove等也会作用于整行文本,下面的具体说明中会提到。

    在下面的写法中,包围的表示参数,用[]包围的表示可选,<..></..>Alle überschriebenen Codes beginnen mit einem Backslash .

  • Mehrere Überschreibungscodes können in einer geschweiften Klammer {} platziert werden. Alle überschreibenden Codes gelten für den gesamten Text danach. Wenn Sie möchten, dass ein Überschreibungscode nur für den ausgewählten Text gilt, müssen Sie nach dem ausgewählten Text einen Überschreibungscode „Abbrechen“ hinzufügen, um den vorherigen Überschreibungscode aufzuheben. 🎜Einige Überschreibungscodes gelten automatisch für die gesamte Textzeile. Derzeit gibt es nur den Ausrichtungscode, weitere können später hinzugefügt werden (z. B. Überschreibungen von Schatten und Randtiefe). 🎜pos und move wirken sich auch auf die gesamte Textzeile aus, wie in den spezifischen Anweisungen unten erwähnt wird.
🎜🎜Im folgenden Text bedeutet Parameter und [] bedeutet optional. ..>Wählen Sie ein Element aus. 🎜Der eigentliche Code enthält kein ähnliches Symbol. 🎜
Code überschreiben Erklärung und Anmerkungen
n Zeilenumbruch. Wenn Smart Wrapping aktiviert ist, wird n ignoriert. n会被忽略。
写法举例:这是第一行n这是第二行。
n只在WrapStyle:2q2时会换行,其他模式下都相当于一个空格。
N 强制换行。当智能换行启用时用来代替n实现换行。
任何模式下都会强制换行。在xy-VSFilter中,N在过渡效果Banner中也会换行;在libass中,N在 Banner中不换行,相当于空格。
h 硬空格。不换行,暨可确保在显示字幕时不会在它的这个空格上分行(保证左右两个词在同一行)。
b b1文本加粗,b0取消粗体。
当该参数大于1,它会作为字体的重量值(400 = 普通,700 = 粗体,注意:大多数字体的粗细可以量化为2-3个等级)。
i i1文本加斜体,i0取消斜体。
u u1给文本加下划线,u0取消文本下划线。
s s1给文本加删除线,s0取消文本删除线。
bord
xbord
ybord
边框宽度,单位为像素,可以是小数。有x或y时可以单独设置沿X轴或Y轴的边框宽度。
写法举例:bord1xbord2ybord3
shad
xshad
yshad
阴影深度,单位为像素,可以是小数。有x或y时可以单独设置沿X轴或Y轴的阴影深度。
写法举例:shad1、xshad2、yshad3。
fn 指定一个系统中已安装的字体。区分大小写。如果指定的字体没有安装,那么会使用 Arial字体
写法举例:fn微软雅黑
fs 是一个数字,指定了字体点的尺寸。
注意,这里的字体尺寸并不是字号的大小,fs20并不是字体大小(font-size)为 20px,而是指其行高(line-height)为20px,主要是因为VSFilter使用的Windows GDI的字体接口。
fs+
fs-
将当前文本的字体尺寸乘一定的倍数。例如,fs+2表示将当前文本的字体尺寸乘1.2,fs-3表示将当前文本的字体尺寸乘0.7。计算方式为(10 ± ) * 当前字体尺寸,当计算的结果小于等于0时结果不生效,即依然为原来的字体尺寸。
fscx
fscy
缩放文字大小。fscx为水平缩放,fscy为垂直缩放。
写法举例:fscx233.33fscy50。可适用于矢量图形。
fsp 它改变字符之间的距离,默认为0。写法举例:fsp3
fr
frx
fry
frz
表示沿X/Y/Z轴旋转一定的度数。fr表示沿Z轴旋转。
写法举例:fr30frx-30fry-233.33frz480
其旋转的原点由org决定,如果没有指定org,那么按「默认定位点」来旋转。
fax
fay
分别沿X轴和Y轴对文字行进行倾斜调整。 如fax-0.5等同于斜体。一般情况下因数的绝对值不要超过2。
fe 指定文字的字符集(字体编码)。通常0为英文,1为系统默认,134为简体中文,136为繁体中文。
一般字幕文件保存为Unicode方式编码如UTF-8时,可以忽略该设置。
[]c[&][H][&] <bbggrr></bbggrr>Schreibbeispiel: Dies ist die erste Zeile nDies ist die zweite Zeile.
n wird nur umgebrochen, wenn WrapStyle:2 oder q2 ist. In anderen Modi entspricht es einem Leerzeichen. 🎜🎜🎜🎜N🎜🎜Neue Zeile erzwingen. Wenn der intelligente Zeilenumbruch aktiviert ist, wird er anstelle von n verwendet, um den Zeilenumbruch zu implementieren. 🎜Zeilenumbrüche werden in jedem Modus erzwungen. In xy-VSFilter wird N auch das Übergangseffekt-Banner einschließen; in libass wird N vorhanden sein Keine Zeilenumbrüche im Banner, was Leerzeichen entspricht. 🎜🎜🎜🎜h🎜🎜harte Räume. Ohne Zeilenumbrüche wird dadurch sichergestellt, dass die Untertitel bei der Anzeige nicht an dieser Stelle umgebrochen werden (um sicherzustellen, dass sich die linken und rechten Wörter in derselben Zeile befinden). 🎜🎜🎜🎜b🎜🎜b1 macht den Text fett, b0 hebt die Fettschrift auf. 🎜Wenn dieser Parameter größer als 1 ist, wird er als Gewichtungswert der Schriftart verwendet (400 = normal, 700 = fett, Hinweis: Die Dicke der meisten Schriftarten kann in 2-3 Stufen quantisiert werden). 🎜🎜🎜🎜i🎜🎜i1 Text ist kursiv, i0 ist kursiv. 🎜🎜🎜🎜u🎜🎜u1 unterstreicht den Text, u0 hebt die Unterstreichung des Textes auf. 🎜🎜🎜🎜s🎜🎜s1 fügt dem Text eine Durchstreichung hinzu und s0 hebt die Durchstreichung des Textes auf. 🎜🎜🎜🎜bord🎜xbord🎜ybord🎜🎜Rahmenbreite, Einheit ist Pixel, kann dezimal sein. Wenn x oder y vorhanden ist, kann die Rahmenbreite entlang der X- oder Y-Achse unabhängig voneinander eingestellt werden. 🎜Schreibbeispiele: bord1, xbord2, ybord3. 🎜🎜🎜🎜shad 🎜xshad 🎜yshad 🎜🎜 Schattentiefe, Einheit ist Pixel, kann dezimal sein. Wenn x oder y vorhanden ist, kann die Schattentiefe entlang der X- oder Y-Achse unabhängig voneinander eingestellt werden. 🎜Schreibbeispiele: shad1, xshad2, yshad3. 🎜🎜🎜🎜fn🎜🎜Geben Sie eine im System installierte Schriftart an. Groß- und Kleinschreibung beachten. Wenn die angegebene Schriftart nicht installiert ist, wird die Arial-Schriftart verwendet. 🎜Schreibbeispiel: fnMicrosoft Yahei. 🎜🎜🎜🎜fs🎜🎜 ist eine Zahl, die die Schriftpunktgröße angibt. 🎜Beachten Sie, dass die Schriftgröße hier nicht die Schriftgröße fs20 ist. Dies bedeutet nicht, dass die Schriftgröße (font-size) 20 Pixel beträgt, sondern dass die Zeilenhöhe (line-height) hauptsächlich 20 Pixel beträgt weil VSFilter die Windows-GDI-Schriftartschnittstelle verwendet. 🎜🎜🎜🎜fs+🎜fs-🎜🎜Multiplizieren Sie die Schriftgröße des aktuellen Textes mit einem bestimmten Vielfachen. Beispielsweise bedeutet fs+2 das Multiplizieren der Schriftgröße des aktuellen Texts mit 1,2 und fs-3 bedeutet das Multiplizieren der Schriftgröße des aktuellen Texts mit 0,7. Die Berechnungsmethode ist (10 ± ) * aktuelle Schriftgröße. Wenn das berechnete Ergebnis kleiner oder gleich 0 ist, wird das Ergebnis nicht wirksam, d. h. es bleibt die ursprüngliche Schriftgröße. 🎜🎜🎜🎜fscx🎜fscy🎜🎜Textgröße skalieren. fscx<percentage></percentage> ist eine horizontale Skalierung, fscy<percentage></percentage> ist eine vertikale Skalierung. 🎜Schreibbeispiele: fscx233.33, fscy50. Kann für Vektorgrafiken verwendet werden. 🎜🎜🎜🎜fsp🎜🎜Es ändert den Abstand zwischen Zeichen, der Standardwert ist 0. Schreibbeispiel: fsp3. 🎜🎜🎜🎜fr🎜frx🎜fry🎜frz🎜🎜 stellt einen bestimmten Grad der Drehung entlang der X/Y/Z-Achse dar. fr<grad></grad> bedeutet Drehung entlang der Z-Achse. 🎜Schreibbeispiele: fr30, frx-30, fry-233.33, frz480. 🎜Der Ursprung seiner Drehung wird durch org bestimmt. Wenn org nicht angegeben ist, basiert die Drehung auf dem „Standardankerpunkt“. 🎜🎜🎜🎜fax🎜fay🎜🎜kippen Sie die Textzeilen entlang der X- bzw. Y-Achse. Beispielsweise entspricht fax-0.5 der Kursivschrift. Im Allgemeinen sollte der Absolutwert des Faktors 2 nicht überschreiten. 🎜🎜🎜🎜fe🎜🎜Gibt den Zeichensatz (Schriftkodierung) des Textes an. Normalerweise steht 0 für Englisch, 1 für den Systemstandard, 134 für vereinfachtes Chinesisch und 136 für traditionelles Chinesisch. 🎜Wenn Untertiteldateien im Allgemeinen in Unicode-Kodierung wie UTF-8 gespeichert werden, kann diese Einstellung ignoriert werden. 🎜🎜🎜🎜[]c[&][H][&]🎜🎜<bbggrr></bbggrr> ist ein hexadezimaler RGB-Wert, aber die Farbe Die Reihenfolge ist umgekehrt und die führende 0 kann weggelassen werden. 🎜 Die optionalen Werte sind 1, 2, 3 und 4, was der separaten Einstellung von PrimaryColor, SecondaryColor, OutlineColor und BackColor entspricht zu PrimaryColor.
Schreibbeispiele: c&HFF0000&, 1c&HFF&, 2c&HFF00&, 3c&HFFFFFF, 4cFFFFFF. Das & und H sollten gemäß der Spezifikation vorhanden sein, andernfalls kann es normal geparst werden.
[]c Wenn c keine anderen Zeichen folgen, wird es auf das aktuell verwendete Zeichen gesetzt Stil entsprechender Wert.
a[&][H][&] ist eine Zehner-Hexadezimalzahl Transparenzwert, 00 ist undurchsichtig, FF ist vollständig transparent. c&HFF0000&1c&HFF&2c&HFF00&3c&HFFFFFF4cFFFFFF。其中的&和H按规范应该是要有的,但是如果没有也能正常解析。
[]c 当c后面不跟其他字符时,会设置为当前使用的Style中所定义的对应的值。
a[&][H][&] 是一个十六进制的透明度数值,00为不透明,FF为全透明。
含义同上,但这里不能省略。
写法举例:1a&H80&2a&H803a804a&H80&
其中的&和H按规范应该是要有的,但是如果没有也能正常解析。
alpha[&][H][&] 是一个十六进制的透明度数值,00为不透明,FF为全透明。它默认相当于1a&H<aa>&</aa>
写法举例:alpha80
a 是一个数字,决定了字幕显示在屏幕上哪个位置。
1、2、3 分别是底部的居左、居中、居右;
5、6、7 分别是顶部的居左、居中、居右;
9、10、11 分别是中部的居左、居中、居右。
如果是0或者没有就设置为默认位置。如果出现了多个a或an则以第一个出现的为准。
an 与小键盘布局相同。如果出现了多个a或an则以第一个出现的为准。
q 是一个数字,与WrapStyle相同。
0:智能换行,分割比较均匀,上面的行较长。
1:从行尾的词换行,只有 N 能强制换行。
2:不换行,n 和 N 强制换行。
3:和 0 一样智能换行,下面的行较长。
r[] 是在[v4 Styles+]中定义的样式名,它会把这行中所有它之后的文本设置为样式名对应的样式。如果没有写 或者 没有被定义,将会设置为默认样式。
例如,假设已定义了把字体设为蓝色的 Blue 样式,{1c&HFF&}这里是红色{rBlue}这里是蓝色{1c&HFF00&}这里是绿色。
move(<x1>,<y1>,<x2>,<y2>[,<t1>,<t2>])</t2></t1></y2></x2></y1></x1> 提供字幕的移动效果。,是开始点坐标,,是结束点坐标。
是相对于字幕显示时间的开始运动与结束运动的毫秒时间。
之前,字幕定位在,
之间,字幕从,均速移动到,
之后,字幕定位在,
没写或者都是 0 时,则在字幕的整段时间内均速移动。
当一行中有多个 pos 和 move 时,以第一个为准。
当move 和Effect 效果同时存在时,结果比较迷。
当一行中含有 move 时会忽略字幕重叠冲突的检测。
pos(<x>,<y>)</y></x> 将字幕定位在坐标点,。屏幕的左上角为0,0。字幕的「定位点」由aanAlignment决定。例如:
an1的定位点在字幕的左下角。
an2的定位点在字幕底边的正中间。
an3的定位点在字幕的右下角。
an4的定位点在字幕左边线的正中间。
an5的定位点在字幕垂直水平的正中间。
an6的定位点在字幕右边线的正中间。
an7的定位点在字幕的左上角。
an8的定位点在字幕顶边的正中间。
an9的定位点在字幕的右上角。
当一行中有多个posmove时,以第一个为准。事实上pos(<x>,<y>)</y></x>相当于move(<x>,<y>,<x>,<y>,0,0)</y></x></y></x> hat die gleiche Bedeutung wie oben, kann hier aber nicht weggelassen werden.
Schriftbeispiele: 1a&H80&, 2a&H80, 3a80, 4a&H80&. 🎜Das & und H sollten gemäß der Spezifikation vorhanden sein, andernfalls kann es normal analysiert werden.
alpha[&][H][&] ist eine hexadezimale benutzerdefinierte Transparenz Wert, 00 ist undurchsichtig, FF ist vollständig transparent. Der Standardwert ist 1a&H<aa>&</aa>. 🎜Schreibbeispiel: alpha80.
a<position></position> ist eine Zahl, die bestimmt, wo auf dem Bildschirm die Untertitel angezeigt werden. 🎜1, 2 und 3 sind jeweils links, in der Mitte und rechts unten; 🎜5, 6 und 7 sind jeweils links, in der Mitte und rechts oben; 🎜9, 10 und 11 sind jeweils links, in der Mitte bzw. genau in der Mitte. 🎜Wenn es 0 oder keine ist, stellen Sie es auf die Standardposition ein. Wenn es mehrere „a“ oder „an“ gibt, hat das zuerst erscheinende Wort Vorrang.
eine Entspricht dem Tastaturlayout. Wenn es mehrere „a“ oder „an“ gibt, hat das zuerst erscheinende Wort Vorrang.
q ist eine Zahl, genau wie WrapStyle. 🎜0: Intelligenter Zeilenumbruch, die Teilung ist relativ gleichmäßig und die obere Zeile ist länger. 🎜1: Zeilenumbruch vom Wort am Ende der Zeile, nur N kann einen Zeilenumbruch erzwingen. 🎜2: Keine Zeilenumbrüche, n und N erzwingen Zeilenumbrüche. 🎜3: Intelligenter Zeilenumbruch wie 0, die folgende Zeile ist länger.
r[] ist der in [v4 Styles+] definierte Stilname, er legt den gesamten Text fest danach in dieser Zeile auf den Stil, der dem Stilnamen entspricht. Wenn nicht geschrieben ist oder nicht definiert ist, wird es als Standardstil festgelegt. 🎜Angenommen, der Blau-Stil wurde definiert, um die Schriftart auf Blau zu setzen: {1c&HFF&}Here is red{rBlue}Here is blue{1c&HFF00& } Das ist grün.
move(<x1>,<y1>,<x2>,<y2>[,<t1>,<t2>] )</t2></t1></y2></x2></y1></x1> Sorgt für den Bewegungseffekt von Untertiteln. , sind die Startpunktkoordinaten, , sind die Endpunktkoordinaten. 🎜 und sind die Millisekunden der Start- und Endbewegung relativ zur Untertitel-Anzeigezeit. 🎜Vor werden die Untertitel bei , positioniert. 🎜Zwischen und bewegen sich die Untertitel mit gleichmäßiger Geschwindigkeit von , nach , . 🎜Nach werden die Untertitel bei , positioniert. 🎜Wenn und nicht geschrieben sind oder beide 0 sind, bewegen sich die Untertitel während des gesamten Zeitraums mit gleichmäßiger Geschwindigkeit. 🎜Wenn mehrere Positionen und Bewegungen in einer Reihe vorhanden sind, hat die erste Vorrang. 🎜Wenn Bewegung und Effekt gleichzeitig vorhanden sind, ist das Ergebnis verwirrend. 🎜Wenn eine Zeile eine Verschiebung enthält, wird die Erkennung von Überlappungskonflikten bei Untertiteln ignoriert. x1>
pos(&lt ;x>,<y>)</y> Positionieren Sie die Untertitel an den Koordinatenpunkten , . Die obere linke Ecke des Bildschirms ist 0,0. Der „Anker“ des Untertitels wird durch a<position></position>, an<position></position> und Ausrichtung bestimmt. Beispiel: Der Ankerpunkt von 🎜an1 befindet sich in der unteren linken Ecke des Untertitels. Der Positionierungspunkt von 🎜an2 liegt in der Mitte des unteren Randes des Untertitels. Der Ankerpunkt von 🎜an3 befindet sich in der unteren rechten Ecke des Untertitels. Der Positionierungspunkt von 🎜an4 liegt in der Mitte der linken Zeile des Untertitels. 🎜an5s Positionierungspunkt liegt vertikal und horizontal in der Mitte der Untertitel. Der Positionierungspunkt von 🎜an6 liegt in der Mitte der rechten Zeile des Untertitels. Der Ankerpunkt von 🎜an7 befindet sich in der oberen linken Ecke des Untertitels. 🎜Der Ankerpunkt von an8 liegt in der Mitte der Oberkante der Untertitel. Der Ankerpunkt von 🎜an9 befindet sich in der oberen rechten Ecke der Untertitel. 🎜Wenn es mehrere pos und move in einer Zeile gibt, hat das erste Vorrang. Tatsächlich ist pos(<x>,<y>)</y></x> äquivalent zu move(<x>,<y>,<x>,<y>, 0, 0)</y></x></y></x>. 🎜当一行中含有 \pos 时会忽略字幕重叠冲突的检测。
\org\(<x>,<y>)</y></x> 设置字幕的原点为,。字幕的原点会影响其旋转效果,字幕是基于原点来旋转的。当未设置时默认为字幕的定位点。
当一行中有多个\org时,以第一个为准。
原点就是定位点,定位点就是原点。
\fad(<t1>,<t2>)</t2></t1> 提供简单的淡入淡出效果。t1为淡入时间长度,t2为淡出时间长度。单位为毫秒。
当一行中有多个 \fad 或 \fade 时,以第一个为准。
\fade(<a1>,<a2>,<a3>,<t1>,<t2>,<t3>,<t4>)</t4></t3></t2></t1></a3></a2></a1> 提供复杂的淡入淡出效果。单位为毫秒。

之前,透明度为
之间,透明度由变化到
之间,透明度为
之间,透明度由变化到
之后,透明度为
当 \fade 只有两个参数时,其效果与 \fad 一致。
当一行中有多个 \fad 或 \fade 时,以第一个为准。
\[i]clip(<x1>,<y1>,<x2>,<y2>)</y2></x2></y1></x1> 定义一个矩形,只有在该矩形范围内的内容可见或不可见。,为矩形的左上角,,为矩形的右下角。\clip 是矩形范围内可见,\iclip 是矩形范围内不可见。
当一行中有多个\[i]clip出现时,以最后一个为准。
\[i]clip([,]) 定义一个绘画图形,只有在该绘画图形范围内的内容可见或不可见。 和 的含义与 \p 相同。

这里举一个我实际中使用过的示例:
需要控制字幕显示的行间距,需要怎么做呢?
假设字幕预设字体大小为16,下面文本如何控制行间距?

…很长的字幕…\N…下一行字幕…

虽然这里有\N换行符了,但显示出来还是两行紧挨在一起,没有行距。
那么参考上面的覆盖代码,可以通过下面命令调整行间距:

…很长的字幕…\N{\fs12}\N{\fs16}…下一行字幕…

当然最终行间距数值按照需求更改就行了。

6、小结

SSA/ASS是相对复杂的字幕格式,但其也具有丰富的功能集及可扩展性。本文简要概述了SSA/ASS字幕文件的主要构成及基本样式覆盖代码。

更多相关知识,请访问常见问题栏目!

Das obige ist der detaillierte Inhalt vonWas ist das Dateiformat von ass?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn