Электронная библиотека » Вячеслав Голиней » » онлайн чтение - страница 18


  • Текст добавлен: 16 апреля 2014, 18:47


Автор книги: Вячеслав Голиней


Жанр: Программы, Компьютеры


сообщить о неприемлемом содержимом

Текущая страница: 18 (всего у книги 20 страниц)

Шрифт:
- 100% +
Глава 24
Создание многоуровневого меню и программирование
Многоуровневое меню

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

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

Но для чего нужно подобное разнообразие? Ответ на этот вопрос не так прост. Но он будет найден в данной главе.

Главное меню имеет доступ к титульным папкам разных VTS. Располагается главное меню всегда в пространстве видеоменеджера. Именно в главном меню зритель может переключаться с одного фильма на другой. Причем фильмы могут иметь разные характеристики. Например, один фильм может быть сделан с соотношением сторон кадра 4:3, а другой – 16:9. Реализовать два разных фильма в одном VTS подчас невозможно. В то же время из главного меню невозможно получить доступ к конкретным сценам того или иного фильма. Точнее, это можно реализовать, но с использованием дополнительных ухищрений, что не всегда удобно.

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

Доступ к этим двум видам меню осуществляется с помощью пульта дистанционного управления, хотя стоит сказать, что не все зрители понимают назначение клавиш Title (или To p) и Menu. Стоит заметить, что не все зрители даже знают о том, что на DVD-диске может быть меню.

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

В качестве первого примера следует создать фильм с двумя меню, главным и корневым, как показано на рис. 24.1.

Рис. 24.1. Схема DVD-диска с многоуровневым меню.


На диске будут присутствовать три фильма, выбираемые в корневом меню, и фильм с информацией о создателях DVD, то есть титры. Также стоит сохранить еще и вводный клип. По окончании воспроизведения титров управление будет возвращаться в главное меню. По окончании воспроизведения фильмов 1 и 2 управление будет возвращаться в корневое меню, а по окончании воспроизведения фильма 3 – в главное меню. Из корневого меню должен существовать доступ в главное меню. Схема, конечно, кажется немного надуманной. Однако это лучший способ потренироваться в создании сложных дисков. На самом деле схема навигации может быть сколь угодно сложной.

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

Рис. 24.2. Сценарий DVD-диска с главным и корневым меню.


Для размещения главного меню надо создать языковую папку в видеоменеджере. Корневое меню создается в пространстве VTS, поэтому папка языка создается у VTS_1. Естественно, для обеих папок указывается язык Russian. Вводный клип следует оставить в титульной папке Start_Title.

Также нужно создать еще одну титульную папку с названием Title_Credits. Следует помнить, что доступ из главного меню может быть осуществлен только к титульной папке, а не к каким-либо PGC. В титульную папку Title_1 надо поместить три фильма. При этом будут созданы три программные цепочки (PGC).

На этом этапе все объекты уже созданы. Осталось расставить связи.

От флага Btns PGC главного меню нужно протянуть связь к PGC корневого меню и выбрать кнопку Корневое меню. Вторую связь надо протянуть к титульной папке Title_Credits. Также следует протянуть связи от флага Btns PGC корневого меню к трем программам фильмов.

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

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

Полученный сценарий можно протестировать в окне моделирования.

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

Схема воспроизведения диска примет вид, показанный на рис. 24.3.

Рис. 24.3. Схема видоизмененного сценария.


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

Надо разбить первый фильм на сцены, как описано в предыдущих примерах. Для обновления нашего сценария надо будет сначала удалить первый фильм из титульной папки Title_1, а потом снова добавить его. На этот раз будет создана PGC со сценами. Также надо добавить анимированное меню к PGC корневого меню. На этом этапе стоит обратить внимание на то, как выглядит PGC корневого меню. Она выглядит почти как PGC фильма со сценами, но при этом у нее есть дополнительные пиктограммы Buttons (Кнопки). Теперь PGC корневого меню будет работать точно так же, как и PGC со сценами. Созданный сценарий надо снова протестировать.

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

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

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

Рис. В.33. Сценарий с подменю.


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

• Subpicture Menu – меню subpicture;

• Audio Menu – аудиоменю;

• Angle Menu – меню ракурсов;

• PTT Menu – меню выбора сцен.

Следует сказать, что эти виды меню не так уж необходимы, так как вся их функциональность может быть реализована с помощью обычного подменю, которое имеет флаг No Menu (Без меню). Но к указанным подменю можно обратиться с помощью пульта дистанционного управления, если, конечно, на нем есть соответствующие клавиши.

Теперь следует создать меню выбора сцен (PTT меню).

Анимированное меню надо добавить в ту же папку языка, где уже находится корневое меню. Можно увидеть, что у иконки PGC меню нет никакого флага. В браузере свойств надо для поля Menu ID задать значение PTT Menu. У иконки появится флаг PTT.

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

В пределах одного VTS можно создать только одно меню выбора сцен PTT Menu. Также нельзя создать какое-либо системное меню вне папки языка. Однако можно создавать неограниченное количество меню с типом No Menu, как в пределах папки языка, так и в титульных папках.

А теперь следует рассмотреть меню типов Subpicture Menu, Angle Menu и Audio Menu.

Меню Subpicture

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

Рис. 24.4. PTT меню.


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

Рис. 24.5. Меню для выбора, включения и выключения субтитров.


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

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

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

На видеодорожке надо установить ползунок в том месте, где необходимо вставить первый субтитр. Для упрощения примера можно добавить субтитры в самом начале дорожки. Затем следует перейти в окно моделирования и создать первый субтитр с надписью «Это текст первого потока субтитров», как показано на рис. В.34 цветной вклейки. Первый поток Subpicture будет автоматически создан программой Scenarist.

Рис. В.34. Субтитры первого потока субтитров.


После того как будут созданы все требуемые субтитры, нужно создать еще один поток subpicture, который будет выступать в роли второго потока субтитров. В него будут введены другие надписи. Для этого, находясь в монтажном редакторе, при выделенной дорожке фильма следует выполнить команду меню New ► Subpicture Stream (Добавить ► Поток Subpicture). Второй поток для создания субтитров будет создан и отображен на монтажной линейке. Точно таким же образом надо создать субтитры для второго потока. Чтобы позиционировать бегунок на втором потоке, надо использовать кнопку Next Subpicture (Следующая Subpicture) в панели инструментов окна моделирования, как показано на рис. В.34. Номер выбранного потока отображается в поле Stream Number (Номер потока).

Окончательный вид видеодорожки показан на рис. В.35 цветной вклейки.

Рис. В.35. Видеодорожка с двумя потоками субтитров и введенными субтитрами.


Теперь в проект надо добавить меню, которое было создано для управления потоками субтитров. В окне редактора сценариев требуется добавить меню к какой-либо папке языка. Если это будет единственное меню папки языка, то оно всегда будет либо Title либо Root, в зависимости от того, в каком пространстве находится папка языка. Если оно будет не первым меню, то для него можно установить тип Subpicture Menu.

Также необходимо создать связь от Subpicture Menu к фильму, в котором созданы потоки субтитров, как показано на рис. 24.6. Следует обновить PGC фильма в сценарии.

Рис. 24.6. Вид сценария с использованием Subpicture Menu.


На следующем этапе работы надо добавить команды к первым трем кнопкам.

Для работы с меню типов Subpicture Menu, Angle Menu и Audio Menu используется команда Set Angle/Audio/Subpicture.

К первой кнопке добавляется команда выбора первого потока subpicture, ко второй кнопке – команда выбора второго потока, а на третью кнопку устанавливается команда, убирающая отображение, для чего надо просто снять флажок Display Subpicture (Отображать subpicture). Результирующий набор команд показан на рис. 24.7.

Рис. 24.7. Установка команд задания номеров потоков subpicture.


Созданный пример потребуется протестировать.

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

Аудиоменю

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

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

Рис. 24.8. Пример аудиоменю.


Это меню надо зарегистрировать в программе Scenarist, после чего следует перейти к созданию видеодорожки с английским и русским аудиопотоками.

Строго говоря, надо было изначально подготовить соответствующие исходные материалы. Перед началом работы нужно было сделать два файла со звуком и один файл с видеоматериалом. Если все эти три файла были зарегистрированы в программе Scenarist, то можно создавать видеодорожку. Обычная видеодорожка содержит видеопоток фильма и аудиосопровождение. Теперь надо добавить к обычной видеодорожке еще один поток звука. Для этого требуется переместить соответствующий зарегистрированный аудиоматериал из окна менеджера исходных материалов на дорожку. Второй аудиопоток будет создан и отображен на монтажной линейке, как показано на рис. 24.9. К аудиопотокам надо добавить соответствующие языки. Один поток будет соответствовать русскому языку, а второй – английскому.

Рис. 24.9. Видеодорожка с двумя аудиопотоками.


После того как дорожка будет создана, можно переходить к созданию сценария.

Аудиоменю надо добавить в сценарий, после чего для флага Menu ID надо установить значение Audio Menu. После этого следует создать связи, соединяющие корневое меню с аудиоменю, и связь от кнопки запуска фильма на просмотр к титульной папке, содержащей видеофильм. Внешний вид сценария приведен на рис. 24.10.

Рис. 24.10. Сценарий с аудиоменю.


Остается только задать команды, которые будут определять, какой из аудиопотоков должен воспроизводиться параллельно с видеоматериалом. Для этого надо выделить иконку Buttons (Кнопки) аудиоменю. Потом следует открыть окно моделирования и на закладке Button Commands (Команды кнопок) задать для первых двух кнопок команды Set Angle/Audio/Subpicture. Для первой кнопки надо установить номер аудиопотока равным единице, а для второй кнопки номер аудиопотока будет равен двум, как показано на рис. 24.11.

Рис. 24.11. Установка команд для аудиоменю.


После того как все будет сделано, необходимо протестировать пример в окне моделирования.

Все то же самое можно проделать и для меню ракурсов. Команда Set Angle/Audio/ Subpicture является универсальной для всех трех типов меню. С ее помощью можно одновременно устанавливать номера потоков для аудио, subpicture и ракурсов, если, конечно, в видеодорожке присутствует сразу несколько потоков.

Но следует рассмотреть еще один очень интересный вариант использования многоуровневого меню.

Анимированное меню, разбитое на сцены

В этом примере следует разбить на сцены ранее подготовленное анимированное меню. Длительность сцен можно установить произвольно (рис. 24.12).

Рис. 24.12. Влияние разбивки меню на сцены на subpicture.


Разбиение на сцены приведет к усечению subpicture, использованной в меню. Поэтому надо восстановить правильную subpicture. Для этого нужно снова переместить из менеджера исходных материалов subpicture на пустые места, соответствующие сценам меню (рис. 24.13).

Рис. 24.13. Добавление subpicture на очищенные участки.


Теперь надо выровнять вновь вставленные subpicture в сценах. Для этого проще всего воспользоваться калькулятором или же вести записи на бумаге. На рис. 24.14 изображен процесс выравнивания subpicture.

Рис. 24.14. Последовательность выравнивания subpicture.


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

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

После выравнивания поток subpicture будет иметь вид, показанный на рис. 24.15.

Рис. 24.15. Поток subpicture меню, разделенного на сцены.


Теперь необходимо точно таким же образом привести в порядок слой подсветок. Для этого в браузере свойств длительность потока подсветки (highlight) задается равной длительности первой subpicture. Затем надо установить бегунок в пределах второй сцены и заново сформировать выделения кнопок и связи между ними. То же самое нужно проделать для третьей сцены (см. рис. В.36 цветной вклейки).

Рис. В.36. Восстановленная дорожка меню, разбитая на сцены.


Теперь можно добавить меню в сценарий. Меню будет иметь вид фильма с несколькими сценами (рис. 24.16), но при этом будут отображаться дополнительные иконки кнопок Buttons.

Рис. 24.16. Анимированное меню, разбитое на сцены и добавленное в сценарий.


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

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

Рис. В.37. Сценарий с использованием анимированного меню, разбитого на сцены.


Данный сценарий позволяет ограничить доступ к какому-либо семейному видео «не для всех». Тот, кто не знает, когда нажимать на кнопку выбора сцены, не сможет получить доступ к просмотру этого видеофильма. Следует заметить, что длительность подобной сцены не должна быть менее шести секунд. Это связано с определенными ограничениями, накладываемыми спецификацией DVD на размер объекта Cell. Поэтому всегда надо оставлять между сценами не менее шести секунд, а лучше сделать перерыв длительностью десять секунд. Если не соблюсти эти требования, то при мультиплексировании образа диска будет выдано сообщение Some DVD players have problems with this limitation (Некоторые DVD-плееры имеют проблемы, связанные с данным ограничением).

Осталось исправить маленькую деталь сценария. При тестировании сценария можно увидеть, что при переходе от сцены к сцене подсветка кнопок устанавливается на первую кнопку. Если кнопки расставлены в разных последовательностях для каждой сцены, то подсветка всегда будет устанавливаться на кнопке с номером один в каждой сцене. Это связано с тем, что для каждого потока Highlight в поле Forced Selected Button # (Принудительно выбранная кнопка) установлено единичное значение. Чтобы не слетала текущая подсветка кнопки при переходе от сцены к сцене, необходимо для каждого потока Highlight задать в указанном поле значение Nonexistent (Не существует). Впрочем, первый поток Highlight можно и не трогать. Именно он и задаст стартовое значение подсветки кнопки, которое зритель будет менять с помощью клавиш пульта дистанционного управления. Но если сохранять выделенной ту кнопку, с которой зритель уходил на просмотр фильма, то все равно придется оперировать с регистрами GPRM. Значит, рано или поздно, параметр Forced Selected Button # (Принудительно выбранная кнопка) получит значение Nonexistent (Не существует).

Был рассмотрен хороший пример защиты определенных видеоматериалов от несанкционированного просмотра. Однако он не лишен недостатков.

Дело в том, что случайный зритель, сам того не подозревая, может нажать на определенную кнопку в нужный момент. Что же делать, чтобы гарантированно защитить часть материалов DVD-диска от несанкционированного просмотра?

Для этого можно использовать парольную защиту, которая рассматривается в следующем разделе главы.


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Следующая
  • 0 Оценок: 0

Правообладателям!

Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.


Популярные книги за неделю


Рекомендации