1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

YTT (SRV3) 自前リファレンス

1
Last updated at Posted at 2024-08-23

このリファレンスは未完成であり,SRV3 の書き方の解説書ではありません。不正確な情報が含まれている可能性があるためご了承ください。
また,JSON3 形式はほぼ SRV3 互換であるため,キーを併記しておきます。

head タグ

アップロード後,head 内の id のあるタグはすべて記載した id 関係なしにタグの記載順に id を振り直されるので注意されたい。

pen タグ

(JSON3 キー pens)

SRV3 JSON3 キー YouTube の字幕オブションでの名前
id なし(インデックスで処理) ID
b bAttr 太字
i iAttr 斜体
u uAttr 下線
of ofOffset 垂直方向オフセット
fc fcForeColor 前景色 フォントの色 / Font color
fo foForeAlpha 前景アルファ フォントの透過度 / Font opacity
bc bcBackColor 背景色 背景色 / Background color
bo boBackAlpha 背景アルファ 背景の透過度 / Background opacity
et etEdgeType 縁タイプ 文字装飾スタイル / Character edge style
ec ecEdgeColor 縁色
fs fsFontStyle フォントスタイル フォント ファミリー / Font family
sz szPenSize pen サイズ フォント サイズ / Font size
rb rbRuby ルビ/圏点
hg hgHorizGroup 縦中横

b 属性

値
0
1 太字

1 で CSS の font-weight が bold になる。

i 属性

値
0
1 斜体

1 で CSS の font-style が italic になる。

u 属性

値
0
1 下線

1 で CSS の text-decoration が underline になる。

of 属性

値
0 下付き文字
1 なし
2 上付き文字

0 のとき CSS の vertical-align が sub になり,フォントサイズは 0.8 倍になる。
2 のとき CSS の vertical-align が super になり,フォントサイズは 0.8 倍になる。

fc 属性

値
#FFFFFF ユーザー設定のデフォルト
#****** 前景色

前景色が RGB に変換され,以下のような CSS が適用される。

color: rgba(R, G, B, 前景アルファ);
fill: rgba(R, G, B, 前景アルファ);

fo 属性

値
255 ユーザー設定のデフォルト
0 - 254 前景アルファ

$前景アルファ \div 255$ が CSS の color と fill のアルファ値になる。

bc 属性

値
#FFFFFF ユーザー設定のデフォルト
#****** 背景色

背景色が RGB に変換され,以下のような CSS が適用される。

background: rgba(R, G, B, 背景アルファ);

bo 属性

値
255 ユーザー設定のデフォルト
0 - 254 背景アルファ

$背景アルファ \div 255$ が CSS の background のアルファ値になる。

et 属性

値 YouTube の字幕オブションでの名前
0
1 浮き彫り / Raised
2 沈み彫り / Depressed
3 アウトライン / Outline
4 ドロップ シャドウ / Drop Shadow

CSS の text-shadow が生成される。
アルファ値は前景アルファのものが用いられる。
2 は ec 未指定のときは暗色と明色の 2 色が用いられる。

ec 属性

値
#****** 縁色

デフォルトの暗色は rgb(34, 34, 34) = #222222,デフォルトの明色は rgb(204, 204, 204) = #CCCCCC。
値を指定すると暗色明色ともにその値に上書きされる。

fs 属性

値 YouTube の字幕オブションでの名前
0 (ユーザー設定のデフォルト ≒ 4)
1 等幅セリフ / Monospaced Serif
2 プロポーショナル セリフ / Proportional Serif
3 等幅サンセリフ / Monospaced Sans-Serif
4 プロポーショナル サンセリフ / Proportional Sans-Serif
5 カジュアル / Casual
6 草書体 / Cursive
7 スモール キャピタル / Small Capitals
1 等幅セリフ
CSS の font-family が "Courier New", Courier, "Nimbus Mono L", "Cutive Mono", monospace になる。
2 プロポーショナル セリフ
CSS の font-family が "Times New Roman", Times, Georgia, Cambria, "PT Serif Caption", serif になる。
3 等幅サンセリフ
CSS の font-family が "Deja Vu Sans Mono", "Lucida Console", Monaco, Consolas, "PT Mono", monospace になる。
4 プロポーショナル サンセリフ
CSS の font-family が "YouTube Noto", Roboto, "Arial Unicode Ms", Arial, Helvetica, Verdana, "PT Sans Caption", sans-serif になる。
5 カジュアル
CSS の font-family が "Comic Sans MS", Impact, Handlee, fantasy になる。
6 草書体
CSS の font-family が "Monotype Corsiva", "URW Chancery L", "Apple Chancery", "Dancing Script", cursive になる。
7 スモール キャピタル
CSS の font-family が "Carrois Gothic SC", sans-serif-smallcaps になり,font-variant が small-caps になる。

sz 属性

値
0 - フォントサイズ(デフォルト 100)

基準フォントサイズの $1 + 0.25 \times ( \frac{フォントサイズ}{100} - 1 )$ 倍で表示される。

rb 属性

値
0 なし
1 ルビ構文開始/親文字
2 代替表示用括弧
3 - 8 ルビテキスト
9, 11 - 15 圏点
10 (欠番)

rb には 2 つの用法がある。
1 つ目は圏点のために単体で用いる用法,2 つ目は 4 つの <s> を用いてルビの構造を作る用法である。

単体用法

9, 11 - 15 は以下の CSS を生成する。

text-emphasis-style: filled circle;
text-emphasis-color: currentcolor;
-webkit-text-emphasis: filled circle;

値に応じて text-emphasis-position および -webkit-text-emphasis-position に以下の値が指定される。

値 (-webkit-)text-emphasis-position
9, 11 未指定
12, 15 over right
13, 14 under left

ルビ構文用法

rb が 1 の pen を持つ <s> を置くことで,それ自体と後続の 3 つの <s> がルビの構造になる。

<p><s p="(rb=1)">親文字</s><s p="(rb=2)">(</s><s p="(rb=3 以上)">ルビ</s><s p="(rb=2)">)</s></p>

↓

<ruby>
  <span>親文字</span>
  <rp>(</rp>
  <rt>ルビ</rt>
  <rp>)</rp>
</ruby>
ルビテキスト (3 - 8)

値に応じて ruby-position および -webkit-ruby-position に以下の値が指定される。

値 ruby-position -webkit-ruby-position
3, 8 未指定 未指定
4, 7 over before
5, 6 under after
圏点 (11 - 15)

ルビ構文において 3 つ目の <s> で圏点を指定するとルビに圏点がつくという奇妙な描画になる。

11 - 15 は以下の CSS を生成する。

text-emphasis-style: filled circle;
text-emphasis-color: currentcolor;
-webkit-text-emphasis: filled circle;

値に応じて text-emphasis-position,-webkit-text-emphasis-position,ruby-position,-webkit-ruby-position に以下の値が指定される。

値 (-webkit-)text-emphasis-position ruby-position -webkit-ruby-position
11 未指定 未指定 未指定
12, 14 under left under after
13, 15 未指定 over before

hg 属性

値
0 なし
1 縦中横

1 で text-combine-upright が all,text-orientation が mixed になる。
また,<ws> の pd 属性の値が 3 のとき,更に transform がかかる。

縦書きウィンドウ内(<ws> の pd 属性の値が 2 か 3)でのみ動作。

wp タグ

(JSON3 キー wpWinPositions)

SRV3 JSON3 キー
id なし(インデックスで処理) ID
ap apPoint アンカーポイント
cc ccCols ウィンドウ幅
ah ahHorPos アンカーポイント水平位置
rc rcRows ウィンドウ行数
av avVerPos アンカーポイント垂直位置

ap 属性

値 位置
0 左上
1 上
2 右上
3 左
4 中央
5 右
6 左下
7 下
8 右下

ah 属性

値 位置
0 - 100 左起点の水平位置

av 属性

値 位置
0 - 100 上起点の垂直位置

ws タグ

(JSON3 キー wsWinStyles)

SRV3 JSON3 キー YouTube の字幕オブションでの名前
id なし(インデックスで処理) ID
mh mhModeHint ウィンドウモード
ju juJustifCode 文字揃え
pd pdPrintDir プリント方向
sd sdScrollDir スクロール方向
wfc wfcWinFillColor ウィンドウ塗りつぶし色 ウィンドウの色 / Window color
wfo wfoWinFillAlpha ウィンドウ塗りつぶしアルファ ウィンドウの透過度 / Window opacity

mh 属性

値 ウィンドウモード
0 ポップオン式字幕(デフォルト)
1 ペイントオン式字幕
2 ロールアップ式字幕(自動字幕やリアルタイム字幕放送等)

ju 属性

値 文字揃え
0 始端揃え
1 終端揃え
2 中央揃え
3 均等割付

pd 属性

値
0 なし(横書き LTR)
1 横書き RTL
2 正立 縦書き LTR
3 横倒 縦書き LTR

1 は HTML に dir="rtl" を付加する。
2 は CSS に writing-mode: vertical-rl; text-orientation: upright; を適用する。
3 は CSS に writing-mode: vertical-rl; transform: rotate(180deg); を適用する。

3 は,transform を用いた奇妙な実装により,和文が完全に倒立する。

sd 属性

値
0 なし(右縦書き)
1 左縦書き
3 (自動字幕などロールアップ字幕に現れる)

1 は pd による writing-mode の変更を上書きし vertical-lr にする。

1 には縦書きの pd 属性が必須。
2 の存在は不明で,3 は描画にかかわらない。

body タグ

(JSON3 キー events)

p タグ

SRV3 JSON3 キー
t tStartMs タイムスタンプ(ミリ秒)
d dDurationMs デュレーション(ミリ秒,デフォルト 5000)
p pPenId pen ID
ws wsWinStyleId ws ID
wp wpWinPosId wp ID
w wWinId 親 w ID
a aAppend 自動字幕の行追加

a 属性

値
0 なし
1

自動字幕の改行時に現れる。

s タグ

(JSON3 キー segs)

SRV3 JSON3 キー
t tOffsetMs 親からの相対タイムスタンプ(ミリ秒)
p pPenId pen ID
ac acAsrConf 自動音声認識信頼度

ac 属性

値
0 - 255 自動音声認識信頼度

描画にはかかわらない。最近生成された自動字幕ではすべて 0 になっているようだ。

w タグ

SRV3 JSON3 キー
id id ID
t tStartMs タイムスタンプ(ミリ秒)
d dDurationMs デュレーション(ミリ秒)
ws wsWinStyleId ws ID
wp wpWinPosId wp ID

通常,各 <p> はそれ自体でウィンドウを持つ。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?