Sonic Scenarist NT- практическое руководство

         

Примеры готовых сценариев


    В этом разделе мы будем помещать готовые работающие сценарии, созданные в Scenarist Pro с комментариями авторов. Возникшие вопросы следует направлять в конференцию по Scenarist. Мы не будем отвечать на вопросы по сценариям. Мы, как и другие авторы сценариев, также не несем никакой ответственности за возможные ошибки в сценариях и возможные негативные последствия от их использования. Никакие претензии по этому поводу приниматься не будут.

Мы выражаем благодарность всем приславшим свои сценарии. Они принимаются в scp формате (архивированными в zip или rar) с обязательными комментариями об идее сценария.

Сценарий свадьбы

- прислан Frippy. 

- Меню без использования подсветок, только графика

- Меню помещено в Title, а не в VTS для ускорения работы -

поиска по диску в аппаратном проигрывателе.

- Выбор сцен

- 15 переходов между меню, выводятся random

- Фотоальбом из 100 фотографий

Mike Oldfield - Millenium Bell. Сценарий популярного диска известного музыканта. Содержит меню выбора звука, субтитров и т.п. При анализе сценария следует учесть, что в меню этого диска subpicture появляются с задержкой, поэтому следует перемотать меню для просмотра кнопок.

Диск певицы Сандры - Сценарий интересен тем, что в нем реализован набор плей-листа песен для последующего воспроизведения. Например, у вас есть 25 клипов. Они могут проигрывается как обычно один за другим в классическом стиле, но также можно проиграть их  в режиме плей-листа. Можно выбрать любой клип в любой последовательности любое количество раз, но не более 32. Если плей-лист пуст, то сообщается, что он пуст. При добавлении клипа сообщается, каким по номеру он будет в плей-листе. Плей-лист проигрывается в той последовательности, в какой в него вставлялись клипы.   



Audio Menu


Audio Menu, по замыслу разработчиков стандарта DVD-Video, предназначалось для управления выбором аудио дорожек, но, строго говоря, необходимости в нем, как и в ряде других специализированных меню, нет. Выбрать нужную аудио дорожку можно в любом меню, но, тем не менее, отдельное Audio Menu может быть напрямую вызвано в большинстве программных компьютерных плееров и более наглядно видно в сценарии диска. Кроме этого, к Audio меню можно обратиться напрямую командой Jump to PGC in System Space. Для ввода в сценарий аудио меню следует "наложить" созданное вами для этого меню на икону Language VTS, как показано на рисунке:

 

Аудио меню не будет создано автоматически. Для присвоения флага аудио меню следует выбрать мышью верхнюю ячейку (PGC) и в Окне Свойств (Property browser) установить параметр Menu ID в значение Audio Menu.

Аудио меню есть смысл использовать при необходимости установить нужную звуковую дорожку фильма. Делается это следующим образом:

В редакторе сценариев в аудио меню выбирается ячейка Buttons



В Simulation Window выбирается закладка Button Commands, как показано на рисунке выше

Мышью выбирается номер кнопки в Command List, нажатие которой должно вызвать переключение дорожек.

В ниспадающем списке команд выбрать Set Angle/Audio/Sub-picture, как показано на рисунке:

После этого на экране появится меню установки, где 

o        Immediate - установка номера (аудиотрека, субтитров, камеры) в значение, указанное непосредственно в команде

o        GRPM - установка номера в значение, находящееся в выбранном GRPM регистре

o        Set Angle Stream ID to - установка номера камеры

o        Set Audio Stream ID to - установка номера аудиодорожки

o        Display Subpicture - разрешение/запрещение отображения subpicture (здесь подразумеваются субтитры)

o        Set Subpicture Stream ID to - установка номера дорожки субтитров

o        Compare - разрешение сравнения содержимого регистров

o        Link - переход по выполнению команды 

Выберите желаемый номер аудиодорожки и/или субтитров

Назначение кнопке команды не отменяет переход по нажатию этой же кнопки. Прежде чем назначить кнопке команду, можно соединить ее с нужным объектом. Этот прием особенно удобен именно для аудио меню, поскольку после выбора аудиодорожки разумно автоматически вернуться в главное меню, например, т.е. совместить выбор и переход.

4.1.2.5.



Добавление дорожек в сценарий


Нажмите на закладку Scenario Editor в Рабочем Окне.

Расширьте основную область окна за счёт уменьшения окна с деревом сценария:


Как видите – сценарий почти готов, осталось только поместить наши дорожки в нужные места и расставить связи:) 

C помощью кнопок в toolbar откройте проводник и нажмите в нём на закладку Track.

Перетащите FirstPlay-t из проводника на иконку Title_1.

Нажмите на иконку VideoManager. В меню в пункте New нажмите Language (либо правая кнопка меню, пункт Add Language…) и в появившемся окне выберите Russian.

Перетащите Menu01-t из проводника на только что созданную иконку Russian.

Нажмите на иконку VTS_1. В меню в пункте New нажмите Language (либо правая кнопка меню, пункт Add Language…) и в появившемся окне выберите Russian (чуть сдвиньте кнопку горизонтальной прокрутки, что б было видно только что созданную иконку Russian),

перетащите Menu02-t из проводника на только что созданную иконку Russian (в новую иконку, ту, которая растёт из VTS_1).

Нажмите на иконку VTS_1. В меню в пункте New нажмите Title

(либо правая кнопка меню, пункт Add Title…), оставьте предложенное название Title_2, (чуть сдвиньте кнопку горизонтальной прокрутки, что б было видно только что созданную иконку Title_2)

перетащите Movie-t из проводника на только что созданную иконку Title_2.

2.5.2.



DVD своими руками


Создание своего DVD-Video диска программой Sonic Scenarist NT- практическое руководство - Часть 1

1. Введение

2. Работа с программой Scenarist NT

2.1. Настройка проекта

2.2. Знакомство с интерфейсом программы

2.3. Ввод данных в проект

2.4. Формирование дорожек проекта

2.4.1. Создание дорожек для видео клипов

2.4.2. Расстановка глав (или сцен) (chapter)

2.4.3. Создание дорожек для меню

2.4.4. Создание меню на базе дорожки меню.

2.5. Редактор сценария.

2.5.1. Добавление дорожек в сценарий.

2.5.2. Расстановка связей.

2.6. Создание образа DVD-диска.

3.0. Заключение.

4.0. Углубленное изучение Scenarist NT

4.1. Работа с меню

4.1.1. Оформление меню                                                                                           

4.1.1.1. Работа с subpicture и кнопками на ней

4.1.1.1.2. Раздел Image

4.1.1.1.3. Раздел Colors

4.1.1.1.4. Раздел Highlight

4.1.1.1.5. Раздел Buttons

4.1.1.1.6. Раздел Advanced Effects

4.1.2. Работа с меню нескольких из уровней

4.1.2.1. Работа с PGC на примере меню PGC

4.1.2.2. Title Menu 

4.1.2.3. Root Menu                                                                                                           

4.1.2.4. Audio Menu

4.1.2.5. PTT Menu                                                                                                              

4.1.2.6. Subpicture и angle меню                                                                                        

4.1.2.7. Разрешение/Запрещение операций зрителя с PGC (фильмами) 

4.2. Работа с редактором сценариев                                                                                  

4.2.1. Создание фильма из нескольких фрагментов                                                              

4.3. Создание субтитров в фильме                                                                                     

4.3.1. Ввод субтитров с помощью скрипта                                                                             

4.4. Запись DVD диска

4.5. Маленькие хитрости (FAQ по программе)

4.6. Программирование в Scenarist NT

4.6.1. Системные параметры (регистры)                                                                               4.6.2. Общие параметры (регистры общего назначения)                                                    

4.6.3. Команды в Scenarist

4.6.3.1. Команды безусловного перехода (Jump)

4.6.3.2. Группы и типы команд

4.6.3.2.1. Группы команд

4.6.3.2.2. Типы команд                                                                                                        

4.6.4. Примеры программирования в Scenarist NT                                                                4.6.4.1. Пример первый - возвращение из меню в тот же момент фильма, откуда в меню   уходили                                                                                                                                  4.6.4.2. Пример второй - возвращение из фильма в тот же раздел меню, к какому относится проигрываемый фрагмент фильма

4.7. Практические примеры проектов в Scenarist NT

4.7.1. Проигрывание одного и того же фильма разными способами                                     4.7.2. Создание меню, "всплывающего" при просмотре фильма                                       

4.7.3. Смена музыкального сопровождения в меню при перемещении по кнопкам

5.0. Примеры готовых сценариев

1.



Формирование дорожек проекта


.

Приступим к формированию Дорожек проекта. Т.е. соберём из введённых нами данных объекты (клипы и меню) из которых чуть позже соберём наш DVD-диск.

2.4.1.



Где


можно обсудить проблемы с программой Scenarist и задать вопросы по ней?

    Это можно сделать в конференции по Scenarist http://boris.al-ko.ru/sc/.



Группы команд


Группа

Какие основные задачи решают команды группы

Могут быть объединены с командами из групп

Link (Соединить)

Старт видео в текущем домене

Set, Compare и SetSystem

Jump

Старт видео в указанном домене

Compare

GoTo

Переход к другой команде навигации

Compare

Compare

Сравнивает указанные параметры

Jump, GoTo, Set, Link и SetSystem

SetSystem

Устанавливает навигационные параметры

Link и Compare

Set

Задает значения GPRM

Link и Compare

4.6.3.2.2.



Каким


образом, не прибегая к средствам Windows, оперативно оценить объем используемых в проекте файлов с учетом любых меню?



Команды безусловного перехода (Jump)


    Команды перехода (Jump) применяются автором чаще других и чаще всего сам автор об этом и не подозревает, поскольку именно в команды Jump преобразуются большинство действия автора по соединению объектов фильма связями. Команды Jump могут быть такими:

Jump to PGC (Переход к PGC) - соединяет меню или тайтл с другим меню или тайтлом внутри одного VTS.

Jump to Program (Переход к Program в PGC) - соединяет меню или тайтл с chapter (сценой, главой) внутри одной PGC.

Jump to Cell (Переход к ячейке) - соединяет меню или тайтл с ячейкой (Cell) внутри одной PGC.

Jump by Sub-Instructions (Переход с выполнением дополнительной операции) - с помощью этой команды можно решить много задач, но самым популярным применением команды является возврат из меню в то же место фильма, откуда выполнялся переход в меню - Jump by Sub-Instructions/Resume. Также может использоваться для изменения содержимого регистра SPRM 8 изменением номера текущей выделяемой кнопки.

Jump to Title (Переход к тайтлу) - соединяет меню или тайтл с любым тайтлом внутри одного VTS.

Jump to Part of Title (Переход к главе(сцене) - соединяет тайтл с главой (сценой) внутри того же тайтла. Не может быть использована в Pre.

Jump to Part of Title in VTS (Переход к главе(сцене) внутри VTS) - соединяет тайтл с любой главой (сценой) в любом тайтле внутри VTS. Может быть использована в Pre.

Jump to PGC in System Space (Переход к PGC в проекте) - соединяет тайтл или меню с другим тайтлом или меню в проекте. Необходима для соединения компонентов проекта из разных VTS или, например, для соединений из Video Manager в VTS.

4.6.3.2.



Команды в Scenarist


Собственно говоря, все действия автора по соединению между собой объектов DVD проекта преобразуются программой Scenarist в различные команды. Но кроме автоматически формируемых команд, существует множество команд, которые автор может добавить только вручную. "Прикрепить" команды можно только к таким объектам в PGC:

Pre - команды будут выполняться ДО воспроизведения PGC. На один Pre можно "повесить" до 128 команд.

Post - команды будут выполняться ПОСЛЕ воспроизведения PGC. На один Post можно "повесить" до 128 команд.

Cell - команда будет выполняться после воспроизведения ячейки (Cell) PGC. На одну Cell можно формально "повесить" до 128 команд, но выполнится только первая из них. Если в PGC только одна Cell, то команда в Cell будет выполнена раньше команды (команд) в Post. Команды на Cell рекомендуется назначать только в случае невозможности какого-либо иного пути, поскольку это приведет в большинстве случаев к заметной на глаз задержке при воспроизведении фильма и флаг SM Cell с командой автоматически изменится на NSM.

Btns - в этом месте изначально можно "повесить" только команды перехода, которые потом, впрочем, можно изменить. Но добавить какие-либо команды в Simulation Window или еще каким-либо способом нельзя. 

4.6.3.1.



Маленькие хитрости


    Здесь мы будем публиковать информацию по интересным и не указанным явно в документации возможностям программы, а также по решению ряда проблем при ее использовании в виде FAQ.

У меня не работает как прокрутка видео в программных DVD плеерах, так и индикация времени на бытовых DVD плеерах. В чем может быть дело, ведь насколько я понимаю, Scenarist не имеет этого недостатка ReelDVD?

Каким образом, не прибегая к средствам Windows, оперативно оценить объем используемых в проекте файлов с учетом любых меню?

Создавая один из собственных проектов на основе ваших примеров, столкнулся с непонятным эффектом: нажав на пульте ДУ кнопку меню, попадаю в правильное место root menu, но нажав кнопку меню повторно, возвращаюсь назад точно в то же место фильма, из которого уходил в меню первый раз. Меня смущает также то, что на разных плеерах по разному - на некоторых все происходит как и должно было бы, на мой взгляд, происходить. В чем тут может быть дело?

Получил странное сообщение об ошибке : 

Error: Can not find Cell Piece (Cell Name-> Главное "меню">, PGC <Titlemenu-t-pgc>)

Error: C_PgcInfoTab :: UploadFromDB VTSM_DOM Failed. Диск не создается, в чем может быть дело?

У меня почему-то мерцают различные элементы неподвижных меню. Кроме этого, часто элементы выделения (квадраты, например) "теряют" одну сторону изображения. Можно ли избежать подобных неприятностей и как?

Создал проект для освоения возможностей Scenarist из коротких фрагментов видео и обнаружил, что DVD-Video диск, полученный в результате работы над тестовым проектом, совершенно по разному работает на разных плеерах. В чем может быть дело, в ошибке Scenarist?

В каждом своем проекте я создаю несколько меню эпизодов, в которых используются одинаковые subpicture, но, тем не менее, для каждого меню мне приходится задавать кнопки отдельно. Нельзя ли автоматизировать этот процесс?

Где можно обсудить проблемы с программой Scenarist и задать вопросы по ней?

Создал несколько проектов на Scenarist, удалил их с диска за ненадобностью, но до сих пор при запуске программы на новый проект она выводит список всех проектов, которые я когда-либо делал. Как избавиться от старых "хвостов"?



Настройка проекта


.

Работа программы после ее запуска начинается с выбора проекта:

в окне Project Manager, нажимаем кнопку New.

попадаем в Scenarist NT Project Wizard, и нажимаем кнопку Next.

нажимаем кнопку … и указываем имя файла проекта и его местонахождение, затем нажимаем кнопку Next. Имя может быть любым, конечно.

В следующем окне оставляем в качестве типа диска DVD-Video и нажимаем Next.

В следующем окне оставляем в качестве вида диска Single Layer Disc (однослойный) и нажимаем Next.

Далее устанавливаем параметры кодирования фильма: PAL (720 x 576), 4:3, и нажимаем кнопку Next.

Следующие четыре окна служат для назначения цветов кнопок управления в меню. Оставляем все значения по умолчанию, т.е. четыре раза нажимает кнопку Next.

На вопрос:  How many video title set would you like? (Сколько будет фильмов в проекте), ответим: один, т.е. оставим всё как есть и нажмём кнопку Next.

В следующем окне определим место, куда будет записываться результат (мы хотим создать образ DVD-диска). Для этого справа от поля Target (Место назначения) нажмём кнопку … и выберем папку (можно использовать ту же папку, которую вы указали для данного проекта). Нажимаем кнопку Next.

Не используем никаких шаблонов, выбирая I don't want to use template wizard, т.е. нажимаем кнопку Next.

На этом задание параметров проекта завершается. На экране видим результат нашего выбора:

Scenario Name : MyFirstProject

Disc type : DVD Video

Layer type : Single layer

Resolution : PAL

Aspect ratio : 4x3

Number of VTS : 1

Target directory : D:\Temp\Scenarist\Test01\

DVD Root directory : D:\Temp\Scenarist\Test01\0\

Multiplexer directory : D:\Temp\Scenarist\Test01\mux_data\


Теперь осталось нажать кнопку Finish.

2.2.



Общие параметры (регистры общего назначения)


      Регистры общего назначения (GPRM) отличаются от системных (SPRM) тем, что они находятся в полной власти автора диска и он волен проделывать с ними любые допустимые операции. Разрядность GPRM регистра 16 бит и, соответственно, максимальное значение регистра может быть 65535 в десятичной системе или FFFFh в шестнадцатиричной. Значения в регистрах GPRM можно просматривать и изменять во время воспроизведения во вкладке General Params Simulation window. Всего этих регистров 16 и над ними допускаются следующие операции (выполняются по команде Set):

Assign (Присвоение) - присвоение регистру любого числового значения в диапазоне от 0 до 65535, а также значения, находящегося в любом другом GPRM или SPRM регистре.

Exchange (Обмен) - обмен содержимого одного GPRM регистра с другим GPRM регистром.

Add (Сложить) - прибавление к  содержимому GPRM регистра числа или содержимого другого регистра или сложение значений в двух GPRM регистрах.

Subtract (Вычитание) - вычитание числа из содержимого GPRM регистра, вычитание из содержимого одного регистра содержимого другого.

Multiplay (Умножение) - умножение числа на содержимое GPRM регистра или умножение содержимого двух GPRM регистров. 

Divide (Деление) - деление содержимого GPRM регистра на число или деление содержимого одного GPRM регистра на другой и запись частного от деления, которое не может быть равно нулю. 

Remainder (Остаток) -  запись остатка от деления числа на значение GPRM регистра или остатка от деления одного регистра GPRM на другой.

Random Value (Случайное значение) - присвоение GPRM регистру случайно выбранного числа, которое не может быть равно нулю.

Bitwise Product (Побитовое умножение) - присвоение GPRM регистру результата побитовой операции AND (И) одного GPRM регистра с другим, числа с GPRM регистром, регистра GPRM с SPRM и т.д.

Bitwise Sum (Побитовое сложение) - присвоение GPRM регистру результата побитовой операции OR (ИЛИ) одного GPRM регистра с другим, числа с GPRM регистром, регистра GPRM с SPRM и т.д.

Exclusive OR (Исключающее ИЛИ) - присвоение GPRM регистру результата побитовой операции Exclusive OR (Исключающее ИЛИ) одного GPRM регистра с другим, числа с GPRM регистром, регистра GPRM с SPRM и т.д.

4.6.3.



Оформление меню


Основные правила создания меню достаточно подробно освещались в статье о ReelDVD. Но есть ряд дополнительных возможностей по оформлению меню, которые существуют только в Scenarist и отсутствуют в ReelDVD. Именно об этих особенностях и будет идти речь в этом разделе руководства.



Получил


странное сообщение об ошибке : 

Error: Can not find Cell Piece (Cell Name-> Главное "меню">, PGC <Titlemenu-t-pgc>)

Error: C_PgcInfoTab :: UploadFromDB VTSM_DOM Failed. Диск не создается, в чем может быть дело?

      Дело в том, что в названии какого-либо из объектов (в данном случае это Title menu) использована кириллица и знаки кавычек, а это недопустимо. В редакторе сценариев допускается использование кириллицы во многих случаях, но в Track Editor это не рекомендуется делать вообще.



Пример первый - возвращение из меню в тот же момент фильма, откуда в меню уходили


      Задача: Зритель во время просмотра фильма нажимает кнопку меню, просматривает меню, или просто желает таким способом прервать на время просмотр, но потом, выбирая в меню просмотр фильма, хочет вернуться то же место, откуда он перешел в меню. Кратко это функция называется Resume. Решение этой задачи несложно и для начала рассмотрим именно ее. 

      При решении любой задачи необходимо руководствоваться обыкновенным здравым смыслом, поэтому первой операцией, которой нам надо сделать, это как-то запомнить тот факт, что мы смотрели фильм и вышли в меню именно из него. Проще всего это сделать, записав какое-нибудь число в GPRM регистр. Для этого щелкнем мышью на ярлыке Pre основного фильма. программа автоматически вызовет Simulation window и на экране появится такой диалог:

 

    Как видно из рисунка, никаких команд на Pre нет. Для ввода команды сначала следует снять флажок у No Command (Нет команды). На экране появится диалог ввода команды:

Поскольку нам надо просто записать в GPRM число, то мы выберем в ниспадающем меню Command (Команда) команду Set to GPRM (Установить GPRM):

По умолчанию команда Set to GPRM настроена на присвоение значения (Assign) одного регистра GPRM другому. Если мы хотели бы присвоить значение SPRM регистра регистру GPRM, то в поле Set следовало бы выбрать SPRM. Нам же требуется занести число и для этого в поле Set нам надо выбрать Immediate (Немедленно):

 

    Занесем в регистр GPRM0 число 100. Для нашего примера совершенно все равно, какое именно число будет занесено, лишь бы оно отличалось от нуля. Тем самым, поскольку мы "повесили" команду на Pre, при любом входе в фильм мы присваиваем GPRM0 значение 100.

    Теперь нам надо обнулить это число по окончании фильма. Для этого щелкнем мышью на ярлыке Post фильма (помните, что в нашем сценарии Post был соединен с Root меню): 

 

Как видно из рисунка, после окончания фильма программа дает возможность при использовании функции Resume вернуться к любой главе (сцене) фильма, причем по умолчанию переход происходит к началу фильма, т.е. первой главе (сцене). Для нашей задачи такой автоматический способ возвращения по завершении просмотра подходит, но мы будем считать, что его нет для чистоты эксперимента. Поскольку очередность команд менять нельзя, мы просто заменим команду перехода в Root меню на команду присвоения нулевого значения регистру GPRM0:


 
Теперь нажмем кнопку Add (Добавить) и введем команду перехода к Root меню:

C фильмом все необходимые действия проделаны, теперь настало время для работы с Root меню. Выберем ячейку Buttons (Кнопки) в Root меню и в Simulation window мы увидим:
 
 Нас интересует как раз первая команда, поскольку она относится к кнопке "Просмотр фильма". Как мы писали ранее, на кнопку можно "повесить" только одну команду, а поскольку реализовать полностью все нужные нам действия никакой единственной командой, даже Type 3, не удастся, надо придумать способ, как обойти это ограничение. Наиболее простое решение в этом случае - просто перейти к Post в Root меню, поскольку на Post можно "повесить" до 128 команд. Так мы и сделаем:
 
 Как видно из рисунка, мы "повесили" на кнопку команду безусловного перехода к Post. Теперь щелкнем мышью на ярлыке Post Root меню:

Снимем флажок с параметра No Command (Нет команды) и выберем команду Jump by Sub-Instructions с подкомандой Resume, как показано на рисунке:

Команда Jump by Sub-Instructions с подкомандой Resume как раз и возвращает зрителя в то место Title, откуда зритель попал в меню. Если оставить все как есть, то переход по Resume будет выполняться всегда, что нам не подходит, поскольку зритель может попасть в Root меню из вступительного клипа (First Play), например и тогда нажатие кнопки "Просмотр фильма" в Root меню приведет к тому, что зритель снова вернется в вступительный клип, а не перейдет к просмотру фильма. Поэтому установим флажок Compare (Сравнить):

Выбор Compare (Сравнение) означает, что действие по команде, в которой вы разрешили сравнение, будет выполнено в том и только в том случае, если результат сравнения - истина (true). Если результат ложь (false), то команда будет просто пропущена и DVD плеер перейдет к обработке следующей по списку команде. Установите в поле Compare Immediate и введите число 100 в соответствующем поле, как показано на рисунке выше. Если в GPRM будет число 100, то переход к точке выхода из фильма (Resume) произойдет, в противном случае нет. Но что означает значение регистра GPRM0, не равное 100? Это означает, что зритель еще не смотрел фильм и нам надо просто перейти к соответствующему Title, что мы и сделаем, добавив по кнопке Add команду Jump to Title (Переход к тайтлу) и выбрав в поле ниже Title_2, как показано на рисунке:


 
На этом собственно программирование закончено. Следует иметь ввиду, что вы не сможете проверить в Simulation window переход по Resume. Несмотря на то, что программа явно отрабатывает этот переход, в окне Simulation window картинка не меняется. Но, сделав образ DVD-Video на жестком диске, вы можете убедиться в правильности работы заданных вами команд, используя программный DVD плеер, такой как PowerDVD, например. Не забудьте замыкать ячейку Cell Root меню саму на себя, поскольку если вы для Root меню будете использовать видеоклип, то при незамкнутом цикле воспроизведения плеер попадет в Post и перейдет к просмотру фильма. 
На этом мы завершили описание первого примера, сценарий которого вы можете переписать отсюда. 

Пример второй - возвращение из


Задача: Зритель во время просмотра фильма нажимает кнопку меню и после нажатия попадает именно в тот раздел меню эпизодов, к которому относился проигрываемый в момент нажатия кнопки меню фрагмент. Это удобно, поскольку зритель сразу может увидеть, в какой части фильма он находится и перейти в любое другое место уже вполне осознанно. Если же пользователь захочет попасть в главное меню, ему надо будет просто нажать кнопку меню еще раз. 

      При решении любой задачи необходимо руководствоваться обыкновенным здравым смыслом, поэтому первой операцией, которой нам надо сделать, это как-то запомнить тот факт, что мы смотрели фильм и вышли в меню именно из него. Проще всего это сделать, записав какое-нибудь число в GPRM регистр. Для этого щелкнем мышью на ярлыке Pre основного фильма. программа автоматически вызовет Simulation window и на экране появится такой диалог:

 

    Как видно из рисунка, никаких команд на Pre нет. Для ввода команды сначала следует снять флажок у No Command (Нет команды). На экране появится диалог ввода команды:

Поскольку нам надо просто записать в GPRM число, то мы выберем в ниспадающем меню Command (Команда) команду Set to GPRM (Установить GPRM):

     По умолчанию команда Set to GPRM настроена на присвоение значения (Assign) одного регистра GPRM другому. Если мы хотели бы присвоить значение SPRM регистра регистру GPRM, то в поле Set следовало бы выбрать SPRM. Нам же требуется занести число и для этого в поле Set нам надо выбрать Immediate (Немедленно):

 

    Занесем в регистр GPRM3 число 100. Для нашего примера совершенно все равно, какое именно число будет занесено, лишь бы оно отличалось от нуля. Тем самым, поскольку мы "повесили" команду на Pre, при любом входе в фильм мы присваиваем GPRM3 значение 100.

    C фильмом все необходимые действия проделаны (помните, что по умолчанию флаг Post фильма должен быть соединен с флагом Pre Root Menu), теперь настало время для работы с Root меню. Выберем флаг Pre в Root меню и в Simulation window мы увидим:


 
     Как видно из рисунка, никаких команд на Pre нет. Подумаем, что нужно сделать для перехода к нужной ячейке меню эпизодов:
1.       Записать в GPRM регистр номер текущей главы, который, как нам известно, находится в регистре SPRM7.
2.       Определить, из фильма мы попали в меню или из какого-либо другого места - например, из того же меню эпизодов. Если не из фильма, то никаких действий не предпринимать.
3.       Если из фильма, то сразу перейти к меню эпизодов.
Введем команды для выполнения описанной последовательности:
 
     Как видно из рисунка, мы переписали в регистр GPRM7 содержимое регистра SPRM7 и, тем самым, в регистре GPRM7 теперь хранится номер главы (сцены), которую смотрел зритель перед тем, как нажать кнопку меню. Регистр GPRM7 выбран произвольно, можно выбрать любой другой, за исключением GPRM3, который мы уже используем для запоминания входа в фильм. Далее проверяем, откуда мы пришли в меню и делаем переход к меню эпизодов, если пришли из фильма:

     Понятно, что если содержимое GPRM3 не равно 100, т.е. мы не смотрели фильм, то мы просто попадаем в Root Menu. В этом случае все дальнейшие действия зрителя идут обычным путем и нас интересовать не будут. Если же мы переходим сразу к меню эпизодов, т.е. мы пришли из фильма, то нам надо сделать такие операции:
1.       Снова проверить, откуда мы пришли, поскольку зритель может попасть в меню эпизодов и обычным путем через Root Menu. Если не из фильма, то просто перейти к первому меню эпизодов.
2.       Стереть информацию о том, что мы пришли из фильма, поскольку попав потом в меню эпизодов, действия зрителя могут быть любыми и он, в частности, может захотеть попасть в Root Menu. В этом случае, если содержимое GPRM3 останется равным 100, бедный зритель опять попадет в меню эпизодов.


3.       Выполнить операции сравнения содержимого регистра GPRM7 с числовыми константами и в зависимости от результатов сравнения перейти к соответствующей ячейке меню эпизодов.
    Проверяем, откуда пришли в меню эпизодов и переходим к первому меню эпизодов и к первой кнопке в этом меню, если пришли не из фильма:

    Если условие не было выполнено, то следующим пунктом - обнуление GPRM3:

     Теперь выполняем сравнения и переход:
 
    На рисунке в выделенных красным полях указаны значения для последней команды, конечно. В этом примере в качестве кнопки по умолчанию выбрана 5-ая, т.е. кнопка перехода к Root Menu, которая есть в каждом меню эпизодов. Понятно, что может быть выбрана любая другая кнопка. Если же вы хотите, чтобы зритель попал именно на ту кнопку, которая относится к просматриваемой зрителем главе, то это просто потребует большего количества команд. Пример:

      В заключении следует сделать еще одну операцию, так как мы можем попасть в меню еще по одной причине - окончании просмотра фильма. В этом случае, разумеется, автоматический переход к меню эпизодов не требуется, поэтому на Post самого фильма следует "повесить" обнуление регистра GPRM3, как показано на рисунке:

      Делая свой проект, подобный рассмотренному в нашем примере, вы должны учесть:
1.       Для того, чтобы выбирались заданные вами кнопки, следует установить параметр Nonexistent, как описано в 4.1.1.1.4. Раздел Highlight.
2.       Если Title Menu реально используется, то на его Pre надо "повесить" обнуление того регистра, который применялся для запоминания факта просмотра фильма (в нашем примере это GPRM3), поскольку при сознательном выборе Title Menu очевидно, что зрителю меню эпизодов не нужно. 
На этом мы завершили описание второго примера, сценарий которого вы можете переписать отсюда. 
Создание своего DVD-Video диска программой Sonic Scenarist NT- практическое руководство - Часть 8
     
4.6.4.2.


Создание своего DVD-Video диска программой Sonic Scenarist NT- практическое руководство - Часть 9

     
4.7.

Примеры программирования в Scenarist NT


    Прежде чем приступить к описанию конкретных примеров использования команд, мы рекомендуем вам создать тестовый проект в Scenarist, весьма удобный для отладки любых сложных проектов и просто для освоения Scenarist. Для создания этого проекта надо проделать такие действия: 

1.       Сделать .bmp картинку 720х576 с надписью Тайтл меню. В качестве subpicture сделать надпись "Переход к Root". 

2.       Аналогичную картинку сделать с надписью Root меню и в subpicture сделать две кнопки "Просмотр фильма" и "Выбор  эпизодов".

3.       Создать три картинки для меню эпизодов, вид которых ясен из рисунка (все надписи, кроме "Первое PTT меню", есть кнопки в subpicture):


Понятно, что остальные две картинки PTT меню такие же, но номера частей другие.

4.       Для подготовки фильмов в наш тестовый проект в видеоредакторе надо:

1.       Написать в титровальной программе редактора для вступительного клипа слова FirstPlay и с минимальным bitrate закодировать в MPEG-2 на 30 секунд клип. Никакие файлы импортировать в проект не требуется.

2.       Создать проект, в котором написать титры "Часть 1", задав длительность 1 минута, затем "Часть 2" с такой же длительностью и т.д. до части 12-ой включительно. Кодировать полученный фильм с минимальным bitrate. Никакие файлы импортировать в проект не требуется.

     Файлы .bmp с меню и subpicture к ним и файлы проектов для FirstPlay и основного фильма для Ulead MediaStudio Pro 7.0 вы можете переписать здесь (~70 кБ). Необходимые пояснения по файлам находятся в readme.txt внутри архива. Далее создадим тестовый проект в Scenarist. Файл сценария тестового DVD для Scenarist также лежит в архиве с остальными файлами проекта, ссылка на который дана выше.


    Наш проект имеет такой вид:
 
      В качестве пояснения, если по каким-либо причинам вы не сможете запустить наш готовый сценарий:
Основной фильм разбит на двенадцать глав (сцен) по минуте каждый в соответствии с сделанными титрами.
В Title меню связь с единственной кнопки идет на Root меню
Из Root меню с кнопки "Просмотр фильма" идет связь к фильму, с кнопки "Выбор эпизодов" - к PTT меню
В PTT меню от кнопок "Часть 1", "Часть 2" и т.д. идут связи к соответствующим частям (сценам) фильмам, от кнопки "Главное меню" к Root меню, от кнопки "Назад" к предыдущему меню эпизодов (к Root для первого меню эпизодов), от кнопки "Вперед" к следующему меню эпизодов (к Root для последнего меню эпизодов).
Post FirstPlay соединен с основным фильмом, а Post основного фильма соединен с Root меню.
Остальные связи вполне понятны из рисунка.

     Смысл этого проекта в том, что глядя на экран в Simulation window Scenarist или экран телевизора при просмотре результатов работы, вы всегда будете совершенно точно знать, где вы находитесь. По "живому" фильму это значительно труднее сделать. Кроме этого, весь проект займет на DVD диске менее 200 мегабайт (если вы использовали bitrate при кодировании не более 2000 кбит/сек) и его запись на диск отнимет всего несколько минут. Как мы увидим позже, не все действия Scenarist по выполнению им некоторых команд можно проверить в самом Scenarist - в некоторых случаях потребуется запись на диск. Мы рекомендуем использовать этот проект всем, кто начинает осваивать Scenarist.
4.6.4.1.

Программирование в Scenarist NT


     DVD стандарт, кроме возможностей по установке примитивных связей между объектами DVD проекта, разрешает также и программирование действий DVD плеера по воспроизведению DVD-Video диска. Возможности по программированию управления воспроизведением довольно обширны и мы постараемся рассказать о них, пояснив их конкретными примерами. Прежде чем приступить к описанию способов программирования, мы познакомимся с теми объектами, которые используются при программировании.

4.6.1.



Проигрывание одного и того же фильма разными способами


В процессе создания любительских DVD-Video дисков очень часто возникает на первый взгляд простая задача - проиграть только определенные главы из фильма, сохранив возможность проиграть и весь фильм  целиком без каких-либо задержек и пауз. Выбор требуемой последовательности проигрывания должен быть в меню диска. Типичные примеры:

Фильм о музыкальном концерте, с задачей либо просмотреть весь концерт, либо только песни без пауз на общение зрителей и артистов между песнями.

Фильм о каких-то семейных событиях, не все из которых следует смотреть посторонним людям.

Возможность просмотра для желающих (или очень спешащих) только самых интересных фрагментов вашего фильма.

     Вторая задача, которая обычно возникает в связке с первой - сделать так, чтобы нежелательные для просмотра фрагменты были при желании недоступны для зрителя в принципе, т.е. полный просмотр должен включаться  в этом случае скрытой кнопкой меню.

     На первый взгляд решение задачи очевидно. На каждую (или только на те, после которых возможен переход) cell фильма "вешается" команда перехода, анализирующая ранее нажатую кнопку меню и, в зависимости от этого, выполняющая переход с "перепрыгиванием" ненужных cell. Например, можно сделать это таким образом (в регистр GPRM0 до этого был записан номер нажатой кнопки из SPRM8):

      Но у этого способа есть весьма существенный недостаток - как только на cell "вешается" команда, то при нормальном воспроизведении (когда требуется просмотреть все подряд, без "перепрыгиваний"), всегда возникает заметная даже обычному зрителю пауза при отвлечении плеера на анализ команды в cell. Воспроизведение с паузами, конечно, удовольствия никому не доставит и такой способ применять крайне нежелательно. 

      Мы расскажем о способе решения этой задачи, лишенном всех недостатков описанного выше метода. Итак, исходные данные (в качестве примера выбран концерт): 


Запись концерта

На концерте исполняется несколько песен

Зритель должен иметь возможность:

o        Посмотреть весь концерт целиком

o        Посмотреть только песни, без пауз между ними

Выбор нужного варианта выполнять из меню

Описание проекта.

Первый этап:

1.       Вводим фильм в проект Scenarist как обычно.

2.       Разбиваем фильм на главы (chapters), ОБЯЗАТЕЛЬНО выделяя в главы все фрагменты фильма, включая и те фрагменты, какие могут быть пропущены в каком-то из вариантов просмотра.

3.       В Root menu определяем кнопку для полного просмотра и кнопку для избранного.

В результате мы должны получить фильм с множеством глав. Дальше мы можем вводить наш фильм в Scenario Editor и вот тут начинается самое интересное. На икону Title надо "бросать" не весь фильм, как обычно, перемещая из папки Tracks ссылку на фильм,



а "выкладывать" в Scenario Editor каждую главу индивидуально. Причем делать это надо так:

Первая cell "бросается" на икону Title

Те cell, с каких будут начинаться главы, ссылки на которые будут в меню эпизодов и которые также предназначены для избранного просмотра, "бросаются" на икону PGC фильма. 

Те cell, которые могут не показываться по варианту избранного просмотра, и, естественно, не будут доступны через меню эпизодов, "бросаются" на икону Program соответствующей chapter. 

На рисунке результат выполнения таких действий показан наглядно:



Конечно, "нанизывать" cell в Scenario Editor следует последовательно, в порядке их правильного воспроизведения, поскольку в этом случае непрерывное воспроизведение будет гарантировано, что видно из флагов SM на cell. Итак, мы создали первый Title, который предназначен для просмотра всего концерта (фильма). Завершаем первый этап соединением нашего первого Title с кнопкой меню, отправляющей зрителя на просмотр полного фильма.



Смысл первого этапа в том, что в результате нумерация глав при любом варианте просмотра будет одинаковой и переходы по фильму соответственно тоже одинаковы. Можно просто включить в первый Title весь фильм обычным образом, не обращая внимания на то, что нумерация и количество глав будут отличаться при разных вариантах просмотра, но это уже выбор автора. Мы рассказали о таком варианте, поскольку он не совсем очевиден.

Второй этап

В текущем VTS создаем еще один Title

Из той же папки Tracks "бросаем" на него только те cell, которые предназначены для избранного просмотра (в нашем конкретном примере это только клипы с песнями)

В результате получаем довольно обычную картину:



Только если внимательно посмотреть на номера cell, станет видна разница с обычным фильмом - cell идут не подряд да и флаги прерывистого проигрывания (NSM) есть у каждой cell. В данном случае перерывов не избежать никак да и зритель в курсе - он предупрежден о просмотре избранных фрагментов. Завершаем второй этап соединением второго Title с кнопкой меню, отправляющей зрителя на просмотр только избранных вами фрагментов во втором Title. 

Собственно говоря, это все. После выбора в меню просмотра всего фильма плеер перейдет к первому Title и зритель посмотрит весь фильм без малейших пауз. Если же выбран просмотр только избранных фрагментов, то плеер перейдет ко второму Title и зритель увидит только отдельные фрагменты (в нашем примере - только песни).

Очевидно, что для создания еще каких-либо вариантов просмотра следует просто добавить еще Title в VTS с нужной последовательностью и т.д. и т.п. Понятно, что этот способ удобен тем, что все время используются части одного и того же фильма и места на диске требуется только для собственно фильма. Добавление различных вариантов просмотра практически не увеличивает занимаемое проектом место на диске. Нумерация глав может и не совпадать для разных вариантов, хотя дроблением фильма на мелкие chapters можно добиться и совпадения.

     

PTT Menu


     PTT меню предназначено, как следует из названия, для выбора эпизодов фильма. Никаких дополнительных возможностей, как и в случае с Audio Menu, нет. К PTT меню также можно обратиться напрямую командой Jump to PGC in System Space. Для ввода в сценарий PTT меню следует присоединить созданное вами для этого меню к иконе Language VTS, как показано на рисунке:

PTT

меню не будет создано автоматически. Для присвоения флага PTT меню следует выбрать мышью верхнюю ячейку (PGC) и в Окне Свойств (Property browser) установить параметр Menu ID в значение PTT Menu. Применение PTT

меню имеет смысл только ради наглядности создаваемого вами сценария.

4.1.2.6. Subpicture и angle меню 

     Никаких особенностей эти типы меню по сравнению с Audio и PTT не имеют. К этим меню также можно обратиться напрямую командой Jump to PGC in System Space. Понятно, что Subpicture меню предназначено для выбора субтитров, поскольку субтитры представляют собой также subpicture, но без единой кнопки, естественно. Как правило, выбор субтитров и аудиодорожек делается в одном меню, которому может быть присвоен атрибут либо Audio menu, либо Subpicture menu. Правила установки желаемой дорожки субтитров аналогичны установки аудиодорожки, поэтому вы можете воспользоваться описанием Audio Menu, где рассказано, как это сделать.  В Angle menu смысла нет в принципе - камеры интересно переключать во время просмотра фильма, поэтому, если вы используете съемку несколькими камерами, то соответствующая индикация все равно будет на плеере и телевизоре и зритель сможет увидеть, что в этом фильме можно  посмотреть вид с другой камеры.

4.1.2.7.



Работа с меню из нескольких уровней


Как правило, в большинстве случаев при создании DVD диска требуется иметь одно главное меню, из которого выполняются переходы в меню эпизодов, установки параметров звука, языка и т.д. Организовать все эти меню можно несколькими способами:

1.       Классический - главное меню помещается в VideoManager

и из него можно переходить в любое место проекта, точнее - к любому title проекта. Остальные меню размещаются в соответствующих VTS. В этом случае главное меню вызывается по нажатию кнопки Title на пульте ДУ DVD плеера, а остальные меню нажатием кнопки Menu пульта. Этот способ обязателен к применению, если вы планируете создать диск из нескольких различных фильмов, каждый из которых будет в своем VTS со своими меню, так как только из Title меню можно осуществлять переход между VTS. Существуют, конечно, пути обхода этого ограничения, но они крайне неудобны да и не требуются. Недостаток такого варианта только один - пользователь должен понимать, что нажимая разные кнопки пульта DVD-плеера Title и Menu, он будет попадать в разные меню. Как это не смешно, такое понимание есть не всегда, поэтому в подавляющем большинстве коммерческих DVD-Video дисков вне зависимости от того, какая кнопка нажимается, на экране возникает одно и то же меню.

2.       Все меню размещаются вместе с фильмом в одном VTS. Наиболее часто используемый способ. Удобен тем, что все меню вместе и рядом. В этом случае одно меню является основным и получает атрибут Root Menu. Root Menu в пределах одного языка в VTS может быть только одно. Остальные меню, как правило, "прикрепляются" к Root Menu и своих атрибутов меню не имеют. Свои атрибуты есть смысл назначать меню, функционально отличным от обычных, о чем подробно рассказано ниже.

Рассмотрим подробнее оба варианта:

4.1.2.1.



Работа с PGC на примере меню PGC


В качестве примера для рассмотрения некоторых возможностей работы с PGC мы используем обычное Title Menu.

Первый прямоугольник является идентификатором PGC нашего меню. Если выбрать его мышью, то мы увидим в Simulation Window такую картину:

Здесь мы можем изменить имя PGC. Обратите внимание, что изменится только имя первой ячейки PGC и более ничего, остальные ячейки сохранят свои имена. Это сделано сознательно, имя принадлежит каждой ячейке PGC независимо. Menu ID изменить в данном случае нельзя. Этот раздел свойств PGC интересен еще и возможностью увидеть назначение таких PGC команд как Next PGC, Prev PGC и Goup PGC. Сейчас мы не будем останавливаться на них подробно, но желательно отложить в своей памяти информацию о том, где можно увидеть значение этих команд. Если выбрать закладку PGC Command, то мы увидим приблизительно такое меню:

     Это меню может вполне пригодиться в дальнейшей работе над проектом. В нем можно увидеть и изменить команды из нашего Title меню. Например, если вы соединили ячейку Cell с каким-либо элементом вашего проекта, то убрать этот переход можно только здесь, сменив команду Jump to PGC in System Space на No Operation. То же самое можно проделать с переходами с Pre и Post, выбрав нужный тип в ниспадающем меню под закладкой PGC Commands. Поскольку мы начали упоминать некоторые команды PGC, опишем их кратко:

Pre - команда выполняется до того, как PGC будет воспроизводиться. Иными словами, соединив флаг Pre PGC с каким либо объектом, мы исключаем проигрывание этой PGC.

Post - команда выполняется после завершения проигрывания PGC. Соединив Post с началом самой PGC (для этого достаточно мышью щелкнуть на Post и отпустить затем мышь в любом месте первого прямоугольника PGC), мы получим, например, "петлю", т.е. бесконечное проигрывание PGC. 

Cell - практически эквивалентно Post, но только для одной ячейки PGC. В данном случае это одно и то же, но если ячеек несколько (так будет, например, в фильме, разбитом на chapters), то это будет далеко не одно и то же. Любое соединение Cell с любым объектом проекта означает безусловный переход к этому объекту по завершении проигрывания Cell. 


    Выбрав закладку Video, мы увидим:



     Самое полезное для нас использование этого раздела свойств PGC - возможность замены видеофайла меню. Нажав в строке File на кнопку ... мы всегда можем заменить видеофайл, не изменяя что-либо еще в конкретном меню или в сценарии в целом . Забегая вперед, можно заметить, что это единственный способ замены именно видеофайла во всех видах объектов  Scenarist. Поскольку описанию работы с Subpicture посвящен отдельный раздел, сейчас мы пропустим описание меню по закладке Subpicture and Highlight.

Мы продолжаем рассмотрение элементов PGC в целом и Title меню в частности. Ячейку Program вполне можно пропустить, а на следующей ячейке, с тем же названием (Cell) мы остановимся подробнее. Сама ячейка имеет два флага - NSM и Cell. Что означает флаг Cell, мы выяснили выше - напомним, что соединив флаг Cell с любым другим допустимым объектом сценария, мы создадим безусловный переход к этому объекту по завершении проигрывания нашей ячейки. Что касается флага NSM, то на нем можно остановиться чуть подробнее. NSM расшифровывается как Non-SeaMless, т.е. прерывистое. Все ячейки проекта в Scenarist могут иметь флаг как NSM, так и SM - Seamless, т.е. непрерывное. Флаг NSM присваивается по умолчанию всем одиночным ячейкам, а также любой ячейке в последовательности, перед которой есть переход к другому объекту от предыдущей ячейки. Поясним на примере. На рисунке вы видите главы фильма и все они имеют флаг SM:



Но стоит соединить одну из ячеек с другим объектом, как картина меняется:



Следующая за этой ячейка тут же получает флаг NSM (Not Seamlessly - не непрерывное). Значение этого флага в большей степени информационное и фактически означает, что выполнение любой команды при воспроизведении DVD-Video диска может дать (но может и не дать) паузу в этом воспроизведении. После выбора ячейки Cell нам будет интересна закладка Navigation в Simulation Window:



Кроме уже упоминавшегося параметра Seamless, нам может пригодиться, причем в большей степени, параметр Cell Command, ибо только здесь мы можем отменить неправильно созданную для Cell команду. Для этого достаточно выбрать в ниспадающем меню No Command.



     Следующая ячейка PGC - Buttons. К ней "приписываются" функции всех кнопок меню. Эта ячейка всегда отсутствует во всех не-меню PGC. После выбора этой ячейки в Simulation Window появляется новая закладка:

   

Здесь возможно:

Назначение каждой кнопке команд, в том числе и тех, которые нельзя создать простым соединением объектов, таких как выбор аудиодорожки, например. Меню Command задает тип команды, окошко ниже служит для более подробного описания команды.

Удаление любой команды с любой кнопки выбором No Operation в ниспадающем меню.

Задание параметров выбора звуковой дорожки, камеры и субтитров, а также выполнение перехода при выполнении определенных условий. Об этих возможностях мы расскажем чуть позже.

Конечно, в большинстве случаев, в этой закладке вы будете видеть результаты построения вами связей кнопок меню с другими объектами сценария диска, которые, естественно, также представляют собой команды.

4.1.2.2.


Расстановка глав (или сцен) (chapter)


.

Как известно, определять главы нужно ещё в процессе создания фильма, записывая таймкоды для них. Этот способ позволят легко расставить главы в программе подготовке DVD-диска. Scenarist не является исключением из правил. Тем более, что в плеере Scenarist-а (так же как и в ReelDVD) видео может расходиться со звуком, поэтому расставить главы, ориентируясь по звуку, практически невозможно.

Расставим для примера три главы (chapter) в фильме.

Для расстановки глав:

С помощью кнопок на панели инструментов открываем окно Свойств и Окно Эмуляции. Окно Эмуляции – это вторая половинка Scenarist-а о которой мы упоминали в начале статьи, но в процессе работы оно могло стать невидимым. Удобнее всего в процессе работы над проектом выбрать команду View/Alway on Top в Окне Эмуляции е оно всегда будет видно.

В рабочем окне выбираем закладку Track Editor и далее выбираем дорожку Movie-t. Делаем окошко с деревом дорожек как можно уже для увеличения рабочей области Track Editor.

Нажмите на слайдер справа от прямоугольника с надписью Scenes:


Первая глава поставлена! Первая глава всегда ставится в начале клипа, всегда существует, не может быть ни удалена, ни передвинута.

Передвиньте слайдер по клипу, наблюдая за изображением на плеере в Окне Эмуляции, и остановитесь в месте приблизительно соответствующем второй главе вашего фильма. Для удобства перемещения по timeline можно изменять масштаб timeline кнопками "+" или "-" на toolbar. 

Нажмите кнопку New Scene

  на toolbar и новая глава (сцена или Chapter) установлена.

Нажмите в области справа-и-сверху от слайдера – новая сцена будет выделена, а внизу в окне Свойств сцены будут показаны её параметры:

В поле Name рекомендуется ввести название сцены, например Эпизод-2, а в поле Scene Time можно ввести точное время начало сцены, если оно было записано вами ранее.

(!!!) - давая имена сценам, а также другим объектам сценария, можно использовать только буквы, цифры, знаки подчеркивания и дефис. В противном случае вы получите сообщение об ошибке, причем, к сожалению, уже на этапе генерации диска.


Для проверки правильности установки сцены, щелкните два раза два раза мышью по иконе нужной сцены и в плеере Окна Эмуляции появится изображение начала сцены, откорректированное вводом точного значения времени начала сцены (если таковое было).

Создание сцены завершено. Расставьте таким же образом остальные сцены вашего фильма. Для примера мы сделали три сцены с названиями: Эпизод-1, Эпизод-2 и Эпизод-3.

Обратите внимание, что мы плавно изменили терминологию: теперь мы говорим Сцена вместо Глава. Просто все, что касается Chapter (глава) в программе Scenarist называется Scene (сцена). Теперь, пользуясь Scenarist-ом, будет проще называть компоненты проекта так, как они называются в этой программе.

Расстановка связей


После ввода всех наших дорожек в окно создания сценария, оно должно выглядеть приблизительно так:

Если все дорожки проекта не видны, то достаточно выбрать "-" на toolbar для изменения масштаба изображения. 

(!!!) - В нашем примере, как вы видите, есть только два меню - Title

(Menu01), оно всегда присоединяется к VideoManager/Language и Root (Menu02), которое в свою очередь всегда присоединяется к VTS/Language. В качестве Language в нашем примере Russia, конечно. Если ваше Root меню состоит из нескольких меню, то все они (кроме первого, конечно), должны перетаскиваться на ячейку Program первого меню из папки Tracks. Эта ячейка 2-ая сверху. Если вы хотите, чтобы все меню вызывались из Title меню, то все меню, кроме первого, должны перетаскиваться на ячейку Program в Title меню. Вот так, например, выглядят несколько меню из дерева Root:

Осталось расставить связи между компонентами проекта. Посмотрите на рисунок (выше). Мы имеем основные (верхний уровень) иконки: 

First PGC - указывает на тот клип, который воспроизводится  после загрузки DVD-диска в плеер.

Video Manager - контейнер для меню верхнего уровня, т.е. Title.

VTS_1 - контейнер для фильма и тех клипов, которые могут быть с ним связаны.

Одна связь в нашем сценарии уже существует: от First PGC к Title_1. Эта связь означает, что после загрузки (включения) DVD-диска будет проигрываться наша дорожка FirstPlay-t. 

Расставим остальные связи:

Сначала от главного меню к фильму. Для этого от прямоугольника с текстом Btns на иконке Menu01_sub_1_menu (эта иконка находится внизу дерева, растущего из иконки Video Manager):

нажатой мышкой проведите линию на иконку Title_2 (она находится справа и вверху, если это не удобно сделать, то максимально расширьте основное окно). Если вы попали на иконку Title_2, то на экране появится окно “Choose Command Button”. Выберите первую кнопку.

Протяните связь от прямоугольника с текстом Btns на иконке Menu01_sub_1_menu (оттуда же, откуда протягивали перед этим) к иконке Menu02-t-pgc (т.е. к дорожке второго меню):




В появившемся окне “ Choose Command Button” выберите вторую кнопку.

В редакторе сценариев связи между меню не показываются, будьте внимательнее! Для проверки созданных связей откройте Окно Эмуляции (вторая половинка Scenarist-а), предварительно выбрав ячейку меню с флагом Btns. Нажмите на закладку Button Commands в окне Редактирования. В ней появится список ваших связей.

Расставим связи от второго меню (иконка Menu02_sub_1_menu) к сценам нашего фильма. Для этого последовательно проводим связи от прямоугольника с текстом Btns на иконке Menu02_sub_1_menu к иконкам Эпизод-1, Эпизод-2, Эпизод-3 и к иконке Menu01-t-pgc (для того, что бы соединить «вернуться в главное меню” не забудьте о том, что связи на меню не отображаются, а о том как проверить, читайте в предыдущем пункте.

Последняя связь от First Play к главному меню (так в нашем примере, но можно и к основному фильму, если угодно). 

Протяните связь от прямоугольника с текстом Post на иконке FirstPlay-t-pgc к иконке Menu01-t-pgc (т.е. к дорожке первого меню). Эти связи также не отображаются в Scenario Editor и для того, что бы проверить их, откройте Окно Эмуляции, в окне Редактирования нажмите на закладку PGC Commands, в спадающем меню выберите Post. Эта команда выглядит так: CallSS RSM=1, TitleMenu (это означает то, что связь проставлена верно).

(!!!) - Команды Post и Pre НЕ

эквивалентны командам Next и Previous пульта управления плеером и аналогичным командам ReelDVD. 

Проверьте работу вашего диска. Для этого надо:

Выбрать иконку First PGC

В toolbar Окна Эмуляции нажмите кнопку Software Simulation, затем кнопку Play. Синие стрелки внизу (влево, вправо, вверх и вниз) эмулируют стрелки пульта управления DVD плеера.

2.6.


Раздел Advanced Effects


Далее кнопками справа от ниспадающего меню выберите раздел Advanced Effects:

 В этом разделе можно создать эффекты для subpicture. Строго говоря, эти эффекты предназначены только для субтитров (subtitle), но их можно использовать и для меню (но совместимость такого решения мы не проверяли, хотя вряд ли она станет хуже). Всего можно использовать 4 эффекта:

Fade (F) - постепенное изменение цветов subpicture. В связи с особенностями представления цветов DVD плеером, это именно постепенное, ступенчатое изменение цветов, а не плавное, к сожалению.

Wipe (W) - плавное "наползание" subpicture на экране.

Scroll (S) - прокрутка subpicture на экране.

Stop (красный кружок) - прекращение видимости subpicture на экране.

Fade - постепенное проявление subpicture на экране.

Для применения эффекта следует мышью на timeline Simulation Window выделить область необходимой длительности, растягивая ее или сокращая за края при необходимости.  Если щелкнуть мышью на свободной от эффекта области timeline, то можно установить цвета, которые возникнут на экране по завершении эффекта, как показано на рисунке выше. Если же щелкнуть на зеленом прямоугольнике эффекта, то можно (и нужно) выставить цвета в начале эффекта и по его завершении в разделах Stop Contrast (начало) и Stop Contrast (конец):

Wipe - плавное "наползание" subpicture.

Для применения эффекта следует мышью на timeline Simulation Window выделить область необходимой длительности, растягивая ее или сокращая за края при необходимости.  Если щелкнуть мышью на свободной от эффекта области timeline, то можно установить цвета, которые возникнут на экране по завершении эффекта, как показано на в первом рисунке в описании эффекта Fade выше. Если же щелкнуть на зеленом прямоугольнике эффекта, то можно (и нужно) выставить цвета в начале эффекта и по его завершении в разделах Initial Color (цвет в начале эффекта), Initial Contrast (контрастность в начале эффекта), Change Contrast (контрастность к концу эффекта) и Change  Color (цвет к концу эффекта):




В этой панели настроек также можно выбрать направление "наползания" слева или справа в параметре Type - Left или Right.

Пример эффекта Wipe ("наползание" слева):



Scroll - "прокрутка" subpicture на экране.



Для применения эффекта следует мышью на timeline Simulation Window выделить область необходимой длительности, растягивая ее или сокращая за края при необходимости.  Если щелкнуть мышью на свободной от эффекта области timeline, то можно установить цвета, которые возникнут на экране по завершении эффекта, как показано на в первом рисунке в описании эффекта Fade выше. В этом эффекте можно установить только направление движения subpicture в параметре Type:

Down In - движение сверху вниз до остановки в нормальном положении

Down Out - движение из нормального положения до ухода с экрана вниз

Up In - тоже что и Down In, но снизу вверх

Up Out - тоже что и Down Out, но вверх

Stop - простая остановка subpicture. Никаких настроек не имеет. Точно также выделяется область на timeline, но длительность эффекта не имеет значения.

(!!!) - Если вы хотите применить описанные выше эффекты (кроме Stop, который ограничений не имеет) к subpicture с меню, то следует проделать такие операции:

Полностью создать меню, т.е. определить кнопки, проложить связи и т.п.

Сдвинуть в Track Editor highlight этого меню вправо на произвольное время.

Применить к меню желаемый эффект

Выбрав в Track Editor highlight меню, по правой кнопке мыши выбрать Align.   

Начиная с версии 2.7 программы, эта ошибка была авторами обнаружена и теперь нет возможности применить эти эффекты к меню, но Stop применять по-прежнему можно.

4.1.2.


Раздел Buttons


Далее кнопками справа от ниспадающего меню выберите раздел Buttons:

В этом меню можно посмотреть и изменить координаты любой  кнопки меню, что может потребоваться при очень близком расположении кнопок друг к другу, вследствие чего трудно очертить кнопки мышью без перекрытия. Кроме этого, любой кнопке можно присвоить атрибут Auto Action. Если кнопке присвоить такой атрибут, то при переходе на эту кнопку немедленно будет выполнена связанная с этой кнопкой команда.

     Если вы подготовили различные цветовые палитры в разделе Colors, то вы можете указать для каждой кнопки свой Color Index и, тем самым, изменить цвета выделения (Selection) кнопок в по своему желанию. 

4.1.1.1.6.



Раздел Colors


Далее кнопками справа от ниспадающего меню выберите раздел Colors:

Смысл кнопок понятен всем, кто ознакомился с настройками цветов в subpicture в программе ReelDVD - слева четыре основных цвета subpicture, справа определяемые вами цвета в меню, видимые зрителю. Но на этом сходство заканчивается. Щелкнув мышью по любому (в нашем примере - по красному) из основных цветов слева, мы увидим панель управления преобразованием цветов:

Смысл этой панели в том, что для subpicture вы можете создать изображение (или использовать готовое) с неограниченным количеством цветов, но обязательно задав в панели Color Conversion правила преобразования множества цветов в три основных. Для этого нужно либо указать точный цвет красного тона, например, для преобразования в красный чистый тон, либо, нажав кнопку Redder Than (краснее чем), сообщить программе, что все, что краснее указанного цвета, должно быть также преобразовано в чистый красный тон. Манипуляции с красным цветом приведены только для примера. С каждым из трех основных цветов можно проделать тоже самое. Нажав на стрелку правее цветного прямоугольника, можно выбрать требуемый цвет из палитры Windows, выбрав кнопку Other... 

В этом меню еще одна очень приятная возможность, которой не было в ReelDVD - создание нескольких палитр цветов subpicture. Меняя номер Color Index в ниспадающем меню в правом нижнем углу окна Colors и настраивая для каждого Color Index свою палитру, вы получаете возможность использовать по крайней мере три разных цвета выделения (Selection) для работы с кнопками в одном (!) меню. О том, как это сделать, написано в разделе Buttons. 

4.1.1.1.4.



Раздел Highlight


Далее кнопками справа от ниспадающего меню выберите раздел Highlight:

В этом разделе нам интересен параметр Forced Selected Button (Принудительно выбранная кнопка) - в нем устанавливается номер кнопки, которая будет выбрана в данном меню после входа в это меню. Номер кнопки может быть найден вами в левом верхнем углу обведенного в Scenarist контура кнопки. Если вы хотите, чтобы при циклическом проигрывании меню в качестве выбранной кнопки была последняя выбранная в этом меню кнопка, то вместо номера кнопки следует выбрать Nonexistent. Такой способ имеет только один недостаток - при первом входе в меню может быть НЕ выбрана какая-либо кнопка вообще. Этот недостаток устраним, но только для меню с каким либо атрибутом (Root, Audio и т.д.) - выбрав PGC ячейку меню, в Simulation Window следует выбрать в PGC Commands для Pre команду Set Highlighted Button, задав номер кнопки, которая должна быть выделена при первом входе в меню.

4.1.1.1.5.



Раздел Image


Для редактирования меню выберите любую subpicture с меню в Track Editor программы и откройте Simulation Window. Выберите закладку Subpicture and Highlight, и кнопками справа от ниспадающего меню установите раздел Image, как показано на рисунке:

 

    В разделах меню Image можно сделать следующее:

изменить название subpicture в поле Name

ограничить длительность пребывания subpicture на экране в поле Data End Time

(!!!) - реально устанавливается именно продолжительность пребывания subpicture на экране, т.е. Data Start Time всегда равно 0, независимо от местоположения subpicture относительно видео. Например, если вы установите в Data End Time 00:01:00;00, то subpicture будет находится на экране ровно 1 минуту и при этом вы сдвинете ее на timeline на 20 секунд вправо, то subpicture будет на экране с 20 секунд до 1 минуты 20 секунд. 

(!!!) - после любого сдвига subpicture с меню не забывайте, установив курсор на дорожке с Highlight, выбрать по правой кнопке мыши команду Align. В противном случае вы получите сообщение об ошибке при любой попытке генерации образа диска, несмотря на то, что при проигрывании в режиме эмуляции все будет нормально.

разрешить/запретить Forced Start в поле Forced Start

заменить одну subpicture на другую в поле File

4.1.1.1.3.



Разрешение/Запрещение операций зрителя с PGC (фильмами)


В этом разделе мы расскажем о некоторых возможностях по разрешению/запрещению автором DVD диска выполнения зрителем некоторых операций. Наиболее частый случай применения такой возможности - запрет зрителю на любые действия (переход в меню, переход к другому фильму и т.п.) во время просмотра First Play. На большинстве коммерческих дисков, где First Play обычно представляет собой рекламу или текст грозного предупреждения о незаконности копирования, так и делается в большинстве случаев. В Scenarist операции зрителя называются UOP (User OPeration).

     Для доступа к UOP функциям следует:

Выбрать икону PGC того фильма, у которого вы хотите изменить разрешения для зрителя.

Ниже, в Property Browser Window найти строку UOP, как показано на рисунке:

Дважды щелкнуть мышью по этой строке

По завершении этих операций на экране появится полный список UOP, доступный для данной PGC (фильма или меню):

 

     Функции каждого UOP оператора понятны из названий, по умолчанию они все разрешены (Permitted). Например, для запрета во время проигрывания фильма перехода в любое меню следует выбрать Prohibited для всех функций вызова меню - Menu_Call(Title), Menu_Call(Root), Menu_Call(Sub-picture), Menu_Call(Audio), Menu_Call(Angle), Menu_Call(PTT).

4.2. Работа с редактором сценариев

4.2.1.



Редактор сценария


Мы ввели данные, подготовили дорожки, теперь всё готово для создания сценария будущего DVD-диска.

2.5.1.



- Ряд


наших читателей сообщили нам, что VOB Instant некорректно записывает DVD+R болванки, которые после записи не читаются вообще. Поэтому для работы с "плюсовыми" приводами мы рекомендуем использовать Nero Burning ROM версии НЕ НИЖЕ 5.5.10.7b. Выбор образа для прожига делается в Nero точно также, как и в VOB Instant. Следует также выбрать тип файлов как All files (*.*) и в появившемся окне

выбрать OK. Далее выбрать Write. Если появление окна Foreign image settings хочется избежать, то следует просто предварительно присвоить файлу образа от Scenarist расширении .iso.

Создание своего DVD-Video диска программой Sonic Scenarist NT- практическое руководство - Часть 5

4.5.



Root Menu


Root Menu является в подавляющем большинстве случаев обязательным элементом DVD-Video диска. Root Menu в каждом VTS может быть только одно для одного языка. Естественно, если языков в VTS

несколько, то и Root меню может быть несколько. При создании нескольких Root menu следует помнить о том, что выбор конкретного меню на конкретном языке можно будет делать только через Title menu. Для создания Root Menu правильнее всего "присоединить" нужное меню к соответствующему Language самым первым - в этом случае Scenarist автоматически присвоит меню атрибут Root. Итак, вначале мы видим:

Установив курсор на иконе VTS_1, по правой кнопке мыши выбираем Add Language.., далее выбираем нужный язык (в подавляющем большинстве случаев это будет русский - Russian) и OK.

     На экране Scenarist мы увидим

 

Теперь можно добавить Root Menu описанным выше способом:

Как видно из рисунка, атрибут Root программа присвоила автоматически. Если подробно рассмотреть "строительные" блоки Root menu, то они не будут отличаться от любой PGC с меню ничем, за исключением Menu ID:

Если необходимо использовать несколько разделов Root Menu, например присоединить к нему меню эпизодов, то следует "наложить" дополнительные меню на ячейку PGC Root Menu. Получится сценарий подобного вида:

 

Не правда ли, картинка очень напоминает вид в сценарии программы Scenarist обычного фильма, разбитого на главы (chapters)? Это действительно так, поэтому создавая таким образом меню диска, не следует забывать, что в этом случае все меню представляет собой главы в одной PGC и после проигрывания одного меню (как бы chapters) плеер автоматически перейдет к проигрыванию следующего меню. Чтобы это не случилось, следует просто "замкнуть" ячейку cell каждого меню на себя. Для этого, выбрав флаг cell и нажав левую кнопку мыши, надо просто переместить курсор вверх и влево в пределах той же ячейки и отпустить кнопку мыши. Программа покажет соединение соответствующей стрелкой:

Обратите внимание, что цвет флагов cell изменился на желтый - это признак назначения команды ячейке. В любой момент времени вы можете проверить команду, примененную к ячейке, выбрав ее (ячейку) мышью - в окне ниже, в поле Cell Command в Окне Свойств (Property browser), можно увидеть команду, примененную к ячейке:

4.1.2.4.



Системные параметры


(регистры)

  Задача системных параметров сохранить и сообщить автору состояние DVD плеера в текущий момент времени. Часть системных параметров определяются и устанавливаются DVD плеером, часть просто индикативных и могут быть только прочитаны. Системные параметры обозначаются как SPRM, всего их 24 (три не используются и зарезервированы для возможных будущих применений) и проще и понятнее считать их системными регистрами. Разрядность SPRM регистра 16 бит и, соответственно, максимальное значение регистра может быть 65535 в десятичной системе или FFFFh в шестнадцатиричной. Значения в регистрах SPRM можно просматривать и изменять (конечно, только разрешенные для изменения) во время воспроизведения во вкладке System Params Simulation window. Таблица ниже описывает SPRM регистры: 

Номер регистра

Название  регистра в Simulation window Scenarist

Наименование

Описание

Доступность по чтению (R) или записи (W)

Значение по умолчанию*

0

Menu Disk Lang

Код языка меню

Определяет код языка, используемого в меню

R

Не определено

1

Audio

Номер текущего аудио потока

Содержит номер текущего проигрываемого аудио потока

R/W

000Fh

15d

1111b

2

Subpicture

Номер текущего потока subpicture

Содержит номер текущего проигрываемого потока subpicture

R/W

62d

111110b

3

Angle

Номер камеры (Angle number)

Содержит номер текущего проигрываемого потока angle (камеры)

R/W

1

4

Title #

Номер тайтла

Содержит номер текущего проигрываемого тайтла

R/W

1

5

VTS Title #

Номер VTS

Содержит номер текущего проигрываемого VTS

R/W

Равно SPRM 4

6

Title PGC #

Номер PGC с текущим тайтлом

Содержит номер PGC с текущим проигрываемым тайтлом. Если тайтл включает в себя несколько PGC, то содержимое регистра будет меняться во время воспроизведения.

R/W

Не определено

7

PTTN

Номер главы или сцены (chapter, Part of Title)

Содержит номер текущей проигрываемой сцены. Номер, естественно, по мере изменения текущей сцены будет также меняться.

R/W

1

8

Highlight Btn

Номер последней выбранной кнопки меню

Содержит номер последней выбранной кнопки меню

R/W

1

 9

Nav Tmr

Таймер для навигации

Параметр определяет время перехода к проигрыванию PGC, номер которой задается значением в SPRM10. Значение SPRM9 определяется автором и уменьшается каждую секунду текущего воспроизведения на единицу. При переходе к меню или выборе зрителем паузы значение SPRM 9 остается неизменным. SPRM 9 и SPRM 10 могут изменяться только в пределах домена VTS командами навигации.

R/W

1

10

Nav Tmr PGC #

Номер PGC для перехода по таймеру навигации

R/W

Не определено

11

Audio Mix Mode

Режим караоке DVD плеера

Определяет возможности DVD плеера по микшированию аудио каналов для караоке. Если плеер караоке не поддерживает, то параметр игнорируется.

R/W

0

12

Country Code

 Код страны для управления правами родителей

Указывает код страны для возможности запрета родителями просмотра нежелательного видео детьми.

R

Не определено

13

Parental Level

Уровень запрета родителями

Определяет уровень запрета, устанавливаемый в соответствии с кодом страны, заданным в SPRM 12

R/W

Не определено

14

Player Config

Конфигурация плеера для просмотра видео

Определяет соотношение сторон кадра и текущий режим показа

R

Не определено

15

P-CFG for Audio

Поддержка воспроизведения звука

Определяет возможности плеера по поддержке различных форматов звука, таких как Dolby Digital, MPEG, DTS и т.д. 

R

Не определено

16

Initial Lang Code

Стартовый код языка для звука

Определяет код языка и его расширение для текущего проигрываемого аудио потока.

R

FFFFh

17

Initial Lang Code Ext

Стартовое расширение кода языка для звука

R

00h

18

INI_LCD for SPST

Стартовый код языка для subpicture

Определяет код языка и его расширение для текущей проигрываемой subpicture.

R

FFFFh

19

INI_LCD_EXT for SPST

Стартовое расширение кода языка для subpicture

R

00h

20

Player Region Code

Код региона плеера

Сообщает установленный в плеере код региона.

R

Не определено

21, 22, 23

Резерв

*Примечание: если число в этом столбце заканчивается буквой h, то оно приводится в шестнадцатиричной системе счисления, если буквой d - десятичной, буквой b - двоичной. 

4.6.2.



Смена музыкального сопровождения в меню при перемещении по кнопкам


Данный пример расскажет, как при перемещении по кнопкам меню можно изменять музыкальное сопровождение для каждой кнопки. Вместо музыки, кстати, вы можете записать свои комментарии к каждой главе и таким образом зритель, посмотрев меню и послушав ваши комментарии, может получить тем самым подробную информацию о вашем фильме. Разумеется, правильнее всего использовать такие приемы в меню эпизодов.

    Идея способа состоит в том, что вместо перемещения от одной реальной кнопки к другой происходит перемещение от реальной кнопки к невидимой, по которой происходит переход к специально созданной пустой PGC, на Pre которой и выполняются все необходимые действия с последующим возвратом к нужной кнопке меню. Это краткое описание, сейчас мы перейдем к более подробному рассмотрению этого способа.

Вначале создадим на subpicture меню эпизодов нашего тестового проекта фантомные кнопки, которые зритель видеть не будет. Мы нарисуем их красного цвета в виде небольших квадратиков так, как показано на рисунке:

 

Размеры невидимых кнопок, их форма и т.п. совершенно не важны. Цвет тоже роли не играет, но с одним условием - в меню не должно быть видимых кнопок того же цвета. В нашем примере мы выбрали красный цвет. Изготовим такие же subpicture для двух других частей меню эпизодов.

Введем заново в Track Editor собственно сами меню эпизодов (удалив их предварительно сначала из Scenario Editor, затем из Track Editor), так как наличие звуковой дорожки требует, чтобы меню были введены как slide show, к still menu звук добавить нельзя. Введем и новые subpicture в проект. Также добавим по 4 звуковых дорожки к каждому меню в Track Editor. Разумеется, звуковые треки тоже надо предварительно ввести в проект. Не забудьте "растянуть" меню в Track Editor до окончания нужной вам звуковой дорожки, "растянув" также subpicture.

Примечание: в реальных проектах мы рекомендуем всегда использовать motion menu, если у меню будет звуковое сопровождение. 

Теперь нужно правильно проложить связи между кнопками, как показано на рисунке (мы подробно расскажем только о первом меню эпизодов, остальные делаются точно также):




Примечание: В параметре Display пока установлена 100% видимость для исходного красного цвета. После выделения кнопок этот параметр надо убрать в 0.

Идея расстановки связей здесь проста - нам надо "перехватывать" невидимой кнопкой любое обращение к кнопке видимой. В этом примере кнопка 8 "перехватывает обращение к реальной кнопке "Часть 3", кнопка 9 "перехватывает обращение к реальной кнопке "Часть 1", кнопка 10 "перехватывает обращение к реальной кнопке "Часть 4", кнопка 11 "перехватывает обращение к реальной кнопке "Часть 2". Надо учесть, что при прокладке связи учитывается только действия инструмента прокладки, т.е. если вы прокладываете все связи слева направо, то это означает, что вы перейдете по ней при нажатии кнопки стрелка влево на пульте ДУ плеера. Как эта связь будет зрительно нарисована в Scenarist, никакого значения не имеет.

Не забудьте установить параметр Forced Selected Button в значение Nonexistent, как показано на рисунке, иначе вне зависимости от наших команд, всегда будет выбираться определенная кнопка.



Присваиваем каждой из невидимых кнопок атрибут Auto Action:



Проделаем аналогичные операции для двух других меню эпизодов нашего учебного проекта (или просто скопируйте Highlight первого меню на остальные). Теперь надо создать отдельный Title для нашего меню, так как в домене Language нельзя иметь PGC с несколькими звуковыми дорожками,  как показано на рисунке:



После этого вы обнаружите в Scenario Editor новый Title:



Далее "навешиваем" все наши меню эпизодов как отдельные PGC на новый Title. 



Теперь соединяем каждую из невидимых кнопок со своей же собственной PGC. Таким образом, при попадании на любую из невидимых кнопок, плеер автоматически перейдет к Pre PGC текущего меню. Теперь напишем последовательность команд, которая будет выполнять нужные нам действия, на Pre PGC первого меню эпизодов.

1:Mov GPRM0, 9216

2:if ( GPRM0 == SPRM8 ) SetSTN audio=1



3:if ( GPRM0 == SPRM8 ) LinkPGN PTTMenu1-t-scn-pg, button=1

4:Mov GPRM0, 11264

5:if ( GPRM0 == SPRM8 ) SetSTN audio=2

6:if ( GPRM0 == SPRM8 ) LinkPGN PTTMenu1-t-scn-pg, button=2

7:Mov GPRM0, 8192

8:if ( GPRM0 == SPRM8 ) SetSTN audio=3

9:if ( GPRM0 == SPRM8 ) LinkPGN PTTMenu1-t-scn-pg, button=3

10:Mov GPRM0, 10240

11:if ( GPRM0 == SPRM8 ) SetSTN audio=4

12:if ( GPRM0 == SPRM8 ) LinkPGN PTTMenu1-t-scn-pg, button=4

13:SetSTN audio=1

14:SetHL_BTNN HL_BTNN=1

Рассмотрим подробно набор команд только для одной кнопки (9 невидимой и первой видимой), поскольку наборы команд для каждой кнопки по сути одинаковы.

Mov GPRM0, 9216 - по этой команде (Set GPRM) мы записываем в регистр GPRM0 номер кнопки. Почему 9216? Потому, что DVD плеер в регистр SPRM8, в котором хранится номер последней выбранной кнопки, записывает номер кнопки, умноженный на 1024, т.е. 8-ая кнопка будет запомнена с кодом 9216, а 11 кнопка, например, с кодом 11264.

if ( GPRM0 == SPRM8 ) SetSTN audio=1 - по этой команде (Set Angle/Audio/Sub-picture)мы устанавливаем для воспроизведения первую звуковую дорожку в том и только в том случае, если зритель выбрал переход к кнопке "Часть 1" (первой) и тем самым сработала 8-ая невидимая кнопка.

if ( GPRM0 == SPRM8 ) LinkPGN PTTMenu1-t-scn-pg, button=1 - по этой команде (Jump to Program), опять же в том и только в том случае, если зритель выбрал переход к кнопке "Часть 1" (первой) и тем самым сработала 8-ая невидимая кнопка, мы переходим к нашему же меню эпизодов. 

Последние команды (13 и 14) предназначены для тех случаев, когда мы попадаем в данное меню эпизодов извне, из другого меню эпизодов по кнопкам "Вперед" или "Назад" или же из главного (root) меню. Если же меню будет просто крутиться в цикле, то будет одна и та же кнопка и музыка к ней соответственно, но для этого не забудьте "замкнуть" воспроизведение меню через команду cell. Что еще необходимо - на Pre основного фильма следует обязательно "повесить" команду установки первой звуковой дорожки. Дело в том, что если хотя бы в одном Title есть несколько дорожек, то DVD плеер будет считать, что у каждого Title в этом VTS тоже по 4 дорожки. Поэтому, если вы ушли в фильм из меню при включенной 4-ой звуковой дорожке, то звука фильма вы не услышите - так четвертая и несуществующая (для фильма) дорожка и останется включенной.



При смене кнопки и звуковой дорожки кнопки нашего тестового проекта на мгновение исчезнут, но надо понимать, что это происходит только из-за того, что в нашем проекте кнопки являются единственными картинками в меню, т.е. меню состоит фактически из subpicture. В реальных меню такого эффекта не будет.

 Готовый проект вы можете переписать отсюда.

Пример, рассмотренный выше легок в том смысле, что вы создаете физически один клип или одно still show меню и только меняете звуковые дорожки. Минусы у такого способа таковы:

1.       Для зрителя на индикаторе DVD плеера будет та же картина, что и при просмотре обычного видео, поскольку меню эпизодов размещается не в домене Language. Строго говоря, следует через UOP запретить возможность перемотки клипов такого меню, остановки, переключения звуковой дорожки и т.п.

2.       PGC в Title с меню надо перемещать к началу DVD диска, ближе к Root menu, как показано на рисунке:



в противном случае переход от Root menu к меню эпизодов будет с паузой, которая тем больше, чем дальше меню эпизодов от Root menu и Title menu.

Есть другой способ, который в основном применяется на коммерческих DVD-Video дисках. Смысл его в том, что под каждую кнопку создается свой видеоклип со своей звуковой дорожкой. Конечно, клипы эти, как правило, короткие, 30-50 секунд, но на 3 меню эпизодов в каждом из которых по 4 выбора сцен, как нетрудно догадаться, потребуется 16 клипов. Зато все эти клипы можно разместить в домене Language и меню получится во-первых, в строгом соответствии с канонами, во-вторых, можно и видеокартинку меню менять вместе со звуком. Мы не будем подробно останавливаться на таком проекте, поскольку он более трудоемок в изготовлении, но требует меньших затрат на программирование. Желающие могут переписать наш готовый проект с одним меню эпизодов, сделанным таким образом и посмотреть как он работает.

     

Создал


несколько проектов на Scenarist, удалил их с диска за ненадобностью, но до сих пор при запуске программы на новый проект она выводит список всех проектов, которые я когда-либо делал. Как избавиться от старых "хвостов"?

Очень просто. Надо найти в директории, в которой установлен Scenarist, файл scenarist.ini и с помощью Notepad (Блокнот) удалить строчки в последней секции [Recent Files List] этого файла.

Совет прислан Борисом Прохоровым.

Создание своего DVD-Video диска программой Sonic Scenarist NT- практическое руководство - Часть 6

4.6.



Создал проект


для освоения возможностей Scenarist из коротких фрагментов видео и обнаружил, что DVD-Video диск, полученный в результате работы над тестовым проектом, совершенно по разному работает на разных плеерах. В чем может быть дело, в ошибке Scenarist?

      Нет, Scenarist делает все правильно. Дело в том, что каждый минимальный фрагмент (Cell) файла с видео, используемый для создания DVD диска, должен быть продолжительностью не менее 6 VOBU (VOB Unit), каждый из VOBU, в свою очередь, может быть от 0.4 до 1 секунды. Если это условие не выдержать, то проблемы с совместимостью вам гарантированы. Еще раз обращаем ваше внимание, что речь идет о Cell, т.е. минимальном объекте DVD-Video диска. Отсюда следует и то, что chapters (scenes)  нельзя ставить чаще, чем 1 раз в 7 секунд. Мы же рекомендуем использовать Cell продолжительностью не менее 15 секунд. Кстати, компонуя диск, Scenarist сообщает о слишком коротких Cell таким образом:

Warning The Prev Cell<sp-16-t-scn-cell>, the Current Cell<sp-Costa-Dourada-t-scn-ce> and the Next Cell<sp-17-t-scn-cell> are connected seamlessly and the Current Cell<sp-Costa-Dourada-t-scn-ce>(VOBU:5) has less than 6 VOBU.(PGC:<sp-01-t-pgc> (Title:<Title_2> VTS:<VTS_1>) )

Warning Some DVD players have problems with this limitation

Благодарим Валерия Комягина за помощь в подготовке этого ответа.



Создание дорожек для меню


Теперь мы создадим дорожки для меню. Как уже рассказывалось выше, мы решили сделать два обычных (still) меню - главное меню диска и меню для выбора эпизодов.

Главное меню нашего примера содержит два пункта:

Посмотреть фильм

Выбор эпизодов

Меню для выбора эпизодов содержит четыре пункта:

Эпизод-1

Эпизод-2

Эпизод-3

Вернуться в главное меню

Итак, делаем меню:

С помощью кнопок на toolbar выключаем Окно Свойств и включаем Проводник.

В рабочем окне выбираем закладку Track Editor (она у нас уже выбрана), расширяем окошко с деревом дорожек до её первоначальной ширины, нажимаем на корень дерева (надпись Track).

Из проводника перетаскиваем Menu01 в Track Edit и выбираем Still Menu.

В окне Track Editor кликните два раза на появившемся клипе Menu01-t.

Переносим Menu01_sub в прямоугольник с надписью Still.

Заменяем Not Specified (в прямоугольнике с надписью Subpicture 1) на Russian.

В результате всех этих действий окно Track Editor должно выглядеть так:


2.4.4.



Создание дорожек для видео клипов


.

Делаем дорожку для First Play:

В Рабочем Окне выберите закладку Track Editor:

          (обращаем ваше внимание на панель инструментов - она изменилась, на ней появились

           новые кнопки)

С помощью кнопок Information Window и Property Browse

, выключите Информационное Окно и Окно Свойств. В области экрана, под Рабочим Окном останется только Проводник (так будет удобней):

перенесите (мышкой:) FirstPlay (видео) из Проводника в окно Track Editor:


Щелкните мышью на иконе клипа - окно Track Editor примет вид:

Перенесите аудио от FirstPlay из Проводника в прямоугольник с надписью Video (см. рисунок выше). Вид окна Track Editor изменится на следующий:

В ниспадающем меню Audio 1 выберите нужный язык - в нашем случае, конечно, это будет Russian.

В дереве дорожек Track Editor выберите корень (надпись Tracks), и теперь мы готовы к формированию следующей дорожки. 

Повторите описанные выше операции для клипа Movie и звука к нему.

Если в процессе создания дорожки вы сделали какие-то ошибки – удалите эту дорожку и создайте её снова. Для удаления следует выделить дорожку и нажать либо клавишу Delete, либо Clear из меню по правой кнопки мыши.

2.4.2.



Создание фильма из нескольких фрагментов


    Рассмотрим наиболее часто встречающуюся задачу - фильм состоит из нескольких частей, каждая из которых в отдельном файле и необходимо создать DVD-Video диск, зритель которого не смог бы определить, что фильм "сшит" из нескольких файлов. Решение этой задачи не сложно и состоит из нескольких этапов:

Подготовка

все видеофрагменты должны быть сжаты в MPEG формат с общими глобальными параметрами, такими как тип кодирования (VBR или CBR), и плотность потока (bitrate).

начало и конец видео и аудио должны совпадать с точностью до кадра в каждом фрагменте.

начало каждого фрагмента по смыслу должно быть и началом очередной главы (chapters) - не обязательное требование, однако его невыполнение приведет к различию между количеством глав в меню и в фильме, поскольку начало любого фрагмента автоматически станет главой. 

Редактор сценариев

Добавить Title_1 в первом VTS, как обычно.

Присоединить к иконе Title_1 первый фрагмент, как показано на рисунке:

Присоединить к PGC иконе первого фрагмента второй фрагмент.

Повторить для всех фрагментов.

Найти в цепочке chapters первую chapters второго фрагмента. Она легко обнаруживается по NSM флагу иконы Cell. 

Выделите эту икону мышью. В появившемся Окне Свойств (Property browser) измените значение параметра Seamless Flag с Default (Not Seamlessly) (c перерывом) на Seamlessly (без перерыва). Если невозможно установить в значение Seamlessly (без перерыва), т.е. программа не предлагает такого выбора, то это означает нарушение какого-либо из условий подготовки фрагментов, описанных выше. Тем не менее, отсутствие возможности установить флаг Seamlessly (без перерыва) в подавляющем большинстве случаев не приводит к паузе при воспроизведении, поэтому очень расстраиваться по этому поводу не стоит.

Повторить для всех фрагментов.

Если вы все сделали правильно, то на созданном вами DVD-Video диске весь фильм будет проигрываться со сквозной нумерацией глав (chapters) и сквозной индикацией времени воспроизведения, поэтому зритель никогда не сможет определить, сколько было использовано фрагментов при авторинге диска. 

     Для перехода к какому-либо объекту (меню, например) по завершении просмотра фильма, соедините флаг Post иконы PGC фильма с желаемым объектом. 

4.3.



Создание меню на базе дорожки меню


.

Переходим в Окно Эмуляции и проделываем следующие операции:

С помощью кнопки New Button

рисуем кнопки на изображении меню:

В Окне Редактирования (под окном плеера) нажимаем на закладку Subpicture and Highlight.

Переключаемся в подменю Colors:

Устанавливаем значения для чёрного цвета (при создании подменю Menu01_sub.bmp мы использовали только чёрный цвет):

1.       Display Color - 0%

2.       Selection Color - Жёлтый

3.       Action Color - Тёмно красный

Далее с помощью кнопок в панели инструментов Окна Эмуляции расставьте направления перемещения курсора меню при нажатии на кнопки управления на пульте дистанционного управления DVD плеера. Другой вариант: в меню Окна Эмуляции, в Tools выберите Auto Route – это автоматически расставит направления перемещения. Следует только учитывать, что автомат не обладает приемлемым интеллектом и нормально расставляет направления только при простом (квадратно-гнездовом) размещении кнопок. 

Проверьте работу меню. Для этого нажмите кнопку Software Simulation

в toolbar Окна Эмуляции, затем кнопку Play. Синие стрелки (влево, вправо, вверх и вниз) под экраном плеера эмулируют стрелки пульта управления DVD плеера.

Выключите плеер и вернитесь в режим редактирования, нажав кнопку Design Mode

.

На этом создание меню завершено. Аналогичным образом создайте второе меню, используя файлы Menu02.bmp, Menu02_sub.bmp/

2.5.



Создание меню, "всплывающего" при просмотре фильма


       Как говорили раньше, "по многочисленным просьбам трудящихся" мы решили рассказать об интересном варианте DVD авторинга, которые многие из нас видели в оригинальной версии "Матрицы" - появление меню посредине фильма. Описание способа создания такого меню пригодится и при создании обычного меню, но с появлением и исчезновением кнопок через какое-то время. При описании мы будем пользоваться учебным примером, подробно описанным в разделе  4.6.4. Примеры программирования в Scenarist NT. В этом же разделе вы можете скачать все необходимые файлы учебного примера. Дополнительно мы только изготовим subpicture для меню:

Теперь можно приступить к собственно примеру. Загружаем в Scenarist наш учебный пример, вводим новую subpicture как subpicture with Forced Start в Data и кладем ее затем на дорожку с основным фильмом (как вы помните, наш учебный фильм уже разбит на главы):

Subpicture "ляжет" первоначально только в первую главу, и никак иначе. Затем ее следует перенести мышью в нужную вам главу. В нашем примере мы выбрали часть 3 для наложения subpicture и появления именно в этой части меню.

Выставьте мышью желаемую длительность появления меню на экране. В своем реальном проекте рекомендуется (хотя это не является обязательным условием) выбирать длительность главы не менее желаемой продолжительности появления меню на экране. Далее создаем кнопки как обычно в Simulation Window:

Также как обычно прокладываем траектории движения с помощью соответствующих кнопок. Понятно, что для данного примера нам понадобятся только движения слева направо и справа налево. Далее выбираем в Simulation Window меню Advanced Effects (это меню подробно описано в разделе 4.1.1.1.6.

настоящего руководства). В этом меню в произвольном месте создаем эффект Stop, нажав на красную кнопку и выделив место под эффект на timeline в меню:

Перемещая ползунок по timeline меню и перетаскивая местонахождение самого эффекта Stop, подведите начало эффекта Stop к тому месту, где необходимо прекратить видимость вашего меню.




Рисунок выше иллюстрирует тот случай, когда эффект Stop применен до окончания highlight. Эффект Stop имеет еще одну особенность - с его помощью вы можете "растягивать" subpicture на две и более глав, передвигая эффект по timeline в меню Advanced Effects вправо. В Track Editor вы будете видеть, как длительность subpicture будет меняться в зависимости от положения эффекта Stop. Определив нужное положение эффекта Stop, крайне важно не забыть выровнять зону действия кнопок (highlight) с длиной subpicture. Для этого выберите highlight мышью и далее по нажатию правой кнопки мыши выберите Align Highlight, как показано на рисунке:



В противном случае Scenarist будет выдавать вам сообщения об ошибках и откажется затем создать DVD диск на заключительной стадии работы над проектом. Сообщения об ошибках в случае несовпадающей длительности subpicture и highlight будут такими:



После выравнивания в Track Editor будет:



На этом работа с меню завершена. Теперь вам останется в Scenario Editor просто назначить кнопкам нужные функции обычным путем и все:



Описанный нами способ вы также можете использовать и при создании обычных меню для того, чтобы задерживать появление кнопок на экране и/или прекращать их видимость на экране в нужный момент времени.

Создание образа DVD-диска


Нажмите на закладку Layout Edition в Рабочем Окне.

В появившемся окне, в области Step 3 – Choose Operations and Press Start выделите первый раздел Create DVD Video. 

Проверьте (выше в Step 2) поле DVD Root Directory. В этой папке будет создан образ вашего DVD-диска.

Откройте информационное окно (кнопка Information Windows в toolbar) для контроля процесса создания диска.

Нажмите кнопку Start.

Полученный образ DVD-диска можно просмотреть с помощью программного DVD-плеера, например PowerDVD.

3.0.



Создание субтитров в фильме


Использование субтитров (subtitles) являются одним из интересных преимуществ показа фильма на DVD-Video диске. Субтитры, создаваемые в программе DVD авторинга, не "впечатываются" в картинку фильма, а существуют отдельным потоком, который может быть в любой момент включен или выключен. В этом состоит существенное отличие субтитров на DVD-Video диске от титров, создаваемых в видеоредакторе, которые нельзя изъять из фильма. Субтитры в подавляющем большинстве случаев используются для перевода оригинальных диалогов и титров фильма на другой язык и, кроме этого, для показа текстов песен в караоке-дисках.

Ввод субтитров в фильм состоит из нескольких этапов:

1.       Выбираем Settings/Default Settings/Subtitle Text

     Установки в этом меню следует сделать до ввода любых субтитров в проект, иначе они дадут никакого эффекта. Здесь:

§         Font (Шрифт) - указывается шрифт субтитров. Настоятельно рекомендуем Arial, который отлично читается с экрана.

§         Size (Размер шрифта) - подбирается экспериментально, на ваш вкус, но размер по умолчанию, 24, вполне подходит и шрифт такого размера нормально читается даже на телевизорах с диагональю 37 см.

§         Style (Стиль) - стандартные стили шрифта. Рекомендуется никакие стили не использовать, так как читаемость в большинстве случаев ухудшается.

§         Alignment (Выравнивание) - выравнивание субтитров. Очевидно, что лучше всего подходит Center (По центру).

§         Location (Расположение) - может иметь три значения:

o        Top (Вверху)

o        Middle (Середина)

o        Bottom (Внизу) 

К сожалению, программа имеет ошибку и наилучшее расположение субтитров, внизу экрана, получается при выборе Middle, а не Bottom, как должно было бы быть.


§         Render (Отрисовка) - выбор Full Screen приводит к формированию subpicture с субтитрами в полный размер кадра (для PAL - 720х576), выбор Text - к созданию subpicture чуть большего размера, чем сам текст. Мы рекомендуем оставить Full Screen, поскольку размер каждого файла subpicture увеличится по сравнению с Text ненамного, но с subpicture полного размера работать удобнее.

§         E2(Color 1) - цвет и интенсивность внешней огибающей контур буквы линии

§         E1(Color 2) - цвет и интенсивность внутренней огибающей контур буквы линии

§         P(Color 3) - цвет и интенсивность собственно букв

§         Bg(Color 4) - цвет и интенсивность фона

§         Set as default - нажатие этой кнопки приведет к тому, что установленные параметры станут параметрами по умолчанию для этого и любого следующего проекта.

     По нашему опыту наиболее предпочтительными и легко читаемыми буквы субтитров будут белого цвета с окантовкой черного цвета наружного и внутреннего контура букв на прозрачном фоне. Именно для такого вида на рисунке выше даны настройки. Примеры субтитров с такими же параметрами:



Темный фон для субтитров



Светлый фон для субтитров

      Как хорошо видно на этих рисунках, такие субтитры одинаково хорошо читаются как на светлом, так и на темном фоне.

2.       Устанавливаем продолжительность появления на экране субтитров

      Для этого выбираем Settings/Preference и на экране появляется следующее меню:



      В этом меню параметр Default Duration (Продолжительность по умолчанию) как раз и устанавливает продолжительность появления на экране каждого субтитра. Время задается в SMPTE формате, т.е. часы:минуты:секунды:кадры. По умолчанию задано 2 секунды. Как правило, этого времени вполне достаточно, но вы можете увеличить или уменьшить его. Следует только помнить, что здесь устанавливается единое время для всех субтитров проекта, поэтому разумнее всего для титров, которые требуют большее время на прочтение, увеличить время показа индивидуально. О том, как это сделать, мы расскажем ниже.



3.       Выбираем в Track Editor фильм (клип), к которому создаются субтитры

     Далее нажатием кнопки
запускаем Simulation Window. Выбираем в нем с помощью кнопок перемещения по клипу
  то место в клипе, в котором необходимо появление субтитров и нажимаем в кнопку
. Окно просмотра плеера немедленно увеличится и на экране появится белый прямоугольник для ввода текста субтитров:



Независимо от параметров текста, заданных в Settings/Default Settings/Subtitle Text при вводе текст всегда будет выглядеть черным на белом фоне. По завершении ввода текста, НЕ нажимая Enter, кнопками
следует перейти к следующему месту клипа, в котором должны быть размещены субтитры, ввести их, перейти к следующим и т.д. По завершении ввода субтитров можно легко "пробежаться" по ним для проверки, используя кнопки, обведенные на рисунке красной линией: 



При необходимости редактирования введенных субтитров следует нажать кнопку
и внести необходимые изменения. В принципе возможны изменения шрифта и его размера при вводе и редактировании субтитров, но мы не рекомендуем это делать, поскольку "разномастные" субтитры только затрудняют их чтение - на протяжении всего фильма шрифт и его размер менять не следует. Обведенными на рисунке кнопками можно перемещаться между субтитрами. По завершении ввода каждого субтитра Scenarist создает в каталоге <имя каталога проекта>\ <имя проекта Cache>\Encoded Files графические .bmp файлы с введенными вами субтитрами. Имена файлов имеют вид  Subtitle Text_<порядковый номер субтитра>.bmp. Эти файлы полезно сохранить, чтобы в случае кардинальной переделки фильма не набирать их заново.

4.3.1.


Subpicture with Forced Start


программа понимает subpicture для меню, т.е. subpicture, изображение которой зритель не сможет отключить. Под Subpicture without Forced Start программа понимает subpicture, изображение которой пользователь может отключить. Subpicture с таким атрибутом используется для ввода субтитров.

Всё, ввод данных в проект завершён. Дерево Data Editor выглядит следующим образом:

2.4.



Типы команд


     Всего существуют три типа команд согласно DVD стандарту. Это:

Первый тип (Type 1) - команды этого типа всегда состоят только из одной инструкции.

Второй тип (Type 2) - команды этого типа состоят из 2-х инструкций.

Третий тип (Type 3) - команды этого типа включают в себя команды из групп Compare, Set и Link to SubInstruction и тем самым состоят из трех инструкций.

Правила использования команд различных типов сведены в таблицу:

Команда

Тип

Описание

Количество инструкций в команде

GoTo

1

Меняет порядок выполнения инструкций

1

Link

1

Начинает выполнение указанного действия внутри домена (включая выделение кнопки)

1

Jump

1

То же самое, что и Link, но в другом домене

1

Compare GoTo

1

Если результат сравнения истина (true), то выполнение команды GoTo

1

Compare Link

1

Если результат сравнения истина (true), то выполнение команды Link

1

Compare Jump

1

Если результат сравнения истина (true), то выполнение команды Jump

1

SetSystem

2

Установка навигационных параметров (регистров) GPRM и SPRM

2

Set

2

Установка GPRM

2

Compare SetSystem

2

Если результат сравнения истина (true), то выполнение команды SetSystem

2

Compare Set

Если результат сравнения истина (true), то выполнение команды Set

2

SetSystem Link

2

Сначала выполнение команды SetSystem, затем Link

2

Set Link

2

Сначала выполнение команды Set, затем Link

2

Set Compare LinkSIns

3

Сначала выполняется команда Set, затем, если результат сравнения по команде Compare истина (true), то переход к выполнению команды LinkSIns

3

Compare & Set - LinkSIns

3

Сначала выполняется команда сравнения Compare и, если результат сравнения истина (true), то затем последовательно выполняются команды Set и LinkSIns

3

Compare - Set & LinkSIns

3

Сначала выполняется команда сравнения Compare и, если результат сравнения истина (true), то затем последовательно выполняются команды Set и LinkSIns, причем LinkSIbs в этом случае игнорирует результат сравнения

3

<
Для того, чтобы дальнейшая работа с командами в Scenarist была более понятной, позволим себе напомнить некоторые азы булевой алгебры, без которых освоение программирования в Scenarist будет затруднено. Итак, для начала рассмотрим операцию AND (И), которая в Scenarist (и не только в нем, конечно) также обозначается символом &. Эта операция также может называться логическим умножением. Scenarist всегда подразумевает, что данные в регистрах будут сравниваться побитово. Операция AND для каждого бита выполняется следующим образом:

0 & 0 = 0 (False - ложь)

0 & 1 = 0 (False - ложь)

1 & 0 = 0 (False - ложь)

1 & 1 = 1 (True - истина)

Поясним это на примере. Допустим, вы хотите сравнить значения по AND в двух регистрах. В одном из них десятичное число 25 (оно же двоичное 00011010, оно же шестнадцатиричное 1A) с другим, в котором содержится десятичное число 9 (оно же двоичное 00001001, оно же шестнадцатиричное 09). Результат будет таким:

     00011010

     00001001

     -------------

     00001000 = True (Истина) Результат оказался true, поскольку одна единица появилась в результате. В противном случае результат был бы False (Ложь).  Расшифровка обозначений операций сравнения в Scenarist приведена в таблице ниже:

&

Логическое AND (И). Результат будет true (истина), если в нем есть хотя бы одна единица. В противном случае он будет равен false (ложь). Если результат true, то будет выполнена следующая команда.

==

Если сравниваемые значения РАВНЫ, то команда будет выполнена.

!=

Если сравниваемые значения НЕ РАВНЫ, то команда будет выполнена.

>=

Если результат РАВЕН или БОЛЬШЕ, то команда будет выполнена.

>

Если результат БОЛЬШЕ, то команда будет выполнена.

<=

Если результат РАВЕН или МЕНЬШЕ, то команда будет выполнена.

<

Если результат БОЛЬШЕ, то команда будет выполнена.

Теперь настало время перейти к практическим примерам, поясняющим программирование в Scenarist.

Title Menu


После загрузки программы и перехода в экран сценариев мы видим всегда одну и ту же картину:

Прежде чем добавить в проект главное (Title) меню, необходимо определить язык, с которым будет это меню. Никогда раньше мы не объясняли, зачем, собственно, требуется вначале всегда указывать язык и большинство читателей до сих пор считают, что это бесполезная рутинная операция. На самом деле это совсем не так. Во-первых, первое меню возникает на экране до того, как появляется возможность сменить язык. Во-вторых, DVD плееры, как правило, имеют возможность установки в своем Setup языка по умолчанию и среди предлагаемых ими языков, увы, не всегда есть русский, а точнее, его почти всегда нет. Когда используемый язык один и как в VMG так и в VTS

установлен один и тот же единственный язык, то язык роли не играет (у плеера нет выбора), но если создается два или более меню на разных языках, а DVD плеер русского не знает, то всегда в качестве первого меню на экране появится то меню, язык которого плеер знает, поэтому надо создавать разноязычные меню и дорожки с учетом этого фактора и не всегда выбирать в Scenarist именно те языки, которые будут реально использоваться.

Итак, добавляем язык по команде Add/Language:

Затем добавляем меню в VMG (здесь и далее мы предполагаем, что вы знакомы как с описанием ReelDVD, так и с кратким описанием Scenarist и все необходимые файлы вами предварительно подготовлены и введены в программу):

     Очевидно, вы уже обратили внимание, что элементы Title меню в сущности ничем не отличаются от элементов любой другой PGC проекта. Поскольку PGC была рассмотрена подробно выше, останавливаться опять на этой теме мы не будем. Естественно, что Menu ID для Title Menu так и будет - Title Menu. Title Menu главное на диске - только из него возможен доступ к разным VTS и/или к разным Root Menu в пределах одного VTS. Но, поскольку подавляющее большинство любительских фильмов и большинство коммерческих не используют несколько VTS, и меню на различных языках создают как обычные меню внутри одного Root Menu, Title Menu просто не используется. Такой способ также удобен тем, что зритель попадает всегда в одно и тоже меню, независимо от того, какую кнопку на пульте со словом Menu он нажал. Краткий опрос нескольких владельцев DVD плееров показал, что практически никто из них не знал о существовании двух типов меню, не говоря уже о знании различий между ними.


     Для того, чтобы "обойти" Title Menu, достаточно в качестве меню присоединить к иконе языка Title Menu любой графический файл (он займет меньше всего места на DVD-Video диске), а затем соединить флаг Pre получившегося меню с Root Menu. После этого вызов любого меню приведет к попаданию в Root Menu.

У меня


почему-то мерцают различные элементы неподвижных меню. Кроме этого, часто элементы выделения (квадраты, например) "теряют" одну сторону изображения. Можно ли избежать подобных неприятностей и как?

Избежать этих раздражающе неприятных моментов можно, если придерживаться нескольких простых правил:

Линии в subpicture всегда рисовать толщиной не менее 2 пикселей

Количество пикселей в нарисованном вами графическом элементе subpicture должно быть четным.

Большие элементы выделения в меню наиболее правильно делать как подсветку, т.е. красивая и интересная рамка, например,  создается по всем правилам подбора цветов, с обязательным сглаживанием (soft)  краев и anti-aliasing. Для выделения этой рамки в subpicture следует нарисовать рамку чуть меньшего или такого же размера без размытия краев и anti-aliasing, но с условием установки яркости в меню НЕ БОЛЕЕ 50-60%. Тоже относится и к тексту - нельзя присваивать 100% яркость тексту в качестве элемента выделения - он получится практически всегда "размытым" на экране телевизора.

Если изображение рисуется в графическом редакторе с "нуля", то она должно быть размером 768х576. 

Если вы планируете нарисовать текст, рамки и т.п. в графическом редакторе и хотите в качестве фона использовать кадр из DV клипа, этот кадр должен быть приведен также к размеру 768х576 и только после этого вставлен как фон для меню. 

По завершении создания меню его картинка и subpicture должны быть сохранены с разрешением 720x576 с обязательной отменой параметра Keep Aspect Ratio (или аналогичного ему).

Если вы сомневаетесь в правильности созданного вами неподвижного меню, настоятельно рекомендуем создать из файла меню DV клип и просмотреть его на экране телевизора через видеокамеру. Если мерцания и других артефактов не будет, то их не будет и после авторинга диска.

Крайне редко, но в артефактах бывают виноваты встроенные MPEG кодеры программ DVD авторинга. Это обнаруживается в том случае, если меню как DV клип воспроизводилось нормально, а после авторинга, уже на DVD диске, появились артефакты. Если такой эффект появился, то "переведите" ваше неподвижное меню в motion, поскольку motion menu никак не меняется программой DVD авторинга. 

     К сожалению, эти правила полностью применимы только к некоторым программам DVD авторинга, таким как ReelDVD или Scenarist. Мерцающие меню, "усеченные" рамки и т.п. при авторинге в этих программах могут появиться только благодаря небрежному отношению

автора диска к своей работе. В массовых, недорогих программах, которые не дают автору прямой доступ к subpicture, таких как Ulead DVD Workshop, Dazzle DVD Complete, Pinnacle Studio 8 и т.п. артефакты возможны и без всякой вины автора, из-за несовершенства алгоритмов генерации subpicture и встроенных кодеров MPEG.

      Правила по размерам меню в 768х576 мы уже приводили, но считаем не лишним их снова повторить.



У меня не


работает как прокрутка видео в программных DVD плеерах, так и индикация времени на бытовых DVD плеерах. В чем может быть дело, ведь насколько я понимаю, Scenarist не имеет этого недостатка ReelDVD?

На самом деле Scenarist лишь позволяет реализовать заложенные в DVD спецификации возможности, поэтому, если что-то у вас не работает, то в отличие от ReelDVD вы должны понимать - виноваты только вы сами. В данном конкретном случае можно со 100% вероятностью утверждать, что вы применили в проекте какую-ту PGC команду - Next PGC, Go Up PGC или Previous PGC. Отменить PGC команду можно, выбрав в меню по правой кнопке мыши на PGC, от которой шла команда, ту же самую PGC команду и в появившемся окне выделить __No PGC__ и затем OK.



В каждом


своем проекте я создаю несколько меню эпизодов, в которых используются одинаковые subpicture, но, тем не менее, для каждого меню мне приходится задавать кнопки отдельно. Нельзя ли автоматизировать этот процесс?

Конечно, можно и, добавим к этому, нужно, тем более что это очень просто. Сначала необходимо указать кнопки для первого меню, задать правила перемещения курсора, после чего выбрать в Track Editor содержимое Hightlight дорожки. Затем по правой кнопке мыши в появившемся меню выбрать Copy, открыть дорожку с другим подобным меню, выбрать курсором дорожку Highlight, нажать правую кнопку мыши и выбрать Paste. Далее проделать тоже самое для остальных меню.



Эта статья является продолжением статьи


Эта статья является продолжением статьи «DVD своими руками», в которой было приведено подробное руководство по пользованию программой ReelDVD. Черновик первой части статьи (главы с 1 по 3) был прислан партнером нашей компании, г-ном Кириллом Щербой. Мы, с разрешения автора, несколько исправили и дополнили его материал и публикуем его в таком виде. В дальнейшем мы планируем добавлять в статью информацию о многих интересных возможностях Scenarist. Следите за новостями.

Scenarist является существенно более мощной программой по сравнению с ReelDVD. На Scenarist-е делается до 90% коммерческих DVD дисков. Среди любителей эта программа намного менее популярна из-за распространенного мнения о  сложности Scenarist для понимания и освоения. На самом деле это не совсем верное мнение (точнее, совсем неверное) и мы, публикуя этот материал, рассчитываем на его изменение в широких народных массах авторов DVD-Video дисков. 

Внимательно исследовав программу ReelDVD, мы обнаружили у нее несколько незначительных недостатков, таких как :
Вместо индикации глав и времени на экране дисплея большинства brand name плееров отображается слово Play (для исправления этого недостатка нужно отредактировать файл VIDEO_TS.IFO с помощью программы IfoEdit);
После того как мы добились отображения информации на дисплее, обнаружилось, что основной фильм начинается не с первой главы: первая глава – это FirstPlay, вторая – основной фильм и каждое меню есть тоже глава (сцена);
DVD-Video диски, созданные в ReelDVD,  “не очень правильно” проигрываются программными плеерами, например, PowerDVD: отсутствует возможность пользоваться “регулятором положения” (т.е. позиционироваться в любое место фильма), если нажать кнопку Next во время проигрывания FirstPlay, то воспроизведение диска может прекратиться.
Все эти недостатки незначительны, поскольку мы достигли главного: наш диск гарантированно проигрывается на бытовом плеере вне зависимости от качества носителя, на котором он записан, наш диск имеет профессиональное выглядящее меню, мы контролируем все необходимые кнопки пульта дистанционного управления плеера. Но, тем не менее, остается ощущение, что наш диск “не полностью правильный”. 


“Правильный” на сто процентов диск нам поможет создать программа Sonic (ранее Daikin) Scenarist NT 2.7. Мы предполагаем, что вы внимательно прочитали статью «DVD своими руками» и умеете пользоваться программой ReelDVD. Эти программы похожи, поэтому в этой статье мы не будем тратить время на разъяснение некоторых понятий, уже подробно описанных в статье по ReelDVD. Это в полной мере относится к созданию меню, поскольку меню для ReelDVD и Scenarist создается абсолютно одинаково (вы также можете ознакомиться с подробным руководством по созданию меню в статье Создание меню для программ DVD-Authoring - краткое практическое руководство). Мы также предполагаем, что вы имеете все необходимые файлы для включения их в проект (сценарий) программы Scenarist (меню для этого учебного проекта вы сможете переписать ниже). Обращаем ваше внимание на то, что значком (!!!) будет отмечаться текст, особенно важный для понимания работы программы.

(!!!) - еще раз обращаем ваше внимание на то, что без знания, как минимум, правил создания subpicture и меню с subpicture, подробно описанных в статье про ReelDVD, чтение настоящей статьи абсолютно бесполезно. Кроме этого, настоятельно рекомендуем внимательно ознакомиться с DVD Глоссарием. C дополнительными возможностями по созданию дизайна меню вы также можете ознакомиться в статье Создание меню для программ DVD-Authoring - краткое практическое руководство.
(!!!) - все материалы по Scenarist не являются переводом документации к программе, а изложением результатов практической работы с программой. 
Итак, давайте создадим DVD-Video диск, содержащий следующее:
FirstPlay (клип который проигрывается сразу после установки диска в плеер);
Главное Меню (это первое меню, в нём будет выбор между просмотром фильма и переходом к меню эпизодов)
Меню эпизодов фильма
Собственно фильм
2.

Ввод данных в проект


.

Сначала введём необходимые данные в наш проект.

(!!!) - Scenarist понимает и принимает только разные файлы для разных объектов DVD-Video диска. Единственное исключение - начиная с версии 3.0 Scenarist принимает статические меню и subpicture в одном Photoshop файле. Видео, звук, subpicture и т.д. должны вводится в проект индивидуально. 

Данными для проекта являются видео, аудио файлы и файлы изображений. В нашем случае это два видео файла и два аудио файла (мы имеем FirstPlay и сам фильм), а также четыре изображения для создания меню. Нами подготовлены видео файлы:

Вступительный клип: FirstPlay.m2v и FirstPlay.wav 

Фильм: Movie.m2v и Movie.wav

О том как создать такие файлы, подробно рассказано в статье: ”Создание своего DVD-Video диска - практическое руководство - Часть 2” (раздел Первый опыт - диск без меню). Если у вас есть возможность, то для выполнения этого примера возьмите небольшие файлы.

Файлы нашего примера для создания меню(399 Kb):

Первое меню: Menu01.bmp (меню), Menu01_sub.bmp (subpicture)

Второе меню: Menu02.bmp (меню), Menu02_sub.bmp (subpicture)

Мы хотим сделать два обычных (still) меню (не анимационные и без звука).

Как создавать обычные меню, рассказано в статье: ”Создание своего DVD-Video диска - практическое руководство - Часть 2" (раздел Создание обычных (still) меню). 

Вводим данные в проект:

В Рабочем Окне нажмите на закладку Data Editor (по умолчанию закладка была нажата).

С помощью кнопки New Folder

создайте две папки, с названиями Video & Audio и Images.

С помощью кнопки New Data

, поочерёдно, открыв предварительно папку Video & Audio, поместите в нее четыре файла (FirstPlay.m2v, FirstPlay.wav, Movie.m2v, Movie.wav). Файлы видео начнут обрабатываться. Для аудио файлов будет предложена конвертация, поэтому в появившемся окне


выберите AC3. Если в будущем вы будете конвертировать весь звук в DolbyDigital (что мы настоятельно рекомендуем, то следует после выбора AC-3 отметить Apply to All (Применять всегда). Чем больше файлы, вводимые в проект,  тем больше времени тратит программа на их обработку. Процесс конвертации файла отображается в Информационном Окне ниже.

Затем, в папку Images, с помощью той же кнопки New Data

, поочерёдно, добавьте изображения необходимые для создания меню (Menu01.bmp, Menu01_sub.bmp, Menu01.bmp, Menu01_sub.bmp). При вводе графических фалов программа задаст вопрос


Для файлов Menu01.bmp и Menu02.bmp укажите Still Image, а для файлов Menu01_sub.bmp и Menu02_sub.bmp укажите Sub-Picture with Forced Start.  

(!!!) - под



Ввод субтитров с помощью скрипта.


    Автоматизированный ввод субтитров возможен с помощью заранее написанного скрипта, который имеет такой вид:

st_format 2

Display_Start non_forced

TV_Type PAL

Tape_Type NON_DROP

Pixel_Area (2 574)

Display_Area (0 2 719 574)

Color (3 3 4 3)

Contrast (15 15 15 0)

E2 (0 0 255 ===)

E1 (255 0 0 ===)

PA (0 0 0 ===)

BG (255 255 255 ===)

Directory D:\VIDEO\CyprDVD\SubFiles

#####################################################

SP_NUMBER START END FILE_NAME

1 00:00:01:18 00:00:05:06 Subtitle Text_1.bmp

2 00:05:16:10 00:05:19:19 Subtitle Text_2.bmp

Для PAL и subpicture в полный экран в этом примере ничего менять не надо, за исключением, конечно, информации о каталоге с файлами ваших subpicture с субтитрами, именах файлов subpictupe и времени их появления в фильме. Файл скрипта должен быть создан в редакторе, не вносящем никакой информации от себя, т.е. в Notepad (Блокнот), например. Расширение имени файла скрипта - .sst.

Благодарим Айдара Туктагулова за помощь при подготовке описания работы с субтитрами в Scenarist.

4.4.



Несмотря на то, что Scenarist


Несмотря на то, что Scenarist видит DVD-R рекордеры, мы не можем рекомендовать запись на диск с помощью Scenarist, по одной простой причине – мы не проверяли эту возможность во время написания этого материала. Воспользуйтесь старым и проверенным способом: запишите диск (используя полученный образ) с помощью программы VOB Instant CD+DVD, Nero Burning ROM (только в крайнем случае, запретив у Nero Joliet) или любой другой программы, которой вы пользуетесь для записи DVD-дисков. Подробнее о записи Scenarist'ом DVD-Video дисков можно прочитать здесь.

Обратите внимание, что состав файлов в папке VIDEO_TS изменился по сравнению с одноимённой папкой, созданной с помощью программы ReelDVD: появился файл VIDEO_TS.VOB, а файл VTS_01_0.VOB имеет размер менее стандартного в 1 гигабайт. В этих файлах записаны меню, в остальных видео и аудио файлы фильма. Несмотря на то, что ReelDVD и Scenarist имеют один движок, результат (даже по составу файлов) получается различный. 

ReelDVD – это частный случай от Scenarist, и, если файлы ReelDVD можно было бы поместить в Scenario Editor, то мы бы увидели, что все файлы видео и меню лежат в Title_1. Именно поэтому все связи в ReelDVD выполняются с помощью команд Next PGC и Previous PGC, и именно поэтому не работает отображение информации на дисплее и нет позиционирования в программных плеерах.




Создание своего DVD-Video диска программой Sonic Scenarist NT- практическое руководство - Часть 3

Начиная с этой главы, мы будем постепенно, по мере появления новых данных, сообщать дополнительную информацию по программе Scenarist NT. До завершения проекта не стоить ждать системного подхода к этому материалу, поскольку информации слишком много и систематизировать ее полностью можно будет только по окончании работы над всеми разделами. В работе над этим материалом нам оказывают помощь г-да Борис Прохоров, Кирилл Щерба, а также другие участники конференции по Scenarist NT, за что им мы приносим им искреннюю благодарность.
4.0.

Запись DVD диска


   Scenarist позволяет записывать результат работы над проектом непосредственно на DVD рекордер. Традиционно профессиональные пользователи применяли DVD рекордеры только одобренных DVD форумом форматов, поэтому нам ничего не известно о поддержке Scenarist'ом приводов "плюсового" DVD+RW/R формата. Scenarist умеет записывать на любые приводы Pioneer, причем начиная с версии 2.7 поддерживается и Pioneer A05/105. Для записи DVD непосредственно на диск следует включить следующие параметры в Layout Editor:

     Как вы наверняка заметили из рисунка, для записи DVD диска из Scenarist в обязательном порядке требуется создание образа диска (Create Disc Image). Несмотря на то, что создание образа диска занимает у программы немного времени (около 5-8 минут), это время следует учесть и также иметь ввиду, что не разрешив Delete When Done (удалить по окончании) в Step 2, вы должны для нормального завершения проекта иметь на диске свободное место, не меньше объема 3-х DVD дисков, т.е. 4.4 GBytes x 3 = 13.2 GBytes.

     Если вы желаете сохранить данные об авторе диска, авторских правах, датах и т.п., то следует нажать кнопку PVD Editor и на экране появится редактор авторских данных диска:

     Что следует писать в полях, понятно из названий, для описания Copyright, Abstract и Bibliograph следует подготовить текстовые файлы с обычными именами файлов и расширениями в формате 8.3 и при написании текстов использовать только большие латинские буквы, цифры, точку и подчеркивание. В поля Creation, Modification и т.д. вводятся даты. В поле Creation программа автоматически подставляет текущую дату в момент записи диска.

      После выбора кнопки Start программа попросит установить болванку в привод (даже если она у вас давно там есть), 

следует ответить ОК и Scenarist начнет свою работу. Вне зависимости от имени вашего проекта Scenarist создаст в Target Directories (определяется в Choose Target Directories) файл с именем DiscImage.dvd, причем Scenarist сам этот файл удалить не может. Если пробная запись прошла успешно и нужно сделать несколько копий диска, то файл образа вполне подойдет для использования в этих целях без применения Scenarist. В программе VOB Instant, например, для прожига DVD диска из образа, созданного Scenarist, следует проделать такие операции:

Выбрать после запуска Instant Disc

В появившемся списке шаблонов проектов выбрать UDF Video DVD Image

После запроса о типе и емкости носителя VOB попросит ввести имя файла образа. Нажав кнопку Browse, следует обязательно указать All Files (*.*) в поле Files of Type.

Найдя нужный каталог, выбрать файл DiscImage.dvd, как показано на рисунке:

      На этом процесс закончен. VOB Instant успешно запишет образ DVD-Video диска от Scenarist. 

Мы проверяли работу Scenarist ver. 2.7 на запись с приводами Pioneer A04/104 и Pioneer A05/105 - никаких проблем выявлено не было.



Знакомство с интерфейсом программы


Мы успешно завершили настройку проекта и вошли в программу Scenarist. Что мы видим? По умолчанию программа занимает весь рабочий стол и состоит из двух окон:

Левое окно это окно сценария, назовём его Основное Окно. Правое окно содержит плеер для отображения клипа, изображений, текстов и готового результата, назовём его Окном Эмуляции. Если вы не увидели этого окна, то по команде View/Simulation Window можно увидеть Окно Эмуляции на экране.

Правое окно можно закрыть, а потом, при необходимости, открыть из Основного. Закрытие левого окна приведёт к закрытию проекта. Функция Save в Scenarist отсутствует как класс – проект “всегда сохранен”, поскольку все действия пользователя записываются в файл проекта немедленно. Отмены операции, Undo, не существует в принципе, что сделано, то сделано. Теперь подробнее, об Основном Окне (сверху вниз, слева направо):

Меню программы: обычный набор меню (File, Edit, New и т.п.)

Панель инструментов программы: здесь есть практически все необходимые кнопки. Набор кнопок в панели изменяется в зависимости от выбранной закладки в рабочем окне (см. ниже).

Основное Рабочее Окно: здесь проводится основная работа по созданию вашего DVD-диска.

Информационное Окно (information window): здесь отображается информация об ошибках и о выполнении текущих заданий, например о процессе конвертации wav-файла в AC3.

Окно Свойства (property browser): это окно для внесения изменений в различные параметры сценария, клипов, меню и т.п.

Проводник (accept manager): псевдо-проводник, т.е. не совсем настоящий – показывает только те файлы, которые вы в него ввели.

В Окне Эмуляции есть:

Меню

Панель инструментов (Toolbar)

Окно Плеера

Окно Редактирования: это окно является “продолжением” Окна Свойств (из Основного окна), здесь появляются различные параметры фильма (в основном меню), которые можно просматривать и(или) изменять.

2.3.