溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SSA/ASS的基本結(jié)構(gòu)是什么

發(fā)布時(shí)間:2023-02-23 09:19:49 來(lái)源:億速云 閱讀:296 作者:iii 欄目:互聯(lián)網(wǎng)科技

本文小編為大家詳細(xì)介紹“SSA/ASS的基本結(jié)構(gòu)是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“SSA/ASS的基本結(jié)構(gòu)是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

ass是字幕文件的格式。ASS全稱“Advanced SubStation Alpha”是一種高級(jí)的字幕格式,是基于SSA 4.00+編碼構(gòu)建的,在SSA編寫(xiě)風(fēng)格的基礎(chǔ)上增添更多的特效和指令;該格式字幕的外掛文件以“*.ass”作為后綴。ASS字幕是純文本文件,這意味著它可以用任意文本編輯器手工編輯。

ASS 是大多數(shù)字幕制作者所公認(rèn)的并且經(jīng)常使用的字幕格式。

SubStation Alpha(Sub Station Alpha),簡(jiǎn)稱SSA,是由CS Low(亦稱Kotus)創(chuàng)建,比傳統(tǒng)字幕格式(如SRT)功能更加先進(jìn)的字幕文件格式。該格式字幕的外掛文件以*.ssa作為后綴。

Advanced SubStation Alpha(ASS)是一種比SSA更為高級(jí)的字幕格式, 其實(shí)質(zhì)版本是SSA v4.00+。它是基于SSA 4.00+編碼構(gòu)建的。ASS的主要變化就是在SSA編寫(xiě)風(fēng)格的基礎(chǔ)上增添更多的特效和指令。該格式字幕的外掛文件以*.ass作為后綴。

目前有很多播放器支持渲染SSA、ASS字幕。

ASS是可以兼容SSA格式的。

SSA/ASS的基本結(jié)構(gòu)是什么

1、SSA/ASS基本結(jié)構(gòu)

SSA/ASS字幕是純文本文件,這意味著它們可以用任意文本編輯器手工編輯,但必須要注意:解析器假定此腳本是遵循SSA標(biāo)準(zhǔn)中所定義的規(guī)則,在解析時(shí)任何錯(cuò)誤都可能會(huì)導(dǎo)致無(wú)法預(yù)料的結(jié)果。

SSA/ASS腳本被劃分為類ini文件風(fēng)格的多個(gè)section。但它并不是標(biāo)準(zhǔn)的ini文件。
該腳本最多包含五個(gè)section:[Script Info][v4+ Styles]、[Events]、[Fonts][Graphics]。

  • [Script Info]必須是整個(gè)文件的第一行。

  • 現(xiàn)在的SSA文件已經(jīng)很少包含[Fonts][Graphics]這兩個(gè)部分了。
    因?yàn)檫@些功能只被Sub Station Alpha這一個(gè)程序所支持,而其它的filter (Vobsub/Vsfilter/Avery Lee Subtitler filter) 都不支持。

  • 每個(gè)section中的大多數(shù)行都以某些說(shuō)明性文字開(kāi)頭,稱為“行描述符(line descriptor)”,以冒號(hào)結(jié)束。

  • 行類型(line type)主要包括:

    • 分號(hào)開(kāi)頭的注釋行;

    • Format:格式行;

    • [Script Info]部分中的15個(gè)行類型;

    • [v4+ Styles]部分的樣式行;

    • [Events]部分的6個(gè)行類型。(行類型將在后續(xù)的每部分單獨(dú)介紹)。

  • 每一行中的信息字段用逗號(hào)分隔,所以角色名稱([Events]部分)和樣式名稱([v4+ Styles]部分)中不能含有逗號(hào)。

  • 行是不可分割。
    腳本中的每個(gè)條目都包含了一行中所有的信息,不能被分成多行。

  • 格式不正確的行會(huì)被忽略。

  • [Events]部分的事件順序可以打亂輸入,仍可被正確播放,我們不能假定每個(gè)對(duì)話行都按照時(shí)間順序排列在腳本文件中。

  • 如果在腳本中使用了未知的樣式,那么將使用*Default樣式 。

  • 如果樣式指定了未安裝的字體,那么將使用Arial/宋體

以下是SSA/ASS文件中五個(gè)主要部分的簡(jiǎn)要總結(jié):

[Script Info]

這一部分包含了腳本的頭部和總體信息。[Script Info] 必須是 v4 版本腳本的第一行。

[v4 Styles]

這一部分包含了所有樣式的定義。每一個(gè)被腳本使用的樣式都應(yīng)該在這里定義。ASS 使用 [v4+ Styles]。

[Events]

這一部分包含了所有腳本的事件,有字幕、注釋、圖片、聲音、影像和命令。基本上,所有在屏幕上看到的內(nèi)容都在這一部分。

[Fonts]

這一部分包含了腳本中內(nèi)嵌字體的信息。

[Graphics]

這一部分包含了腳本中內(nèi)嵌圖片的信息。

2、[Script Info]部分

一個(gè)典型的[Script Info]部分是這樣的:

[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

此部分定義了多個(gè)行類型,其對(duì)應(yīng)含義如下:

腳本行備注
;分號(hào),后面可以跟任何內(nèi)容。只在腳本中用作注釋。加載腳本時(shí)不可見(jiàn)。分號(hào)必須是該行的第一個(gè)字符。舊版本中使用!:注釋
Title標(biāo)題,對(duì)腳本的描述。如果未指定,自動(dòng)設(shè)置為untitled
Original Script最初創(chuàng)建腳本的作者。如果未指定,自動(dòng)設(shè)置為unknown
Original Translation(可選)最初翻譯對(duì)話的人。如果未指定,該項(xiàng)不顯示
Original Editing(可選)最初腳本的編輯者,通常是對(duì)翻譯潤(rùn)色和校對(duì)的人。如果未指定,該項(xiàng)不顯示
Original Timing(可選)最初的時(shí)間軸人員。如果未指定,該項(xiàng)不顯示
Synch Point(可選)指明什么時(shí)候腳本應(yīng)該開(kāi)始播放。如果未指定,該項(xiàng)不顯示
Script Updated By(可選)對(duì)原腳本進(jìn)行更新的其他字幕團(tuán)體的人。如果未指定,該項(xiàng)不顯示
Update Details(可選)其他字幕團(tuán)體對(duì)原腳本更新的細(xì)節(jié)。如果未指定,該項(xiàng)不顯示
ScriptTypeSSA 腳本格式的版本。例如 V4.00。如果當(dāng)前使用的 SSA 程序版本舊于腳本的版本,將給出警告
Collisions為了防止字幕重疊,它決定了字幕如何移動(dòng)。
如果設(shè)置為Normal,SSA 將嘗試使用「Margins」指定的位置來(lái)定位字幕。同時(shí),字幕會(huì)垂直地移動(dòng)來(lái)防止重疊。在Normal的防重疊模式下,新字幕會(huì)出現(xiàn)在已存在字幕的上方,但它會(huì)尋找最低的不產(chǎn)生重疊的位置,來(lái)填補(bǔ)其他字幕產(chǎn)生的「空隙」。
如果設(shè)置為Reverse,已存在的字幕會(huì)上移給新字幕騰出空間。這意味這字幕總是可以自上向下地閱讀,但也意味著已存在的字幕可能會(huì)在新字幕出現(xiàn)之前出現(xiàn)在屏幕的中間。它會(huì)占用大量的屏幕區(qū)域。
PlayResY渲染字幕時(shí)的渲染范圍的高度。如果使用Directdraw播放,SSA v4會(huì)自動(dòng)選擇最接近的已啟用的設(shè)置
PlayResX渲染字幕時(shí)的渲染范圍的寬度。如果使用Directdraw播放,SSA v4會(huì)自動(dòng)選擇最接近的已啟用的設(shè)置
PlayDepth渲染字幕時(shí)的顏色深度。如果使用 Directdraw播放,SSA v4會(huì)自動(dòng)選擇最接近的已啟用的設(shè)置
Timer腳本的計(jì)時(shí)器速度,使用浮點(diǎn)的百分比。例如,100.0000代表100%,保留四位小數(shù)。
計(jì)時(shí)器速度是應(yīng)用于SSA時(shí)鐘的時(shí)間乘數(shù),以提供斜坡時(shí)間來(lái)擴(kuò)展或壓縮腳本的總時(shí)間。速度大于100%會(huì)減少腳本總時(shí)間,意味著字幕會(huì)逐步地越來(lái)越早地出現(xiàn);速度小于100%會(huì)增加腳本總時(shí)間,意味著字幕會(huì)逐步地越來(lái)越晚地出現(xiàn)(就像一個(gè)正的斜坡時(shí)間)。
擴(kuò)展和壓縮只發(fā)生在腳本播放時(shí),這個(gè)值不會(huì)改變腳本事件部分的實(shí)際時(shí)間。
WrapStyle定義了默認(rèn)的換行方式。
0:智能換行,分割比較均勻,上面的行較長(zhǎng)。
1:從行尾的詞換行,只有\(zhòng)N能強(qiáng)制換行。
2:不換行,\n和\N強(qiáng)制換行。
3:和0一樣智能換行,下面的行較長(zhǎng)。
ScaledBorderAndShadow指定邊框?qū)挾扰c陰影深度是否隨著視頻分辨率等比例縮放,默認(rèn)為No。
當(dāng)值為 No 時(shí),邊框?qū)挾扰c陰影深度完全按照指定的像素?cái)?shù)顯示;當(dāng)值為 Yes 時(shí),邊框?qū)挾扰c陰影深度隨著實(shí)際視頻的分辨率同等比例縮放。

在實(shí)際應(yīng)用中可能用到的是Title、PlayResX、PlayResY、WrapStyle等。

3、[v4 Styles]部分

這一部分包含了所有樣式的定義。每一個(gè)被腳本使用的樣式都應(yīng)該在這里定義。區(qū)別于SSA,ASS 使用[v4+ Styles]關(guān)鍵字。
典型的字段如下:

[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

這一部分用來(lái)定義字幕的外觀和位置,以便[Events]部分直接引用。此部分由格式行(Format:)和樣式行(Style:)組成。除邊框樣式外,所有樣式都可以在[Events]部分使用代碼重設(shè)。

格式行和樣式行的內(nèi)容一一對(duì)應(yīng)。格式行定義了如何解釋樣式中的每個(gè)字段,因此格式行必須出現(xiàn)在所有的樣式之前,且格式行中列出的字段名必須拼寫(xiě)正確!格式行允許在未來(lái)將新字段添加到腳本格式中,并且允許舊版本的軟件讀取它所識(shí)別的字段——即使字段順序已經(jīng)更改。包括如下23個(gè)字段:

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]部分引用,區(qū)分大小寫(xiě),不能包含逗號(hào))
Fontname字體名稱( Windows所使用的字體名稱,區(qū)分大小寫(xiě))
Fontsize字體大小(字號(hào))
PrimaryColour主體顏色(一般情況下文字的顏色)
SecondaryColour次要顏色(在卡拉OK效果中字幕由次要顏色變?yōu)橹黧w顏色)
OutlineColor邊框顏色
BackColour陰影顏色
Bold粗體(-1=開(kāi)啟,0=關(guān)閉)
Italic斜體(-1=開(kāi)啟,0=關(guān)閉)
Underline下劃線( -1=開(kāi)啟,0=關(guān)閉)
Strikeout刪除線( -1=開(kāi)啟,0=關(guān)閉)
ScaleX橫向縮放(單位%,100即正常寬度)
ScaleY縱向縮放(單位%,100即正常高度)
Spacing字間距(單位像素,支持小數(shù))
Angle旋轉(zhuǎn)角度(繞z軸逆時(shí)針旋轉(zhuǎn)\frz,負(fù)數(shù)=順時(shí)針旋轉(zhuǎn)。單位,支持小數(shù))
BorderStyle邊框樣式(1=邊框+陰影,3=不透明底框)
Outline邊框?qū)挾龋▎挝?code>像素,可用小數(shù))
Shadow陰影深度(單位像素,可用小數(shù),右下偏移)
Alignment對(duì)齊方式(同小鍵盤(pán)布局,決定了旋轉(zhuǎn)/定位/縮放的參考點(diǎn))
MarginL左邊距(字幕距左邊緣的距離,單位像素,右對(duì)齊和中對(duì)齊時(shí)無(wú)效)
MarginR右邊距(字幕距右邊緣的距離,單位像素,左對(duì)齊和中對(duì)齊時(shí)無(wú)效)
MarginV垂直邊距(字幕距垂直邊緣的距離,單位像素,下對(duì)齊時(shí)表示到底部的距離;上對(duì)齊時(shí)表示到頂部的距離;中對(duì)齊時(shí)無(wú)效,文本位于垂直中心)
Encoding編碼( 0=ANSI,1=默認(rèn),128=日文,134=簡(jiǎn)中,136=繁中,一般用默認(rèn)1即可 )

其中腳本支持的顏色格式是:&Haabbggrr,均為十六進(jìn)制,取值0-9,A-F。
前2位(alpha)為透明度,00=不透明,F(xiàn)F=DEC255=全透明;
后6是BGR藍(lán)綠紅顏色。 排在最前的00可以忽略不寫(xiě), 如:{\c&HFF&}={\c&H0000FF&}為純紅色、&HFFFFFF=純白色、&HC8000000=透明度為200的黑色。

4、[Events]部分

該部分的一個(gè)典型示例是:

[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:)和多個(gè)事件行組成。格式航定義了事件行中各種字段的具體含義,因此格式行必須出現(xiàn)在所有事件前。事件行包括:

  • Dialogue: 這是一個(gè)“對(duì)話”事件,用于顯示一些文本。

  • Comment: 這是一個(gè)“評(píng)論”事件,它包含與對(duì)話、圖片、聲音、電影或命令事件相同的信息,但在腳本回放期間會(huì)被忽略。

  • Picture: 這是一個(gè)“圖片”事件 ,意味著SSA將顯示指定的.bmp、.jpg、.gif、.ico或.wmf圖形(不支持.png, 且filter不支持加載圖片)。

  • Sound: 這是一個(gè)“聲音”事件,意味著SSA將播放指定的.wav文件。 (filter不支持)

  • Movie: 這是一個(gè)“影片”事件,意味著SSA將播放指定的.avi文件。 (filter不支持)

  • Command: 這是一個(gè)“命令”事件,意味著SSA將執(zhí)行指定的程序作為后臺(tái)任務(wù)。 (filter不支持)

注意后面三個(gè)使用頻率及兼容性過(guò)低,這里不作深入分析。

4.1 格式行Format:

Format 行必須出現(xiàn)在所有事件行之前,因?yàn)樗鼪Q定了SSA如何來(lái)解析下面的事件行。其所列出的字段必須正確拼寫(xiě)。字段名如下:
Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text

最后的字段總是 Text,以便其可以包含逗號(hào)。
格式行支持在未來(lái)的腳本格式中添加新的字段,也支持舊版本的軟件讀出它所能識(shí)別的字段,即便字段的順序發(fā)生了變化。其中各字段含義如下:

編號(hào)字段名備注
1MarkedMarked=0,表示在SSA中該行不顯示為已標(biāo)識(shí)。
Marked=1,表示在SSA中該行顯示為已標(biāo)識(shí)。
通常設(shè)置Marked為0
2Layer任何整數(shù)。
有不同圖層數(shù)值的字幕會(huì)在重疊檢測(cè)中被忽略。
大數(shù)值的圖層會(huì)覆蓋在小數(shù)值的圖層上面。
3Start事件的開(kāi)始時(shí)間,格式為0:00:00:00(小時(shí):分:秒:毫秒),最小單位為0.01s。它是字幕顯示在屏幕上時(shí)腳本播放經(jīng)過(guò)的時(shí)間。注意小時(shí)只有一位。
4End事件的結(jié)束時(shí)間,格式為0:00:00:00(小時(shí):分:秒:毫秒)。它是字幕在屏幕上消失時(shí)腳本播放經(jīng)過(guò)的時(shí)間。注意小時(shí)只有一位。
5Style樣式名。如果為 Default,那么你自己的*Default樣式會(huì)取代它。
然而,如果腳本作者要使用的Default樣式已存儲(chǔ)在腳本中卻被SSA忽略了,如果你要使用它,你可以修改樣式定義行里的名稱,以便它出現(xiàn)在腳本的樣式列表里。
在實(shí)際的應(yīng)用中,若在[v4+ Styles]中定義好Default樣式,如果之后使用了未定義的樣式名,那么就使用Default樣式。如果Default樣式也沒(méi)有定義,那樣才使用渲染器自帶的樣式。
6Name角色名。說(shuō)這條對(duì)白的角色名。只為了在編輯和設(shè)定時(shí)間軸時(shí)方便辨認(rèn)。
7MarginL4位的左邊距覆寫(xiě)值(為像素)。0000 表示使用在Style行中定義的值。
8MarginR4位的右邊距覆寫(xiě)值(為像素)。0000 表示使用在Style行中定義的值。
9MarginV4位的垂直邊距覆寫(xiě)值(為像素)。0000 表示使用在Style行中定義的值。
10Effect過(guò)渡效果??梢詾榭罩担蛘邽樵赟SA v4.x實(shí)現(xiàn)的三種過(guò)渡效果之一。
效果名稱區(qū)分大小寫(xiě),必須正確拼寫(xiě),不加引號(hào)。
Karaoke,表示卡拉OK效果,依次高亮每個(gè)字。作為一個(gè)效果類型已經(jīng)廢棄不用。

Scroll up;y1;y2;delay[;fadeawayheight],表示文本或圖片會(huì)在屏幕上向上滾動(dòng)。
Scroll up之后的參數(shù)字段用分號(hào)分隔。
y1和y2值(為像素)定義了文本在屏幕上滾動(dòng)的垂直區(qū)域。兩個(gè)值位置可以互換。如果兩個(gè)值都是 0,文本會(huì)在整個(gè)屏幕高度向上滾動(dòng)。
delay值可取值1到100以降低滾動(dòng)的速度,0表示無(wú)延遲按原速度滾動(dòng)。當(dāng)delay值大于1時(shí),移動(dòng)1像素需要(1000/delay)秒。
fadeawayheigh值可選,可以使文本滾動(dòng)到其范圍的邊緣時(shí)呈現(xiàn)淡出效果。

Scroll down;y1;y2;delay[;fadeawayheight],同上,為向下滾動(dòng)。

Banner;delay[;lefttoright;fadeawaywidth],表示所有文本都忽略長(zhǎng)度到一行里,從右向左滾動(dòng)經(jīng)過(guò)屏幕。
delay值同上。
lefttoright值可選,取值0或1。默認(rèn)為0,表示從右向左滾動(dòng)。
fadeawaywidth值同上。
11Text字幕文本。它是作為字幕實(shí)際出現(xiàn)在屏幕上的文本。任何第9個(gè)逗號(hào)之后的文本都被當(dāng)作是字幕文本,所以它可以包含逗號(hào)。文本中可以包含表示換行的\n代碼,也可以包含在大括號(hào){}之間出現(xiàn)的樣式覆寫(xiě)控制代碼

4.2 事件行

其中Dialog事件按照上述格式行給出的字段順序給出對(duì)應(yīng)數(shù)字。

Comment、Picture、Sound、Movie、Command事件行僅僅把Text字段換成了對(duì)應(yīng)的參數(shù)信息。比如Comment的評(píng)論信息,Command的命令全路徑,Picture的圖片路徑等等。

5、樣式控制覆寫(xiě)代碼以及特效示例

上述四個(gè)部分是基本的SSA/ASS格式。那么為了實(shí)現(xiàn)各種特效,實(shí)際上是需要在Dialog的Text中嵌入各種樣式控制覆寫(xiě)代碼的。下面簡(jiǎn)單總結(jié)下:

  • 除了\h、\n\N,所有覆寫(xiě)代碼都寫(xiě)在大括號(hào){}內(nèi)。

  • 所有覆寫(xiě)代碼都以反斜杠\開(kāi)頭。

  • 一個(gè)大括號(hào){}內(nèi)可以放多個(gè)覆寫(xiě)代碼。

  • 所有覆寫(xiě)代碼都作用于其后的所有文字。如果要讓某個(gè)覆寫(xiě)代碼只作用于選定的文字,你要在選定文字的后面加一個(gè)「取消」用的覆寫(xiě)代碼,來(lái)取消前面那個(gè)覆寫(xiě)代碼。

  • 某些覆寫(xiě)代碼會(huì)自動(dòng)作用于整行文本,目前只有Alignment代碼,之后可能會(huì)加入更多(例如,陰影和邊框深度的覆寫(xiě))。

  • \pos\move等也會(huì)作用于整行文本,下面的具體說(shuō)明中會(huì)提到。

在下面的寫(xiě)法中,<>包圍的表示參數(shù),用[]包圍的表示可選,<../..>選擇一項(xiàng)。在實(shí)際代碼中并沒(méi)有類似符號(hào)。

覆寫(xiě)代碼釋義及備注
\n換行。如果啟用了智能換行,\n會(huì)被忽略。
寫(xiě)法舉例:這是第一行\(zhòng)n這是第二行。
\n只在WrapStyle:2\q2時(shí)會(huì)換行,其他模式下都相當(dāng)于一個(gè)空格。
\N強(qiáng)制換行。當(dāng)智能換行啟用時(shí)用來(lái)代替\n實(shí)現(xiàn)換行。
任何模式下都會(huì)強(qiáng)制換行。在xy-VSFilter中,\N在過(guò)渡效果Banner中也會(huì)換行;在libass中,\N在 Banner中不換行,相當(dāng)于空格。
\h硬空格。不換行,暨可確保在顯示字幕時(shí)不會(huì)在它的這個(gè)空格上分行(保證左右兩個(gè)詞在同一行)。
\b<0/1>\b1文本加粗,\b0取消粗體。
當(dāng)該參數(shù)大于1,它會(huì)作為字體的重量值(400 = 普通,700 = 粗體,注意:大多數(shù)字體的粗細(xì)可以量化為2-3個(gè)等級(jí))。
\i<0/1>\i1文本加斜體,\i0取消斜體。
\u<0/1>\u1給文本加下劃線,\u0取消文本下劃線。
\s<0/1>\s1給文本加刪除線,\s0取消文本刪除線。
\bord<寬度>
\xbord<寬度>
\ybord<寬度>
邊框?qū)挾?,單位為像素,可以是小?shù)。有x或y時(shí)可以單獨(dú)設(shè)置沿X軸或Y軸的邊框?qū)挾取?br/>寫(xiě)法舉例:\bord1、\xbord2\ybord3。
\shad<深度>
\xshad<深度>
\yshad<深度>
陰影深度,單位為像素,可以是小數(shù)。有x或y時(shí)可以單獨(dú)設(shè)置沿X軸或Y軸的陰影深度。
寫(xiě)法舉例:\shad1、\xshad2、\yshad3。
\fn<字體名>指定一個(gè)系統(tǒng)中已安裝的字體。區(qū)分大小寫(xiě)。如果指定的字體沒(méi)有安裝,那么會(huì)使用 Arial字體
寫(xiě)法舉例:\fn微軟雅黑。
\fs<字體尺寸><字體尺寸>是一個(gè)數(shù)字,指定了字體點(diǎn)的尺寸。
注意,這里的字體尺寸并不是字號(hào)的大小,\fs20并不是字體大小(font-size)為 20px,而是指其行高(line-height)為20px,主要是因?yàn)閂SFilter使用的Windows GDI的字體接口。
\fs+<數(shù)值>
\fs-<數(shù)值>
將當(dāng)前文本的字體尺寸乘一定的倍數(shù)。例如,\fs+2表示將當(dāng)前文本的字體尺寸乘1.2,\fs-3表示將當(dāng)前文本的字體尺寸乘0.7。計(jì)算方式為(10 ± <數(shù)值>) * 當(dāng)前字體尺寸,當(dāng)計(jì)算的結(jié)果小于等于0時(shí)結(jié)果不生效,即依然為原來(lái)的字體尺寸。
\fscx<百分?jǐn)?shù)>
\fscy<百分?jǐn)?shù)>
縮放文字大小。\fscx<百分?jǐn)?shù)>為水平縮放,\fscy<百分?jǐn)?shù)>為垂直縮放。
寫(xiě)法舉例:\fscx233.33、\fscy50。可適用于矢量圖形。
\fsp<像素值>它改變字符之間的距離,默認(rèn)為0。寫(xiě)法舉例:\fsp3
\fr<度數(shù)>
\frx<度數(shù)>
\fry<度數(shù)>
\frz<度數(shù)>
表示沿X/Y/Z軸旋轉(zhuǎn)一定的度數(shù)。\fr<度數(shù)>表示沿Z軸旋轉(zhuǎn)。
寫(xiě)法舉例:\fr30、\frx-30\fry-233.33、\frz480。
其旋轉(zhuǎn)的原點(diǎn)由\org決定,如果沒(méi)有指定\org,那么按「默認(rèn)定位點(diǎn)」來(lái)旋轉(zhuǎn)。
\fax<因數(shù)>
\fay<因數(shù)>
分別沿X軸和Y軸對(duì)文字行進(jìn)行傾斜調(diào)整。 如\fax-0.5等同于斜體。一般情況下因數(shù)的絕對(duì)值不要超過(guò)2。
\fe<字符集>指定文字的字符集(字體編碼)。通常0為英文,1為系統(tǒng)默認(rèn),134為簡(jiǎn)體中文,136為繁體中文。
一般字幕文件保存為Unicode方式編碼如UTF-8時(shí),可以忽略該設(shè)置。
\[<顏色序號(hào)>]c[&][H][&]<BBGGRR>是一個(gè)十六進(jìn)制的RGB值,但顏色順序相反,前導(dǎo)的0可以省略。
<顏色序號(hào)>可選值為 1、2、3和 4,分別對(duì)應(yīng)單獨(dú)設(shè)置PrimaryColour、SecondaryColour、OutlineColor 和 BackColour,<顏色序號(hào)>未寫(xiě)時(shí)相當(dāng)于設(shè)置 為PrimaryColour。
寫(xiě)法舉例:\c&HFF0000&、\1c&HFF&\2c&HFF00&、\3c&HFFFFFF、\4cFFFFFF。其中的&和H按規(guī)范應(yīng)該是要有的,但是如果沒(méi)有也能正常解析。
\[<顏色序號(hào)>]c當(dāng)c后面不跟其他字符時(shí),會(huì)設(shè)置為當(dāng)前使用的Style中所定義的對(duì)應(yīng)的值。
<顏色序號(hào)>a[&][H][&]是一個(gè)十六進(jìn)制的透明度數(shù)值,00為不透明,F(xiàn)F為全透明。
<顏色序號(hào)> 含義同上,但這里不能省略。
寫(xiě)法舉例:\1a&H80&\2a&H80、\3a80\4a&H80&。
其中的&和H按規(guī)范應(yīng)該是要有的,但是如果沒(méi)有也能正常解析。
\alpha[&][H][&]是一個(gè)十六進(jìn)制的透明度數(shù)值,00為不透明,F(xiàn)F為全透明。它默認(rèn)相當(dāng)于\1a&H<AA>&。
寫(xiě)法舉例:\alpha80
\a<位置><位置>是一個(gè)數(shù)字,決定了字幕顯示在屏幕上哪個(gè)位置。
1、2、3 分別是底部的居左、居中、居右;
5、6、7 分別是頂部的居左、居中、居右;
9、10、11 分別是中部的居左、居中、居右。
如果是0或者沒(méi)有就設(shè)置為默認(rèn)位置。如果出現(xiàn)了多個(gè)\a或\an則以第一個(gè)出現(xiàn)的為準(zhǔn)。
\an<位置>與小鍵盤(pán)布局相同。如果出現(xiàn)了多個(gè)\a或\an則以第一個(gè)出現(xiàn)的為準(zhǔn)。
\q<方式><方式>是一個(gè)數(shù)字,與WrapStyle相同。
0:智能換行,分割比較均勻,上面的行較長(zhǎng)。
1:從行尾的詞換行,只有 \N 能強(qiáng)制換行。
2:不換行,\n 和 \N 強(qiáng)制換行。
3:和 0 一樣智能換行,下面的行較長(zhǎng)。
\r[<樣式名>]<樣式名> 是在[v4 Styles+]中定義的樣式名,它會(huì)把這行中所有它之后的文本設(shè)置為樣式名對(duì)應(yīng)的樣式。如果沒(méi)有寫(xiě) <樣式名> 或者 <樣式名> 沒(méi)有被定義,將會(huì)設(shè)置為默認(rèn)樣式。
例如,假設(shè)已定義了把字體設(shè)為藍(lán)色的 Blue 樣式,{\1c&HFF&}這里是紅色{\rBlue}這里是藍(lán)色{\1c&HFF00&}這里是綠色。
\move(<x1>,<y1>,<x2>,<y2>[,<t1>,<t2>])提供字幕的移動(dòng)效果。,是開(kāi)始點(diǎn)坐標(biāo),,是結(jié)束點(diǎn)坐標(biāo)。
是相對(duì)于字幕顯示時(shí)間的開(kāi)始運(yùn)動(dòng)與結(jié)束運(yùn)動(dòng)的毫秒時(shí)間。
之前,字幕定位在,。
之間,字幕從,均速移動(dòng)到,。
之后,字幕定位在,。
當(dāng)沒(méi)寫(xiě)或者都是 0 時(shí),則在字幕的整段時(shí)間內(nèi)均速移動(dòng)。
當(dāng)一行中有多個(gè) \pos 和 \move 時(shí),以第一個(gè)為準(zhǔn)。
當(dāng)\move 和Effect 效果同時(shí)存在時(shí),結(jié)果比較迷。
當(dāng)一行中含有 \move 時(shí)會(huì)忽略字幕重疊沖突的檢測(cè)。
\pos(<x>,<y>)將字幕定位在坐標(biāo)點(diǎn),。屏幕的左上角為0,0。字幕的「定位點(diǎn)」由\a<位置>、\an<位置>Alignment決定。例如:
\an1的定位點(diǎn)在字幕的左下角。
\an2的定位點(diǎn)在字幕底邊的正中間。
\an3的定位點(diǎn)在字幕的右下角。
\an4的定位點(diǎn)在字幕左邊線的正中間。
\an5的定位點(diǎn)在字幕垂直水平的正中間。
\an6的定位點(diǎn)在字幕右邊線的正中間。
\an7的定位點(diǎn)在字幕的左上角。
\an8的定位點(diǎn)在字幕頂邊的正中間。
\an9的定位點(diǎn)在字幕的右上角。
當(dāng)一行中有多個(gè)\pos\move時(shí),以第一個(gè)為準(zhǔn)。事實(shí)上\pos(<x>,<y>)相當(dāng)于\move(<x>,<y>,<x>,<y>,0,0)。
當(dāng)一行中含有 \pos 時(shí)會(huì)忽略字幕重疊沖突的檢測(cè)。
\org\(<x>,<y>)設(shè)置字幕的原點(diǎn)為,。字幕的原點(diǎn)會(huì)影響其旋轉(zhuǎn)效果,字幕是基于原點(diǎn)來(lái)旋轉(zhuǎn)的。當(dāng)未設(shè)置時(shí)默認(rèn)為字幕的定位點(diǎn)。
當(dāng)一行中有多個(gè)\org時(shí),以第一個(gè)為準(zhǔn)。
原點(diǎn)就是定位點(diǎn),定位點(diǎn)就是原點(diǎn)。
\fad(<t1>,<t2>)提供簡(jiǎn)單的淡入淡出效果。t1為淡入時(shí)間長(zhǎng)度,t2為淡出時(shí)間長(zhǎng)度。單位為毫秒。
當(dāng)一行中有多個(gè) \fad 或 \fade 時(shí),以第一個(gè)為準(zhǔn)。
\fade(<a1>,<a2>,<a3>,<t1>,<t2>,<t3>,<t4>)提供復(fù)雜的淡入淡出效果。單位為毫秒。

之前,透明度為。
之間,透明度由變化到。
之間,透明度為。
之間,透明度由變化到。
之后,透明度為。
當(dāng) \fade 只有兩個(gè)參數(shù)時(shí),其效果與 \fad 一致。
當(dāng)一行中有多個(gè) \fad 或 \fade 時(shí),以第一個(gè)為準(zhǔn)。
\[i]clip(<x1>,<y1>,<x2>,<y2>)定義一個(gè)矩形,只有在該矩形范圍內(nèi)的內(nèi)容可見(jiàn)或不可見(jiàn)。,為矩形的左上角,,為矩形的右下角。\clip 是矩形范圍內(nèi)可見(jiàn),\iclip 是矩形范圍內(nèi)不可見(jiàn)。
當(dāng)一行中有多個(gè)\[i]clip出現(xiàn)時(shí),以最后一個(gè)為準(zhǔn)。
\[i]clip([<等級(jí)>,]<繪圖命令>)定義一個(gè)繪畫(huà)圖形,只有在該繪畫(huà)圖形范圍內(nèi)的內(nèi)容可見(jiàn)或不可見(jiàn)。<等級(jí)> 和 <繪圖命令> 的含義與 \p 相同。

這里舉一個(gè)我實(shí)際中使用過(guò)的示例:
需要控制字幕顯示的行間距,需要怎么做呢?
假設(shè)字幕預(yù)設(shè)字體大小為16,下面文本如何控制行間距?

…很長(zhǎng)的字幕…\N…下一行字幕…

雖然這里有\(zhòng)N換行符了,但顯示出來(lái)還是兩行緊挨在一起,沒(méi)有行距。
那么參考上面的覆蓋代碼,可以通過(guò)下面命令調(diào)整行間距:

…很長(zhǎng)的字幕…\N{\fs12}\N{\fs16}…下一行字幕…

當(dāng)然最終行間距數(shù)值按照需求更改就行了。

讀到這里,這篇“SSA/ASS的基本結(jié)構(gòu)是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI