DVDStyler の使い方
〜中級編(構成図付)〜

最新版は v3.2.1 です


更新 2022.06.26

■注意

  • 某サイトに書かれている
    『最初に再生するメニューのプリコマンドに「jump cell;」を指定』
    は誤りなのでやめましょう! 実行の順番について

 現在 DVDStyler の翻訳者の私を信じましょう!

■目次

■概要

この頁は、DVDStyler の基本操作に慣れた人向けです。DVD の仕様や DVDStyler の全体像を理解したり、もっと見栄えのいい DVD を作成するのに役に立つと思います。

■jumppad の意味 ※1

jumppad とは、ある場所から目的地に移動する時、直接移動できない経路(次章を参照して下さい)では、どこかを経由して目的地に行く処理です「使い方 入門編」の頁の「重要な設定」 で、「jumppad を作成」にチェックが入っていれば、DVDStyler が呼び出す DVDAuthor が jumppad を自動生成してくれます。

ただしタイトル数等がだんだん増えていき、jumppad が発生しすぎると、エラーが発生しオーサリングできなくなります
詳細は 「エラー Too many」の頁 を参照して下さい。

DVDStyler にまだ慣れていない人や、タイトル数等が少ない DVD を作成したいのであれば、「jumppad を作成」にチェックを入れた方が、おそらく使いやすいと思います。

「jumppad を作成」のチェックを外した場合、例えば以下の様な状況になります。

  • タイトルセットから異なるタイトルセットに移動できる経路はない。
    例えばタイトルセット1のメニューに配置したボタンに、異なるタイトルセットのタイトルを指定することはできない。

  • VMGMメニュー(ボタンを含む)から、タイトルの2番目以降のチャプターに移動できる経路はない。
  • タイトルセットのメニューに、メニュー番号を指定して移動できる経路は少ない。

■コマンド一覧その1 - メニュー・タイトル間の直接移動

【注】本章に記載のコマンドは、jumppad を必要としない、直接移動できるコマンドです。

「最初の再生コマンド」とメニューとタイトルの移動では、直接移動できる経路と、DVD の仕様で該当するコマンドが無いために直接移動できない経路があります

直接移動できる経路とコマンドを、以下の 図1図2 に示します
説明文中の number は半角の数字を表します。
「jumppad を作成」※1 のチェックを外しても使用できます。
図1と図2は、本当は1個の図にまとめたかったのですが、矢印が複雑になるので、2個の図に分けました。

コマンド「call last menu;」 について
コマンド「jump next title;」 について

図1と図2(記入漏れがあったらごめんなさい)以外の経路で移動するには、どこかを経由する必要があります。
そのためには「jumppad を作成」※1 にチェックを入れて自動的にどこかを経由させるか、手動でどこかを経由します。

手動でどこかを経由する例は、
「使い方 入門編」の図1(VMGMメニュー2経由) を参照して下さい。

コマンドはナビゲーション・コマンドとも呼ばれます。


図1 直接移動できる経路とコマンド 1/2 図1
リンク6 リンク9 リンク3 リンク8 リンク1 リンク8 リンク6 リンク3 リンク1 リンク5 リンク4 リンク2 重要な設定その2

上図の (数字) をクリックして下さい。
Video Manager 内に複数の Menu を配置できます。
各 Titleset 内に複数の Menu や複数の Title を配置できます。

[] 内は DVD コマンド(PgcEdit)。DVDStyler では入力不可。
[] 内の、「Title number」はディスク内で何番目のタイトルかを表し、
「TTN number」はタイトルセット内で何番目のタイトルかを表す。

(1)jump vmgm menu number;
  jump vmgm menu entry title;       *2

  [JumpSS-VMGM-pgc = (JumpSS) Jump to VMGM PGC number]
  [JumpSS-VMGM-menu = (JumpSS) Jump to VMGM Title menu]

(2)call vmgm menu number;
  call vmgm menu entry title;       *2

  [CallSS-VMGM-pgc = (CallSS) Call the VMGM PGC number, …]
  [CallSS-VMGM-menu = (CallSS) Call the VMGM Title menu, …]

(3)jump titleset number menu entry root; *1
  【注1】「… menu number;」の形式だと、直接移動できません。
  【注2】s5 には 1 が設定されます。
  【注3】「titleset」が付くのはここだけです。

  [JumpSS-VTSM = (JumpSS) Jump to VTSM number, Root menu …]
 なお number が 0 の時は、最後に訪れたタイトルセットに移動します。
 PgcEdit で 0 を設定します(DVDStyler では 0 を設定できない)。

(4)call menu entry root;          *1
  【注】「… menu number;」の形式だと、直接移動できません。

  [CallSS-VTSM = (CallSS) Call the VTSM Root menu …, …]

  なお「call menu;」は
  [CallSS-VTSM = (CallSS) Call the VTSM Chapter menu …, …]
  に相当します。

(5)jump title number1;           *3
  jump title number1 chapter number2;
  number1 は、タイトルセット内で何番目のタイトルかを指定する。
  プリ・コマンド欄も実行されるようです。

  [JumpVTS_TT = (JumpVTS_TT) Jump to TTN number1 in this VTS]
  [JumpVTS_PTT
   = (JumpVTS_PTT) Jump to TTN number1, Chapter number2]

(6)jump title number;            *3
  number は、ディスク内で何番目のタイトルかを指定する。
  タイトルセットの指定は不要
  【注】チャプタを指定すると、直接移動できません。

  [JumpTT = (JumpTT) Jump to Title number]

(8)jump vmgm fpc;

  [JumpSS-FP = (JumpSS) Jump to First Play PGC]

(9)call vmgm fpc;

  [CallSS-FP = (CallSS) Call the First Play PGC, …]

*1:メニューの「ルート」にチェックを入れておくこと。
   root(ルート) 以外に ptt(チャプタ), subtitle(字幕),
   audio(音声), angle(アングル) が使用できる。
*2:メニューの「タイトル」にチェックを入れておくこと。
*3:DVDStyler 上ではこの2つは同じ表記だが、DVD コマンド(PgcEdit)
   は異なる。


図2 直接移動できる経路とコマンド 2/2 図2
リンク1 リンク7 リンク5

上図の (数字) をクリックして下さい。

[] 内は DVD コマンド(PgcEdit)。DVDStyler では入力不可。
[] 内の「TTN number」はタイトルセット内で何番目のタイトルかを表す。

(1)jump vmgm menu number;
  jump vmgm menu entry title; *2
  【注】「vmgm」は省略可能。

  [JumpSS-VMGM-pgc = (JumpSS) Jump to VMGM PGC number]
  [JumpSS-VMGM-menu = (JumpSS) Jump to VMGM Title menu] *4
  [LinkPGCN PGC number]    *4

(5)jump title number1;
  jump title number1 chapter number2;
  number1 は、タイトルセット内で何番目のタイトルかを指定する。

  [JumpVTS_TT = (JumpVTS_TT) Jump to TTN number1 in this VTS]
  [JumpVTS_PTT
   = (JumpVTS_PTT) Jump to TTN number1, Chapter number2]

(7)jump menu number;
  jump menu entry root;    *1

  [LinkPGCN PGC number]

*1:メニューの「ルート」にチェックを入れておくこと。
   root(ルート) 以外に ptt(チャプタ), subtitle(字幕),
   audio(音声), angle(アングル) が使用できる。
*2:メニューの「タイトル」にチェックを入れておくこと。
*4:最近の DVDStyler は、このコマンドには変換しないみたい。

■コマンド一覧その2 - メニュー内、タイトル内の移動

本章に記載の移動コマンドは、1個のタイトル内,1個のメニュー内で移動するコマンドです(jumppad を必要としない)。
移動コマンドを誤った場所で使用すると、プレイヤーによっては移動しません。

タイトルのセル・コマンドは、「チャプター」ウィンドウの「コマンド:」欄で指定します()。
メニュー画面のセル・コマンドは、「メニューセル」ウィンドウ
「コマンド」欄で指定します。

文字色がグレーの部分は、私個人用のメモですので無視して下さい。

コマンド欄の [] 内は DVD コマンド(PgcEdit)。DVDStyler では入力不可。

コマンド 説明 使用場所
jump chapter 7;
[LinkPTT …]
(現在のタイトル内の)チャプタ7に移動する。 タイトル
jump program 7;
[LinkPGN …]
(現在の PGC 内の)プログラム7に移動する。 メニュー、
タイトル
jump cell 7;

[LinkCN …]
(現在の PGC 内の)セル7に移動する。
「jump cell 1;」とすると、セル1に移動する(プリ・コマンドの次に移動し、メニューやタイトルが最初から表示される)。
ボタンで使用すると、ボタンの外に出る。
メニュー、
タイトル
jump pgc top;
[LinkTopPGC]
プリ・コマンドに移動する。
ボタンとセル・コマンドで使用できる。
メニュー、
タイトル
jump pgc tail;

[LinkTailPGC]
ポスト・コマンドに移動する。
ボタンとセル・コマンドで使用できる。
メニューのボタンで使用すると、誤動作する(不具合?)場合がある(V2.2)。
【使用例】
タイトルのセル・コマンド欄で
「if (g0==1) jump pgc tail;」
とすると、g0 が 1 の時は、途中のチャプター等で再生を自動的に抜けます。
メニュー、
タイトル
jump program top;
[LinkTopPG]
今いるプログラムの先頭に移動する。
ボタンとセル・コマンドで使用できる。
メニュー、タイトル
jump cell top;
[LinkTopCell]
今いるセルの先頭に移動する。
ボタンとセル・コマンドで使用できる。
メニュー、タイトル
jump next program;
[LinkNextPG]
(現在の PGC 内の)今いるプログラムの、次のプログラムに移動する。
ボタンとセル・コマンドで使用できる。
メニュー、タイトル
jump prev program;
[LinkPrevPG]
(現在の PGC 内の)今いるプログラムの、前のプログラムに移動する。
ボタンとセル・コマンドで使用できる。
メニュー、タイトル
jump next cell;
[LinkNextCell]
(現在の PGC 内の)今いるセルの、次のセルに移動する。
ボタンとセル・コマンドで使用できる。
メニュー、タイトル
jump prev cell;
[LinkPrevCell]
(現在の PGC 内の)今いるセルの、前のセルに移動する。
ボタンとセル・コマンドで使用できる。
メニュー、タイトル
[LinkPGCN
PGC 3]
PGC3に移動する。
タイトルで使用する時は、同一のタイトル内の PGC 番号を指定すること。
メニュー、タイトル

■コマンド一覧その3 - その他

コマンド欄の [] 内は DVD コマンド(PgcEdit)。DVDStyler では入力不可。

コマンド 説明 使用場所
break;

[Break]
コマンド欄を抜ける。
プリ・コマンド欄で使えば、メニュー表示やタイトル再生に進む。
メニュー、
タイトル
ラベル名:
goto ラベル名;

[Goto …]
goto により、前方または後方のラベル名に移動する。
ラベル名は少なくとも英数字と _ が使用可能で、1文字目に数字は使えない。英字の大文字と小文字は区別されない。

例えばレジスター g0 の中の ON のビットをカウントしてレジスター g1 にセットするなら、
「g12=0x0001; g1=0; loop: if ((g0&g12)!=0) g1+=1; g12*=2; if (g12!=0) goto loop;」
と記述します。
メニュー、タイトル
resume;
[RSM]
最後に再生したタイトルを続きから再生する。タイトルのプリ・コマンド欄は実行されないようです。
ディスク挿入後何もタイトルが再生されていない状態では、停止するようです。
メニュー
exit;
[Exit]
停止する。
家電によっては、停止後一定時間が経過すると、自動的に電源 OFF になります。
メニュー、
タイトル
g0=random(4);
[Set]
1〜4のいずれかの値がランダムに発生し、g0 にセットされる。
「g0=random(g5);」などと記述することもできる。シャッフル再生でタイトルを1個再生したら、g5 を -1 する方法がある。
メニュー、タイトル
演算
[Set]
★使用可能な演算
+ 和
- 差
* 積
/ 商
% 余り
& and
| or
^ xor

【注】
「=」1個は代入を意味する。
数字の前に「0x」を付けると16進表記。

【例】
「g1=g2+3;」g2+3 の値を g1 にセット。
「g1=g2&2;」and
「g1=g2|0x10;」or
「g1=g2^0x20;」xor

「g1+=3;」g1 の値を +3 する。
「g1-=2;」g1 の値を -2 する。
「g1*=4;」g1 の値を ×4 する。
「g1/=4;」g1 の値を /4 する
 (4で割った商をセット)。
「g1%=4;」g1 の値を %4 する
 (4で割った余りをセット)。
「g1&=8;」and
「g1|=0x40;」or
「g1^=0x80;」xor
メニュー、タイトル
if (条件) …

if (条件) …
else …
★条件で使用可能な比較
== 等しい
!= 等しくない
<
>
<=
>=

★複数の条件を並べる
&& かつ
|| または

【例1】
if (g4==1) {g0=0; g1=0;} else {g0=1; g1=1;}

【例2】{} の2重構造
if (g4==1) {if (g5==1) {g0=0; g1=0;} else {g0=1; g1=2;}} else {g0=8; g1=7;}

【例3】リピート
タイトル1のプリ・コマンド欄に
「g1=3;」
と記入し、タイトル1のポスト・コマンド欄に
「if (g1<=1) jump title 2; g1-=1; jump cell 1;」
と記入すると、タイトル1を3回再生後にタイトル2が再生されます。

【例4】かつ
if (g0>=2 && g0<=4) jump cell 2;

【例5】s4 と s7 の値で移動先を変える
g0=s4; g1=s7; g11=(g1-1)%6+1; if (g0==2) {if (g1>6) jump menu 3; jump menu 2;} if (g0==3) {if (g1>12) jump menu 6; if (g1>6) jump menu 5; jump menu 4;} jump menu 1;

【例6】
入門編の機能拡張

【注1】
レジスターを数字と比較する場合、レジスターを左側に記述して下さい。

【注2】
コマンドの記述の仕方によっては、一部のコマンドが消失することがあります。
詳細は 「不具合 処理消失」の頁 を参照して下さい。
メニュー、タイトル

■コマンド一覧その4 -「jump … pgc;」

上級者向けの内容です。記述内容に少し自信がありません。
PgcEdit(V8.6 はフリー) による設定が必要です。

コマンド欄の [] 内は DVD コマンド(PgcEdit)。DVDStyler では入力不可。

コマンド 説明 使用場所
jump next pgc;

[LinkNextPGC]
PgcEdit(英語表記)の
「Next PGCN link」*1
で指定した PGC を最初から実行(*2)する。
セル・コマンドで使用できる。ボタンでは?

【参考】
PGC の最後のプログラム再生中にリモコンの >>| キーを押すと、ポスト・コマンドを実行後、「Next PGCN link」で指定した PGC が最初から実行(*2)される。
ただしポスト・コマンドの実行中に、今いる PGC の外に移動したり [Exit] を実行した場合は、「Next PGCN link」で指定した PGC は実行されない。
タイトル
jump prev pgc;

[LinkPrevPGC]
PgcEdit(英語表記)の
「Previous PGCN link」*1
で指定した PGC を最初から実行(*2)する。
セル・コマンドで使用できる。ボタンでは?

【参考】
PGC のプログラム1(プレイヤーによっては最初の方)再生中にリモコンの |<< キーを押すと、
「Previous PGCN link」
で指定した PGC が最初から実行(*2)される。
タイトル
jump up pgc;

[LinkGoUpPGC]
PgcEdit(英語表記)の
「Go Up (Return) link」*1
で指定した PGC を最初から実行(*2)する
(または Resume=最後に再生されたタイトルを再生)。
セル・コマンドで使用できる。ボタンでは?

【参考】
リモコンの 戻る キーを押すと、
「Go Up (Return) link」
で指定した PGC が最初から実行(*2)される(または Resume)。
メニュー画面の「Go Up (Return) link」は、同じ領域(ビデオマネージャまたは1個のタイトルセット)内の別のメニュー画面(または Resume)を指定できる。
メニュー、
タイトル

*1 自分自身を指定した場合は、再生中の PGC が最初から実行(*2)
 される。
*2 プリ・コマンド欄を含む。

1個のタイトルを複数の PGC から構成する方法がある。その様な DVD において、1個の PGC から他の PGC に移動することができる。
DVDStyler では、1個のメニュー画面や1個のタイトルは、1個のみの PGC から構成される(私が知る限り)。

「Go Up (Return) link」は便利。

■特別なメニュー画面

DVD-Video 規格には特別なメニュー画面が6種類用意されています。
メニュー画面のプロパティウィンドウの「エントリー」の「ルート」等にチェックを入れると、特別なメニュー画面になります。
「タイトル」メニューはVMGMメニュー用で、その他の5種類はタイトルセットメニュー用です。

この6種類のメニュー画面の長所は、プレイヤーでタイトル再生中に特定の操作をすると、対応するメニューを表示できることです。

各種のプレイヤーが6種類全メニューの表示操作を提供しているとは限りません。またソフトの種類やメーカーによってボタンの名称が異なります。

特別なメニュー画面
エントリー 領域 用途(推測) 特別なメニュー画面
を表示する操作
MPC-HC 家電
タイトル ビデオマネージャ タイトルを最初から再生するボタンを配置 [タイトル
メニュー]
トップ
メニュー
ルート タイトルセット タイトルセットメニューの代表 [ルート
メニュー]
メニュー
字幕 タイトルセット 字幕トラックを切り替えるボタンを配置 [字幕
メニュー]
チャプター タイトルセット タイトルの各チャプターから再生するボタンを配置 [チャプター
メニュー]
音声 タイトルセット 音声トラックを切り替えるボタンを配置 [音声
メニュー]
アングル タイトルセット アングルを切り替えるボタンを配置 [アングル
メニュー]

タイトルセットの5種類のメニュー画面の長所は、経路によっては直接移動できるコマンドがあることです。
詳細は 図1 直接移動できる経路とコマンド 1/2 を参照して下さい。

「タイトル」にチェックを入れることのできるVMGMメニューは、ディスク内で1個のみです。
「ルート」にチェックを入れることのできるメニューは、タイトルセット内で1個のみです。「字幕」「チャプター」「音声」「アングル」も同様です。

DVDStyler を使い始めて悩んだのは、タイトルを選択するボタンを、VMGMメニューとタイトルセットメニューのどちらに配置するかということでした。

配置の基本は以下の通りです。

  • タイトル(最初から再生)を選択するボタンは、VMGMメニューまたは、そのタイトルと同じタイトルセットのメニューに配置する。
  • タイトルのチャプターを選択するボタンは、そのタイトルと同じタイトルセットのメニューに配置する(推奨)。
  • タイトルの音声トラックや字幕トラックを切り替えるボタンは、そのタイトルと同じタイトルセットのメニューに配置する(必須)。

タイトルを選択するボタンを配置した場所による違いを整理しました。

     配置場所
  項目 
ビデオマネージャ
VMGMメニュー
タイトルセット
メニュー
「DVD メニュー用
テンプレートを選択」
ウィンドウ

「タイトル選択」
を選択

「タイトル選択」
を選択した後で
[チャプターメニュー]
/[Chapter menu]

*1
音声,字幕,アングルトラックの切り替え ×
変更不可。
DVDStyler のボタンで変更を指定できるが、変更すべきでない。

タイトルの2番目以降のチャプターへの移動
□jumppad を作成」
なら ×
■jumppad を作成」
なら ○
※2

同じタイトルセット内のタイトルであれば可能。
その他の
移動のしやすさ
(「□jumppad を作成」の状態で ※2)

メニュー番号指定で、タイトル選択のメニューに移動できる。

タイトル選択のメニュー(ボタンからも)から、各タイトルセットの各タイトルに移動できる。
×
メニュー番号指定で、タイトル選択のメニューに移動できない場合が多い。
タイトル選択のメニュー(ボタンからも)から、他のタイトルセットのタイトルに移動できない。

*1 「チャプター選択」を選択すると、各タイトルから再生するサムネイルボタン付の VMGMメニュー2 が存在しない状態なので、不具合が発生する。

そもそもVMGMメニューとタイトルセットメニューのどちらにもボタンを配置できるというのが、初心者にはわかりにくいです。
おそらく以下の様な階層構造を想定して、ボタンはどちらにも配置できるのだと思います。あくまで私の予想ですが。
階層構造が基本なので、タイトルセットから他のタイトルセットには直接移動できないコマンド体系になっています。

ドラマ本編のタイトル2個(タイトル1:第1話〜タイトル2:第2話)と、特典映像2個(タイトル2個)で、ドラマを格納する DVD を作るとします。
ドラマ本編の画面比は16対9で、特典映像の画面比は4対3とします。画面比が異なる場合、タイトルセットを分けなければなりません。

下の図の様にメニューとタイトルを配置してみます。これは1つの例です。

類似の詳細な構成例がこちらの HP (英語)でも紹介されています。
DVDStyler V1.5 の資料です。
≪DVDStylerManual.pdf≫ の50頁

図3 メニューとタイトルの配置例 メニューの配置場所

これ以外の構成例としては、(図は用意していませんが) VMGMメニュー にはタイトルを最初から再生するボタンを配置し、タイトルセットメニューにはタイトルの各チャプターから再生するボタンを配置します。

■チャプター、プログラム、セルとコマンド

DVD-Video の仕様書を読んだことがないので、以下の内容には私のイメージが含まれます。

1個のチャプターは1個以上のプログラムから構成します。
1個のプログラムは1個以上のセルから構成します。

タイトルと同じタイトルセットのメニューから、タイトルのチャプター番号指定で直接移動することができます(プログラム番号指定やセル番号指定は不可)。

リモコンの >>| キーや |<< キーで移動するのはプログラム単位です。
ランダム、シャッフル再生の単位もプログラム単位です。

セルは DVD の再生の最小単位です。
各セルの終了地点に、8バイトのセル・コマンドの領域が用意されていて、ここにコマンドを入力できます(デフォルトは未入力)。
2層 DVD の1層目と2層目の境目は、セルの境目である必要があります。
フリーソフトにもかかわらず DVDStyler はセルについて実に面白い制御ができます。

DVDStyler で普通にオーサリングすると、1個のチャプターは1個のプログラムから構成され、1個のプログラムは1個のセルから構成されるので、チャプターとプログラムとセルは同じ範囲になります。
1個のチャプターを複数のプログラムから構成すると、プレイヤーソフトによっては誤動作します(笑)。そういうことをやる人はほとんどいない?のでしょう。 このような状況から、1個のチャプターは1個のプログラムから構成した方が良さそうです。

V2.5〜 でタイトルのプログラム,セルやセル・コマンドを設定するには、
タイトルのプロパティウィンドウの「チャプター位置」欄の右端の [...] をクリック
⇒開いた「チャプター」ウィンドウで画像を選択してから、設定します。

誤った設定を行うと、再生しても一見訳のわからない DVD になります。DVDStyler に慣れていない人は、「時間:」欄以外は変更しない方がいいです。
特に理由がなければ、「終了:」欄は [自動]、「一時停止時間: 秒」欄は 0 のままにして下さい。

「一時停止時間: 秒」欄は、値が -1 または 255 ならずっとポーズしますし、値が 0〜254 ならこの項目によって指定された秒数ポーズします。 ポーズ中もリモコンの再生ボタンや >>| ボタンや |<< ボタンは基本的に有効です。
例えばこの欄を -1 にした場合、私の家電2台では、
♪ポーズ中にリモコンの再生ボタンを押すと、再生が再開する。
♪ポーズ中(最後のチャプターを除く)にリモコンの >>| ボタンを押すと、
 再生が再開する。
の様な動作です。

セル・コマンドを入力した場合、プレイヤーで該当の箇所を再生する時に、プレイヤー(特に家電)が一瞬ポーズする可能性があります。
セル・コマンド使用例

DVDStyler で例えば以下のような DVD を作ったとします。チャプター2を3個のプログラムで構成し、プログラム3を2個のセルで構成します。

チャプター(PTT) プログラム(PG) セル(Cell)
チャプター1 プログラム1 セル1
チャプター2 プログラム2
セル2
プログラム3
セル3
セル4
プログラム4
セル5
チャプター3 プログラム5 セル6

この場合は以下の3つのコマンドは同じ位置への移動になります。
jump chapter 3;
jump program 5;
jump cell 6;

DVDStyler の1個のメニューまたは1個のタイトルにおける、再生と一時停止時間実行とコマンド実行の順番は下表の(1)〜(11)のようになります。
例として3個のセルから構成される場合です。
チャプターやプログラムの数には影響されません。

【私の推奨】
プリ・コマンド欄で「jump cell 1;」(セル1再生に進む)は無駄なのでやめましょう! プリ・コマンド欄が空欄でも、すぐにセル1再生に進みます。


再生と一時停止時間実行とコマンド実行の順番
メニュー
または
タイトル
(1)プリ・コマンド 実行
(2)セル1
再生
(3)セル1
一時停止時間 実行
(4)セル1
コマンド 実行
(5)セル2
再生
(6)セル2
一時停止時間 実行
(7)セル2
コマンド 実行
(8)セル3
再生
(9)セル3
一時停止時間 実行
(10)セル3
コマンド 実行
(11)ポスト・コマンド 実行

タイトルやメニュー画面のプロパティウィンドウで設定する
「一時停止時間: 秒」は、実際には最後のセルの一時停止時間です。

■字幕ファイルによる字幕の追加

DVDStyler で字幕ファイルを使用して、ON/OFF できる字幕をタイトルに追加する手順です。
私が実際に動作確認したのは、文字コードは SHIFT_JIS と UTF-8 で、字幕ファイルは .srt と .ass です。

【.srt 作成時の注意点】
字幕ファイル作成時に、
ある字幕の表示終了時間 = その次の字幕の表示開始時間
とすると、再生時に字幕表示が途中で消えることがあります。

ある字幕の表示終了時間 < その次の字幕の表示開始時間
とするのを推奨します。

  1. Aegisub による字幕ファイル作成

    (YAHOO知恵袋! のカテゴリマスターさんお勧めの)
    フリーソフト Aegisub 3.2.2 を使用して字幕ファイルを作成した(今回は文字コード UTF-8 で .ass)。

    【字幕ファイルのエクスポート手順】
    (作成手順は省略)
    [ファイル]⇒[Export Subtitles]
    ⇒「文字コード:」[Unicode (UTF-8)]⇒[エクスポート]
    ⇒「ファイル名:」欄にファイル名を、拡張子.assを含めて入力⇒[保存]

  2. DVDStyler 設定
    1. タイトルのプロパティウィンドウ(下図)
      (1)字幕を付けるタイトルのプロパティウィンドウで、
        右端の [] をクリック⇒字幕ファイルをダブルクリック
      (2)緑の四角 部分が、字幕として追加される。
      (3)その内側の [...] をクリック

      図4−1 タイトルのプロパティウィンドウ (v3.1)
      タイトルのプロパティウィンドウ 字幕追加

    2. 「字幕プロパティ」ウィンドウ(下図は例)

      開いた「字幕プロパティ」ウィンドウで以下の様に設定し、最後に [OK] をクリックする。

      字幕トラックを複数追加する場合は、以上を繰り返す。

      「表示言語:」は字幕が、日本語表記なら [Japanese] を、英語表記なら [English] を指定する。

      「文字符号化方式:」は、字幕ファイルの文字コードと同一にすること(今回は UTF-8)。
      ≪字幕ファイルの文字コード確認方法 - k本的に無料ソフト≫
      『字幕ファイルの文字コードが分からない場合、メモ帳で字幕ファイルを開く → メニューバー上の「ファイル」から「名前を付けて保存」を選択し、画面下部の「文字コード」欄で確認するとよい。
      (「SHIFT_JIS」なら「ANSI」、「UTF-8」なら「UTF-8」と表示される)』

      日本語を表示する場合、「フォント:」は
      [Meiryo], [MS Gothic], [MS Mincho]
      等の日本語フォントを選択すること。

      各フォント毎の字体の微妙な違いは「プレビュー:」欄ではわからないことがある。
      色を 0% にすると透明になる。
      影を表示したくない場合は「ずれ:」0 0 と設定する。

      フォントによっては、半角文字は予想外に横幅が広く、半角スペースの連続は予想外に長い。

      [この設定をデフォルトにする]
       このウィンドウの今の設定(「フォント:」欄の選択状態を含む)
       を自分用のデフォルトとして保存する。
       次回字幕を追加した時に反映される。
      [リセット]
       このウィンドウを、DVDStyler の初期値に戻す。
       使う機会は少ないかも。
      「強制的に表示」
       ■とすると、再生時に字幕 OFF を指定しても字幕が表示される。
       ■とする機会は少ないかも。

      図4−2「字幕プロパティ」ウィンドウ (v3.1)
      字幕プロパティ

      .ass を使用した場合、「配置」に左寄せや右寄せを指定しても、(水平方向に)センタリングで表示される(v2.8)。
      .srt を使用した場合、「配置」に右寄せを指定すると、左側に最後の約2文字だけが表示される(v2.8)。

      字幕ファイルの文字コードが UTF-8 なのに、
      「文字符号化方式:」にわざと SHIFT_JIS を指定したら、
      spumux 実行時に以下のエラーが発生した。

      INFO: Opened iconv descriptor. *UTF-8* <= *SHIFT_JIS*
      ERR: Error 42 -- Illegal byte sequence -- decoding subtitle file at approx line pos 1 + char pos 0
      失敗

    3. ボタンのプロパティウィンドウ(下図)
      ボタンを押すことにより、字幕を表示(トラック切り替え)してタイトルを再生したい場合は、ボタンのプロパティウィンドウで、赤い 内の様な感じでタイトルと字幕トラックを指定する。
      (1)「◎ジャンプ先:」[タイトルセット 数字 タイトル 数字]
      (2)「字幕:」[トラック 数字]
        字幕を表示したくない時は「字幕:」[オフ] と指定する。

      字幕トラックを切り替えるボタンの注意点

      図4−3 ボタンのプロパティウィンドウ (v3.1)
      ボタンのプロパティ アクション

      なお市販の DVD では、字幕トラックを切り替えるだけのボタン をよく見かける。

■字幕付き動画ファイルの字幕の色の変更

ON/OFF できる字幕が元々付いている動画の再生で、字幕が黒で見にくい場合は、字幕の色(デフォルト黒)を変更します。
ソフト PgcEdit を使用する方法と、DVDStyler のパレットを使用する方法を書きます。
タイトルのプロパティウィンドウで「字幕:」の右隣が
「dvd_subtitle」または「dvdsub」と表示されているのが前提です。

【PgcEdit(V8.6 はフリー) を使用する方法】

状況によっては以下の手順より簡単な方法があります。
ポイントは [全てコピー] と [全て貼付け] です。

(1)「字幕カラーテーブル」を開く
DVDStyler が作成した DVD-Video 形式ファイル を PgcEdit で開き、 下図のように該当の「Title number」行をダブルクリック
⇒開いたウィンドウの中に「字幕カラーテーブル」があります
(最初はおそらく全部黒)。

このテーブルは「インデックスカラー」(DVD-Video の場合、最大色数16色)です。

字幕の文字の
 中心部, 縁取り, それ以外の部分
の色はそれぞれ、字幕カラーテーブルのどれか1色と対応しています。
対応関係はケースバイケースですので、対応関係を調べる必要があります。

(2)以下の枠の中を領域指定⇒右クリック⇒[コピー]

字幕カラーテーブル(テキスト) どの色が字幕で使われているかの調査用

#FFFFFF #FFA500 #808080 #000000 #FF0000 #800000 #FFFF00 #808000 #00FF00 #008000 #00FFFF #008080 #0000FF #000080 #FF00FF #800080

(3)「字幕カラーテーブル」を調査用に変更する
PgcEdit で「字幕カラーテーブル」の [全て貼付け] をクリック
⇒「字幕カラーテーブル」の色が、下図の色(上の枠でコピーした色)
に変わる⇒[OK]⇒上書き保存する。
プレイヤーソフトが起動していると保存できない可能性があります。

図5 PgcEdit (V8.6) の 字幕カラーテーブル
字幕カラーテーブル

(4)プレイヤーソフトで再生し、対応関係を調べる
プレイヤーソフトで再生 し、字幕の文字の色と字幕カラーテーブルの対応関係を調べます。
私の経験の範囲では、字幕カラーテーブルの1行目が該当することが多いです。

(5)字幕が見やすくなるように、「字幕カラーテーブル」を変更する
PgcEdit の「字幕カラーテーブル」で、対応する色を順次クリックし、
色を変更する。
文字の
 中心部:白, 縁取り:黒, それ以外の部分:グレー
に指定すれば、見やすい字幕が表示されるはずです。
字幕に関係ない色は、私は念のため黒にしています。
⇒[OK]⇒上書き保存する。
プレイヤーソフトが起動したままだと保存できない可能性があります。

【DVDStyler のパレット欄を使用する方法】

(1)調査用のパレットファイルを指定してオーサリング
タイトルのプロパティウィンドウの「パレット:」欄に、(どの行が字幕で使われているかの)調査用パレットファイル colors16.rgb を指定してオーサリングします。テキストファイルです。

このファイルの内容を DVDStyler 公式サイトに提案したところ、colors16.rgb として DVDStyler に同梱されました。 DVDStyler をインストールしたフォルダの下の、フォルダ data の下に有ります(Windows 版)。
このファイルが無い場合は、テキストエディタで作成して下さい。

根拠はありませんが、Windows 版以外で意図通りに動作しない時は、改行コードを自分の OS 用にした方が良い???かもしれません。

(2)プレイヤーソフトで再生し、対応関係を調べる
プレイヤーソフトで再生 し、字幕の文字の色と同じ色をパレットファイルで探し、対応関係を調べます。
私の経験の範囲では、パレットファイルの最初の4行が該当することが多いです。

(3)パレットファイル colors16.rgb を別ファイルにコピー
パレットファイル colors16.rgb を別ファイルにコピーし、新しいパレットファイルとします。

(4)字幕が見やすくなるように、新しいパレットファイルを変更する
新しいパレットファイルの字幕に関係する行を、テキストエディタで下表の様に変更します。
字幕に関係ない行は、私は念のため黒にしています。

文字 RGB
中心部 FFFFFF
縁取り 000000
それ以外の部分 グレー 808080

⇒「パレット:」欄に新しいパレットファイルを指定する
⇒オーサリングし動作確認する
プレイヤーソフトが起動したままだとオーサリングできない可能性があります。

(5)パレットファイルの例

「パレット:」欄には .rgb と .yuv のどちらかを指定します。

(a).rgb
6桁の色指定は、16進表記で2桁ずつ RGB を指定します。字幕は通常白黒なので、R(赤) と G(緑) と B(青) は同じ値で問題ありません。

(b).yuv
6桁の色指定は、16進表記で2桁ずつ Y Cr CB を指定します。字幕は通常白黒なので、Cr と CB はおそらく 80 でいいでしょう。
Y Cr CB 表記では、黒「108080」,白「EB8080」,グレー「7e8080」です。

  • パレットファイル - パターン1(16行)
     .rgb  .yuv
     R G B  Y CrCB  #  行 説明
    000000
    808080
    111111
    eeeeee
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    108080
    7e8080
    1f8080
    dc8080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    #00 01 不明(黒を指定)
    #01 02 中心部と縁取りの境界(グレーを指定)
    #02 03 縁取り(ほぼ黒を指定)
    #03 04 中心部(ほぼ白を指定)
    #04 05 不明(黒を指定)
    #05 06 同上
    #06 07 同上
    #07 08 同上
    #08 09 同上
    #09 10 同上
    #10 11 同上
    #11 12 同上
    #12 13 同上
    #13 14 同上
    #14 15 同上
    #15 16 同上


  • パレットファイル - パターン2(16行)
     .rgb  .yuv
     R G B  Y CrCB  #  行 説明
    111111
    808080
    eeeeee
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    000000
    1f8080
    7e8080
    dc8080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    108080
    #00 01 縁取り(ほぼ黒を指定)
    #01 02 中心部と縁取りの境界(グレーを指定)
    #02 03 中心部(ほぼ白を指定)
    #03 04 不明(黒を指定)
    #04 05 不明(黒を指定)
    #05 06 同上
    #06 07 同上
    #07 08 同上
    #08 09 同上
    #09 10 同上
    #10 11 同上
    #11 12 同上
    #12 13 同上
    #13 14 同上
    #14 15 同上
    #15 16 同上

【PgcEdit, IfoEdit を利用してのパレットファイル作成】

PgcEdit での対応関係調査で色の変更が完了していれば、PgcEdit でのタイトルの「字幕カラーテーブル」の下の [全てコピー] ボタンをクリック後、パレットファイル上に貼り付けて作成できます。
ソフト IfoEdit でも [Subtitle Color] のクリックから、パレットファイル上に貼り付けることができます。


■general purpose register

データの一時格納用に、レジスターが g0〜g15 の16個用意されています。一般的には GPRM と呼ばれることが多いです。
この内 g13〜g15 は、(DVDStyler が呼び出す) DVDAuthor 専用(jumppad 等に使用 ※2)のため、DVDStyler で使用できるのは g0〜g12 です。
g0〜g15 に格納できる値は 0〜65535 で、ディスク挿入時には 0 が格納されています。

メニューの「最後に実行したボタンを記憶する」にチェックを入れたり、メニューのボタンの「全タイトルを再生」にチェックを入れたりすると、その機能を実現するために、空いているレジスターが自動的に使われます。

■便利そうな system register

DVD の再生状況を調べたり、プレイヤーに対して指示するのに使用するレジスターが s0〜s23 の24個用意されています。一般的には SPRM と呼ばれることが多いです。
DVDStyler に馴れてくると、「サムネイルのメニューを表示する時に、最後に再生したタイトルに相当するサムネイルをハイライト(=強調表示)したい」などと欲が出てきます。 そういう時に役に立つのが system register です。
DVDStyler で各 system register の最大値まで扱えるかはわかりません。

system register の値を比較するには「g0=audio; if (g0==1) …」のように general purpose register に代入してから if を使うのがお勧めです。
audio, subtitle などは、DVDStyler 上で変更する以外にも、プレイヤーの機能で変化する可能性があります(例えばリモコンの 音声キー または 字幕キー を押すと、audio または subtitle の値が変化する)。

system register 欄の [] 内は、変更時に使用する DVD コマンド(PgcEdit)。DVDStyler では入力不可。

system register 説明
s1
または
audio

[SetSTN]
音声トラック番号(0〜7, 15:未指定)。
デフォルト値は 15。変更はタイトルセット内でのみ可能。
【以下は経験内容】
DVDStyler で音声を切り替える場合、ボタンのプロパティで「音声:」を選択するか、カスタム欄やコマンド欄で
「audio=0;」などと指定して音声を切り替える。
音声トラック1なら「audio=0;」
音声トラック2なら「audio=1;」
タイトルを再生すると 15 以外になる。
s2
または
subtitle

[SetSTN]
字幕トラック番号(Bit0〜5) と
字幕の ON=1/OFF=0(Bit6)。
字幕トラック番号のデフォルト値は 62。
変更はタイトルセット内でのみ可能。
 0:字幕 トラック 1 OFF
 1:字幕 トラック 2 OFF

30:字幕 トラック31 OFF
31:字幕 トラック32 OFF

62:字幕 未指定 OFF 「disables subtitles」
63:字幕0を指定 「finds the viewer's default
  language tag (with stream 0 default)」

64:字幕 トラック 1 ON
65:字幕 トラック 2 ON

94:字幕 トラック31 ON
95:字幕 トラック32 ON

【以下は経験内容】
DVDStyler で字幕を切り替える場合、ボタンのプロパティで「字幕:」を選択するか、カスタム欄やコマンド欄で
「subtitle=0;」などと指定して字幕を切り替える。
字幕(トラック1)OFF なら「subtitle=0;」
字幕トラック1 ON なら 「subtitle=64;」
字幕トラック2 ON なら 「subtitle=65;」
字幕のあるタイトルを再生すると、字幕トラック番号は 62 以外になる。

場合によっては字幕の色を指定する必要があります。
詳細は「字幕付き動画の字幕の色の変更」を参照して下さい。
s3
または
angle

[SetSTN]
アングル(1〜9)。
デフォルト値は 1。変更はタイトルセット内でのみ可能。
使用経験なし(DVDStyler はマルチアングルに未対応)。
s4 最後に再生されたタイトルの番号(1〜99)。
デフォルト値は 1。変更は不可。
タイトルセットとは関係なく、ディスク内で何番目のタイトルかが格納される。
s5 最後に再生されたタイトルの番号(1〜99)。
デフォルト値は 1。変更は不可。
タイトルセット内で何番目のタイトルかが格納される。
図1のコマンド(3) が実行されると 1 が設定される。
s7 最後に再生された(プレイヤーにより)チャプター番号またはプログラム番号(1〜999)。
デフォルト値は 1。変更は不可。
PgcEdit V8.6, V9.3 のトレースモードで 103 になることを確認。
s8
または
button

[SetHL_BTNN]
ハイライト(=強調表示=「選択時」の色)ボタン番号。
デフォルト値は 1024 (ボタン1)。
ボタンN(1〜36)をハイライトするなら N×1024 を格納する。
【設定例】
ボタン1「button=1024;」または「button=1k;」
ボタン10「button=10240;」または「button=10k;」
g11(=1,2,3,…)番目のボタン
 「button=g11*1024;」または「button=g11*1k;」
【以下は経験内容】
不正な値を格納しようとしても格納されない模様。参照も可能で、メニュー内で最後にハイライトしたボタンが判定できる。

DVDStyler の表示上と、オーサリングにより出力されたファイルで、ボタン番号の振り方が一致するとは限らない。 この場合、オーサリングにより出力されたファイルのボタン番号(PgcEdit で確認可能)に従って、このレジスターに値を格納しなければならない。
例えば DVDStyler 上のボタン番号が、ボタン4があるのにボタン3が無い場合、オーサリングにより出力されたファイルでは、ボタン番号がずれて詰まる。
ボタンのプロパティウィンドウで、「ナビゲーション:」の選択肢に表示されるボタン番号が昇順になっていない時は、ボタン番号の振り方が一致していないようである。

なおオーサリングにより出力されたファイルのボタン番号の振られ方は、プロジェクトファイル内の
<button … id="button数字2桁">
の記述順になっている模様。

オーサリングにより出力されるファイル上でのボタン番号を振り直したい場合は、ボタン番号を大きくしたい順に、
ボタン上で右クリック⇒[最初に強調表示されるボタン]
を繰り返す。

s20
または
region
プレーヤーのリージョンコード(1〜8)。
変更は不可。
『Some DVDs (mainly region 1) use this SPRM to check the player region code.』
from ≪DVD menu≫
『RCEではDVDがプレーヤーの…』
from ≪ウィキペディア リージョンコード≫
【以下は経験内容】
許可だと対応するビットが 1 になる。
自宅の BDレコーダー, DVDプレイヤーでは、値は2。

■コマンドと register の使用例

  1. 「次/前のタイトルを再生する」機能の作成

    まず「次のタイトルを再生する」機能の作成です。
    タイトルが4個の場合を例として書きます。タイトルセットが1個でも複数でも同じ記述です。コマンド欄に以下のように記入します。s4 は、最後に再生したタイトルがディスク内で何番目か、が格納されています。

    g0=audio; g0&=0x0f; if (g0==0x0f) jump title 1; g0=s4; g0+=1; if (g0>4) g0=1; if (g0==2) jump title 2; if (g0==3) jump title 3; if (g0==4) jump title 4; jump title 1;

    逆に「前のタイトルを再生する」機能の作成です。
    違いは太字の部分のみです。

    g0=audio; g0&=0x0f; if (g0==0x0f) jump title 1; g0=s4; g0-=1; if (g0==0) g0=4; if (g0==2) jump title 2; if (g0==3) jump title 3; if (g0==4) jump title 4; jump title 1;

    VMGMメニュー に配置したボタンの
    「カスタム」欄にどちらかを入力すれば「次/前のタイトルを再生する」ボタンを作成できます。

    「タイトル」にチェックを入れた VMGMメニュー のプリ・コマンド欄にどちらかを入力すれば
    「トップメニューキーを押すと、次/前のタイトルを再生する」DVD が作成できます。
    ただしコマンド
    call last menu;
    は使用できません
    (「タイトル」にチェックを入れた VMGMメニュー が最後のメニューになってしまうため)。

■動作確認環境

Windows パソコン
家電の DVD Player, BD レコーダー

■重要な訂正

  1. タイトルセットのメニューから、異なるタイトルセットのメニューへの直接移動 (更新 2013.01.26)

    タイトルセットのメニューから、異なるタイトルセットのメニューには、直接移動できないと判断しその経路を削除しました。対応するコマンドは他の経路でも使用されているので、残っています。
    削除の理由は以下の3個です。
    尚この使い方をしても、DVDStyler(v3.2.1 等) ではエラーになりませんし、PotPlayer, MPC-HC は移動できてしまいます
    (VLC media player は移動できない)。

    • SONY の BD レコーダー(1機種)がこのコマンドを実行すると、停止状態になる。
    • このコマンドを PgcEdit V9.3 で見ると、背景がオレンジ色(エラーの意味)になっている(PgcEdit V8.6 では通常色だった)。
    • DVDAuthor のドキュメントに「タイトルセット間はジャンプで移動できない」と記述されている。