^ page top

  • 複数字幕の同時表示
 

 XBMCで、本編+コメンタリーとか、テキストのソフトサブを2つ同時に表示させる話。srt で無理やり合成したものをつくってみたが、切り替え時にチラついて話にならない。切れ目無く表示ってのがスムーズに出来ない。そこで、字幕フォーマットを、ass(ssa?)形式 に。

 とりあえず、字幕種類毎に、スタイル分けしたものを作成。試してみると、VLC とか他の動画プレイヤーでは問題ないが、XBMC(通常版)だと駄目。

 タイムコードが重なっている部分で、消えたり、逆に消えなかったりする。字幕レンダラのバグなのか、僕の書き方が間違ってるのか不明。

 下サンプルだと、「さしすせそ」以降がおかしい。前の文字が消えずに重なる。

単純スタイル分け合成、ただし NG
[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Top,Arial,46,&H00F7CF36,&H00F7CF36,&H00000000,&H80000000,0,0,0,0,100,100,0,0,1,4,3,2,0,0,20,1
Style: Bottom,Arial,46,&H0036F7CF,&H0036F7CF,&H00000000,&H80000000,0,0,0,0,100,100,0,0,1,4,3,2,0,0,20,1
Timer: 100.0000
WrapStyle: 2

[Events]
Format: Layer, Start, End, Style, MarginL, MarginR, MarginV, Text
Dialogue: 0,0:00:02.00,0:00:05.00,Top,0000,0000,0080,あいうえお
Dialogue: 0,0:00:07.00,0:00:10.00,Top,0000,0000,0080,かきくけこ
Dialogue: 0,0:00:12.00,0:00:15.00,Top,0000,0000,0080,さしすせそ
Dialogue: 0,0:00:17.00,0:00:20.00,Top,0000,0000,0080,たちつてと
Dialogue: 0,0:00:22.00,0:00:25.00,Top,0000,0000,0080,なにぬねの

Dialogue: 1,0:00:00.00,1:00:00.00,Bottom,0000,0000,0000,水行末雲来末風来末

 仕方ないので、タイムコードがダブらない ass ファイルに再構成する。

 矢印はタイムライン。2つの srt ファイル(A、B字幕)から、各タイムコード共通で分割、合成した ass ファイルをつくる。タイムコードで分割することで、常に1回分の表示しかさせない(ここが大事)。この例だと、A・B字幕5+1=6個が、11分割の字幕になる。
合成後・再分割、OK だが冗長
[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: BTM,Arial,24,&H00F7CF46,&H00F7CF46,&H00000000,&H80000000,0,0,0,0,80,100,0,0,1,2,1,2,0,0,12,1
Timer: 100.0000
WrapStyle: 2

[Events]
Format: Layer, Start, End, Style, Text
Dialogue: 0,0:00:00.00,0:00:02.00,BTM, \N \N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
Dialogue: 0,0:00:02.00,0:00:05.00,BTM, \Nあいうえお\N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
Dialogue: 0,0:00:05.00,0:00:07.00,BTM, \N \N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
Dialogue: 0,0:00:07.00,0:00:10.00,BTM, \Nかきくけこ\N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
Dialogue: 0,0:00:10.00,0:00:12.00,BTM, \N \N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
Dialogue: 0,0:00:12.00,0:00:15.00,BTM, \Nさしすせそ\N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
Dialogue: 0,0:00:15.00,0:00:17.00,BTM, \N \N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
Dialogue: 0,0:00:17.00,0:00:20.00,BTM, \Nたちつてと\N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
Dialogue: 0,0:00:20.00,0:00:22.00,BTM, \N \N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
Dialogue: 0,0:00:22.00,0:00:25.00,BTM, \Nなにぬねの\N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
Dialogue: 0,0:00:25.00,1:00:00.00,BTM, \N \N{\fscy30} \N{\fscy100}{\c&H36F7CF&}水行末雲来末風来末
 手動で変換とかは無理だから、プログラム組むわけだが、なんか納得いかないな。


 日本語字幕は、2行使って表示されるのが普通だが、1行でも、慣れてしまえばなんてことはない。複数字幕を表示するにしても、画面の上と下に離れて表示されるよりも並べた方が、はるかに見やすい。というか、重要なのは、表示色を変えることで、2種類の字幕が見分けやすくなる。人間の目ってのは不思議なもの。とりあえず、ass が想定通り動くまでは、この方法で。
srt でも 文字色の指定が出来るらしい
1
00:00:02,000 --> 00:00:05,000
<font color="#F7CF36">あいうえお</font>
<font color="#36F7CF">水行末雲来末風来末</font>

2
00:00:05,000 --> 00:00:07,000
<font color="#F7CF36"> </font>
<font color="#36F7CF">水行末雲来末風来末</font>

3
00:00:07,000 --> 00:00:10,000
<font color="#F7CF36">かきくけこ</font>
<font color="#36F7CF">水行末雲来末風来末</font>

4
00:00:10,000 --> 00:00:12,000
<font color="#F7CF36"> </font>
<font color="#36F7CF">水行末雲来末風来末</font>

5
00:00:12,000 --> 00:00:15,000
<font color="#F7CF36">さしすせそ</font>
<font color="#36F7CF">水行末雲来末風来末</font>

6
00:00:15,000 --> 00:00:17,000
<font color="#F7CF36"> </font>
<font color="#36F7CF">水行末雲来末風来末</font>

7
00:00:17,000 --> 00:00:20,000
<font color="#F7CF36">たちつてと</font>
<font color="#36F7CF">水行末雲来末風来末</font>

8
00:00:20,000 --> 00:00:22,000
<font color="#F7CF36"> </font>
<font color="#36F7CF">水行末雲来末風来末</font>

9
00:00:22,000 --> 00:00:25,000
<font color="#F7CF36">なにぬねの</font>
<font color="#36F7CF">水行末雲来末風来末</font>

10
00:00:25,000 --> 00:01:00,000
<font color="#F7CF36"> </font>
<font color="#36F7CF">水行末雲来末風来末</font>


srt 字幕の合成サービス KODI 向けに、2つの srt 字幕を再構成
add comment
error

kodi memo
メディアセンター「KODI for Windows」と
 リモコン設定ソフト「rmx3」の覚書

links
search

index