Мануал BD Studio MX (часть 2)Часть 2

Работа с программой

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

В меню на Джава графический объект может быть одним из следующих типов:
• Изображение – статическое изображение, представленное одной картинкой.
• Кнопка – объект с 4 состояниями: нормальное (обязательно), выбранное (обязательно), активированное (по желанию), текущее (используется для выделения текущей главы или дорожки).
 
C возможностями и интерфейсом BD Studio MX можно познакомиться здесь.
Текущее состояние используется вместе со свойствами подсветки. Каждое состояние подсветки может быть установлено только для одной кнопки, т.е. только одна кнопка может быть с «Highlight if [Sound] in Group [Movie] is equal to 1», только одна кнопка может быть с «Highlight if [Sound] in Group [Movie] is equal to 2» и т.д.
 
Активированное состояние всегда показывается вместо нормального. Отметим, что хотя кнопка представлена тремя объектами, де-факто это один объект, и нельзя вставить любой другой графический объект между этими состояниями. Также отметим, что все состояния Selected и Current всегда отображаются вместе. Расположение этих состояний определяется методом прорисовки.
 
Если объект принадлежит к какой-либо группе анимации (поместить его в группу можно, установив флажок нужной группы в контекстном меню объекта, описанном выше), то это обозначается буквой A в ромбике слева от объекта. Справа от объекта будет указан номер группы анимации для объекта.
 
Свойства графических объектов
Для изображений в окне свойств указывается Name (имя), Image (местонахождение изображения), флажок Button (кнопка) не установлен, и Layout показывает расположение объекта относительно верха и левого края и т.д.
 
Если же задаём свойства кнопки, то ставим флажок кнопки. В результате в окне появляются дополнительно поля для указания звуков при выборе кнопки и при нажатии на неё (требования к этим звукам уже описаны), а также две группы свойств Actions (действия) и Highlight (подсветка).
 
Установка действий кнопок
Установка действий кнопокПредполагая, что у пульта ДУ есть 4 кнопки со стрелками и одна кнопка ввода (Enter), можно задать действия для кнопки меню на экране, которые будут производиться при нажатии на одну из кнопок пульта. Можно осуществить переход к другой кнопке, меню, запуск фильма, выбор аудио дорожки и т.п. в зависимости от типа действия кнопки.
 
Сначала типы кнопок основного меню. Двойной клик по полю с действием (Press left, Press right и т.д.) открывает окно выбора типа действия:
 
Select Button выбирает кнопку (из списка имеющихся в этом меню), к которой будет осуществлён переход.
 
Jump MENU указывает меню (из списка имеющихся в проекте), в которое будет осуществлён переход (скачок). Например, для демо-проекта:

 

Jump MENU
 
* Если нужно перейти в меню без выбора кнопки, то в списке меню выберите значение [Default]. В этом случае будет выбрана первая кнопка или кнопка, которая была выбрана перед тем, как покинуть меню.
* Если нужно перейти к конкретной кнопке – выбираем её.
* Если нужно перейти в меню и пропустить анимацию входа – выбираем Skip animation и нужную кнопку или [Default].
 
Play MOVIE указывает, какой фильм будет воспроизводиться. Можно выбрать нужную главу (эпизод), а можно выбрать [resume] и воспроизвести с места последней остановки.
 
Set AUDIO / SUBTITLES устанавливает соответствующие дорожки для выбранного фильма.
Set sound FX включает/выключает звуковые эффекты кнопок.
 
Multi-action (мульти-действие) разработано для выполнения нескольких операций за одно действие (нажатие кнопки на пульте). Можно одновременно задать аудио и субтитры, включить/выключить звуковые эффекты и режим 3D и т.д.
 
Switch (переключатель) предназначен для формирования действий, зависящих от номера текущего эпизода или аудио дорожки (субтитров). Число может также быть интервалом – 1,2,3 или 2-4, например. Т.е. это формирование конструкции вида If… Then… либо из предлагаемых вариантов, либо вручную (выбрав в условии If тип Custom). Все сравнения по отношению к двоичным операндам должны находиться в квадратных скобках, т.е. нельзя сделать, к примеру, так: Audio(Movie) = 1 & Sub(Movie) = 2.
 
Если введённые условия не соответствуют установленным требованиям, то получим сообщение об ошибке во время компиляции.
 
Script (Джава) позволяет ввести Джава-код.
 
Кнопки для Popup меню имеют один дополнительный тип – Jump POPUP для осуществления перехода к выбранному всплывающему меню или для его закрытия [close popup].
 
Авто-назначение переходов между кнопками (действиями)
Нажатие соответствующей кнопки на панели инструментов главного меню открывает окно:
 
Авто-назначение переходов между кнопками (действиями)
 
Straight lines (прямые линии) означает поиск кнопок на горизонтальной и вертикальной линии по отношению к выбранной кнопке.
 
45-degree lines (наклонные) означает поиск кнопок на линии с наклоном 45 градусов по отношению к выбранной кнопке.
 
Directions назначает все направления (влево/вправо/вверх/вниз) или только вправо/влево, вверх/вниз.

Use selected state – поиск кнопок, для которых мы используем выбранное состояние, не нормальное.
 
Подсветка текущей звуковой дорожки, субтитров или эпизода фильма
Состояние кнопки Current предназначено для подсвечивания в меню воспроизводимого аудио, субтитров или эпизода фильма. Т.е. к кнопке мы переместились, но ещё не нажали на неё. Чтобы включить его отображение в окне дизайнера Джава меню, нажмите на соответствующий кружок в панели инструментов главного меню.
 
Изображение, установленное для отображения этого состояния кнопки, появится только тогда, когда выполнены условия для свойств Highlight. В окне свойств это группа Highlight if, которая указывает, к чему относится подсветка – звуку, субтитрам или эпизоду фильма. Подсветка эпизодов относится только к всплывающему меню.
 
… in group (… in Movie): … в группе (… в фильме) – к какой группе относится подсветка: аудио, субтитры или эпизоды фильма.
 
… is equal to: … равно – номер звуковой дорожки, субтитров или эпизода фильма. Звуковые дорожки пронумерованы от 1. Номер «0» могут иметь только субтитры, и это будет означать, что они выключены. Эпизоды фильма пронумерованы от 1: эпизод 1 – начало фильма. Можно указать несколько значений, разделённых запятыми.
 
Например, у нас есть фильм «Movie 1» в группе «Movie Group 1». Для кнопки, которая будет активировать аудио дорожку номер 1, мы указываем соответствующее изображение для состояния «Current» и заполняем значения свойств раздела Highlight:
 
* Highlight if – Звук.
* … in group – Movie Group 1.
* … is equal to – 1.
 
В результате, когда входим в это меню, если фильм будет воспроизводиться с аудио дорожкой 1, на экране появится изображение, указанное для состояния Current.
 
Анимация
Анимация будет воспроизводиться при нажатии на кнопку или при входе в меню. Можно полностью анимировать меню или анимировать только группу объектов. Обращаем внимание, что Fade-out и Slide-out не закрывают всплывающее меню, нужно вызывать [Close popup] вручную.
 
Анимация бывает двух типов: Fade – появление и исчезновение и Slide – выдвижение. Чтобы выбрать один из типов, в окне свойств объекта (меню) в поле Enter animation нажимаем кнопку со стрелкой. В открывшемся окне выбираем тип и задаём свойства.
 
Для типа Fade:
What animate – решаем, что анимируем: либо меню полностью, либо только одну группу объектов, либо выбранное состояние кнопки (анимация нажатия клавиш).
Number of frames – длительность анимации в кадрах. Рекомендуется удвоить продолжительность анимации, которая начинается одновременно с началом видео, вместо обычной продолжительности переходов меню.
Fade direction – направление анимации: in – fade in (появление), out – fade out (исчезновение).
 
Для типа Slide:
What animate и Number of frames аналогичны описанным выше.
From/To значения (left/top) – относительные координаты начала и конца движения. Координаты (0, 0) означают текущую позицию. Отрицательные числа означают позицию слева и сверху по отношению к текущей позиции. Положительные – справа и снизу. Например, From значение = (0, –300), To значение = (0, 0) означает выдвижение сверху, начиная с точки, на 300 пикселей выше текущего положения. Координаты могут быть как положительными (ниже или правее текущей позиции), так и отрицательными (выше или левее текущей позиции).
 
Clipping area – область ограничения, внутри которой будет работать анимация. По умолчанию (0, 0), (1080,1920) означает, что ограничения нет.
Include Selected and Current states – позволяет использовать выбранные и текущие состояния для анимации. Если флажок не установлен, то выбранное и текущее состояние не будут отображаться во время анимации. Это работает, только если группа анимации содержит кнопки.
 
Если установить флажок Advanced, то появятся дополнительные параметры анимации:
 
Если установить флажок Advanced, то появятся дополнительные параметры анимацииЗдесь можно добавить несколько анимаций для одного действия. Настраиваем соответствующую анимацию в верхней части окна и нажимаем кнопку Add (Добавить). Параллельная анимация должна содержать неперекрывающиеся группы. Порядок анимации может быть параллельным или последовательным. Если создаём последовательную анимации, то нужно указать, что это будет – появление или исчезновение объектов.
 
Если нужно удалить дополнительную анимацию, просто снимите флажок Advanced.
 
Если хотите использовать fade и slide вместе, используйте такую же группу с двумя различными эффектами. Например, если вы хотите сделать появление 3-х объектов из 5-ти выезжающих, то выделите их в другую группу и задайте: выезд 2-х объектов (группа 1) параллельно с появлением 3-х объектов (группа 2) параллельно с выездом этих 3-х объектов (группа 2).
 
Также можно сочетать выезд с появлением. Если хотите использовать появление с эффектом выезда, то нужно воспользоваться параллельной анимацией, в которой первым идёт появление (fade in), затем выезд (slide). Например, такой код возможен в этом случае в окне дополнительных параметров (задаём параметры в верхней части окна анимации, затем жмём кнопку Add):
 
Fade in: Group2 [12]
Slide (0, 240) — (0, 0) [0, 1920] — [0, 1080]: Group2
Fade in: Group1 [12]
Точно также можно использовать выезд совместно с fade out.
 
Описанные типы анимации используются как кнопками, так и меню. Любое действие кнопок может сопровождаться анимацией, которая воспроизводится перед выполнением действия. Анимация для меню – сопровождение входа в меню.
 
Анимированные изображения и состояния кнопок
Вместо PNG-изображений можно использовать покадровую анимацию. Для этого потребуется:
* Создание анимации в нескольких файлах: один файл = один кадр. Помещаем их в одну папку.
* Создаём текстовый файл: первая строка – это количество кадров в изображении (скорость анимации), другие строки – список PNG-файлов.
* Сохраняем текстовый файл с расширением *.anim в той же папке.
 
Например, создаём файл Logo.anim, который содержит:

4
C:\Demo\anim\new-1.png
C:\Demo\anim\new-2.png
C:\Demo\anim\new-3.png
C:\Demo\anim\new-4.png
C:\Demo\anim\new-5.png
C:\Demo\anim\new-6.png
C:\Demo\anim\new-7.png
C:\Demo\anim\new-8.png
 
Cохраняем его в C:\Demo\anim\Logo.anim. Число 4 в начале файла означает, что каждое изображение в списке будет показываться в течение 4 кадров.
 

Импорт файлов PSD

 
Импорт файлов PSD, созданных с помощью Adobe Photoshop
Чтобы при конструировании меню на Джава использовать простые файлы Photoshop, нужно правильно задавать названия слоёв.
Для создания PSD файла рекомендуется использование слоёв с объединёнными эффектами.
Чтобы указать, что данный слой является кнопкой, надо использовать следующий формат:
 
btn: [имя кнопки]: N – нормальное состояние;
btn: [имя кнопки]: S – выбранное состояние;
btn: [имя кнопки]: C – текущее состояние.
 
Если будет использовано любое другое имя, слой будет импортирован в качестве простого объекта (статическое изображение). Все PSD файлы должны быть 32-битными (8 бит на слой).

Для импорта PSD файла нужно воспользоваться соответствующей командой меню программы.
 
Импорт файлов PSD, подготовленных для Rovi (Sonic Solutions) Scenarist Designer PS
Имена кнопок и структура файлов должны соответствовать описанию Scenarist Designer PS.
Можно импортировать только одно меню из одного файла. Если есть несколько меню в одном файле, то все они будут импортированы и представлены на экране в виде одного меню. Для правильного импорта такого файла его нужно разделить на несколько файлов: каждое меню должно быть в соответствующем файле. Все PSD файлы так же должны быть 32-битными (8 бит на слой).

Процедура импорта аналогична процедуре импорта обычных файлов.
 

Меню выбора сцен

 
Как создать сцены (эпизоды)
Чтобы открыть окно создания сцен, дважды кликаем по соответствующему фильму в дереве проекта. Или же в строке Scenes окна свойств кликаем по кнопке со стрелкой. Если фильм ещё не был проиндексирован, начнётся процесс индексации, в зависимости от того, какая цель выбрана в меню выбора цели (кнопка 4 на панели инструментов) – Compile, Export.
 
Как создать сцены (эпизоды)

 

Открывшееся окно сцен содержит панель эпизодов (плеймарков) внизу, список глав справа вверху и панель инструментов с кнопками для навигации и добавления/удаления плеймарков.
 
На панели эпизодов сцены (плеймарки), которые участвуют в создании меню сцен, отображаются зелёным ромбиком. Выбранная сцена, участвующая в создании меню сцен помечается жёлтым ромбиком. Неиспользуемые сцены помечаются синим. Выбранный эпизод, включённый в создание меню сцен отмечается фиолетовым.
 
Можно включить или исключить главу из создания меню сцен, используя список глав. Для этого нужно перед соответствующей главой убрать или поставить флажок. По правой кнопке мыши для главы открывается окно скрипта, который можно запустить на выполнение по достижении указанной главы.
 
Выше списка глав есть кнопка импорта/экспорта глав. Можно импортировать сцены, если они соответствуют форматам Sonic Scenarist и Grass Valley Edius. Экспортировать список сцен можно в формате Sonic Scenarist (CSV):
* NDF (NonDropFrame) – 23976 и 29,97 без пропуска кадров;
* DF (DropFrame) – все остальные частоты кадров с пропуском.
 
Кнопки управления на панели инструментов (все снабжены всплывающими подсказками):
 
1. Группа кнопок навигации по видео файлу. Можно также перемещаться по видео с помощью ползунка, который находится под окном предварительного просмотра.
 
2. Добавление эпизода в текущей позиции.
3. Перемещение текущей сцены (плеймарка) на новую позицию.
4. Удаление выбранной сцены.
5. Удаление всех эпизодов (плеймарков).
 
6. Сохранение изображения в окне предварительного просмотра. Если хотите использовать автоматическую генерацию эпизодов меню, то сохраните изображения в подпапку «Scenes\Bitmaps», находящуюся в папке проекта.
 
7. Автоматическое создание (генерация) эпизодов. В открывшемся окне:
Number of playmarks – требуемое количество сцен.
From… To… (С … По…) – интервал времени, в котором будут размещены эпизоды (можно, например, исключить из этого диапазона начальные и конечные титры).
 
Method (Метод):
1) Minimal keyframe (black screen) – эпизоды создаются в сценах с минимальной информацией (чёрный экран).
2) Maximum difference… – эпизоды создаются сценах с быстро меняющейся картинкой.
Scan distance, % – объём в процентах упорядоченных эпизодов, которые мы предполагаем организованными одинаково.
Include in chapters menu – включать эпизоды в меню глав.
Add playmark at the end – добавить плеймарк в последний ключевой кадр.

8. Создание меню выбора сцен.

9. Удаление конец видео файла из выбранной (!) сцены.
10. Обрезка аудио по длине фильма.
 
Создание меню выбора сцен
Нажимаем на упомянутую выше кнопку 8 и открывается окно создания меню сцен (эпизодов):

 

Создание меню выбора сцен

 

Generate bitmaps – флажок автоматической генерации файлов изображений для эпизодов. Файлы сохраняются в подпапках для точечных рисунков в «Output Folder» (смотрите ниже).
 
Offset from playmark – смещение от плеймарка в секундах. Если плеймарк был помещён на чёрный экран, то нулевое значение в этом поле приведёт к созданию эпизода с чёрным прямоугольником. Чтобы избежать этого, можно указать расстояние в секундах, которая программа будет пропускать, прежде чем сделать скриншот для сцены.
 
Align to keyframe – получить изображение от ближайшего ключевого кадра.
 
Output folder – выбираем папку вывода, в которой будут сохранены изображения всех эпизодов (BMP-файлы) и где будет создаваться изображения меню.

Preset – Выбираем предустановленную тему оформления эпизодов.
 
Generate chapter images – флажок генерирования файлов в формате PNG для меню, содержащих изображения эпизодов. Если автоматическая генерация изображений эпизодов не нужна, снимите флажок.
 
Настройки PNG позволяют обрезать черные полосы в верхней и нижней части изображения и установить отображаемый номер эпизода.
 
Generate menus – флажок генерирования меню эпизодов.
Здесь можно выбрать родительское меню и кнопку, которая вызовет меню выбора сцен.
 
Row / Scenes in row – количество строк в меню выбора сцен и количество эпизодов в каждом ряду.
Copy parent menu graphics – копирование графики из родительского меню в меню выбора сцен.
Loop menu – переход к первому экрану с последнего и наоборот.
Create anim group – создание группы анимации и добавление к ней сцен.
Autoselect chapter – автоматический выбор активного эпизода во всплывающем меню выбора сцен. Cоздаётся переключатель для выбора активной сцены при входе в меню.
Close popup – закрытие всплывающего меню при активации сцены. Это требуется, если задана анимация fade out или slide out в поле «Play movie anim».
Enter anim – входная анимация меню выбора сцен.
Return anim – анимация, вызываемая при выходе из меню выбора сцен.
Play movie anim – анимация, вызываемая при нажатии на ENTER на выбранной сцене (переходе к соответствующей главе).
 
Под окном меню находятся кнопки генерации превью (чёрный экран или рисунок) для эпизода и генерации изображений для эпизодов.
 
Нажатие на кнопку Next открывает следующее окно, в котором можно упорядочить группу изображений эпизодов, а также отцентрировать её по горизонтали и вертикали.
 

Компиляция/экспорт проекта

 
Компиляция (только версия MX)
Для компиляции проекта с помощью встроенного мультиплексора выбираем соответствующую цель в выпадающем списке целей на панели инструментов главного окна. Затем нажимаем кнопку, которая появляется на панели инструментов (вместо кнопки экспорта).
 
Процесс компиляции проекта с меню на Джава состоит из следующих шагов:
* Анализ всех аудио и видео треков, а также компиляция субтитров;
* Компиляция меню проекта;
* Мультиплексирование структуры BD диска.
 
Если во время анализа треков всплывает ошибка чтения MES файла, то попробуйте удалить все ves, mui, xui, mes, mom файлы из папки проекта, где находятся звук и видео. Если во время импорта субтитров появляется сообщение об ошибке, или если приложение не обновляет изменения в субтитрах, введите конкретные настройки субтитров и нажмите OK.
 
Экспорт в Rovi (Sonic Solutions) Scenarist BD
Чтобы экспортировать проект в Scenarist выберите соответствующую цель в выпадающем списке целей, а затем нажмите кнопку Экспорт на панели инструментов.
 
Мультиплексирование проекта с помощью tsMuxeR
Чтобы использовать tsMuxeR необходимо указать путь к нему и к ffprobe в настройках программы. После этого tsMuxeR появится в списке целей. Выберите его в списке целей и затем нажмите кнопку «Mux by tsMuxeR», которая появляется на панели инструментов.
 
Рекомпиляция только JAR
Для компиляции только файла JAR меню нужно нажать соответствующую кнопку. Это действие также перекомпилирует файл Sound.bdmv (созданный, если в меню используются звуки).
 
Пользуйтесь этой функцией, если не изменялась структура самого диска. Например, если вы изменили только кнопки или изображения в меню.
 
После перекомпиляции скопируйте новый JAR из папки проекта в папку вывода диска, а именно в подпапки BDMV\JAR и BDMV\Backup\JAR. Sound.bdmv должен быть скопирован в подпапку BDMV\AUXDATA.
 
Моделирование меню
Чтобы без полной компиляции (мультиплексирования) проекта увидеть, как будет выглядеть меню, можно использовать моделирование (симуляцию) меню. Когда вы нажмёте на кнопку PLAY в окне моделирования, то увидите чёрный экран, поскольку видео не отображается. Для вызова всплывающего меню необходимо нажать клавишу F5.
 

Субтитры

 
Если в окне свойств фильма дважды кликнуть на строке Sub 1, то появится окно Subtitles (Субтитры).

File – поле, в котором можно выбрать файл субтитров. Поддерживаются следующие форматы:
 
* SRT (рекомендуется использование UTF8 строго с BOM).
* Файлы BDN.xml + PNG.
* PES-файлы субтитров (требуется MUI-файл).
 
Language –язык субтитров.
Font – шрифт текста (только для SRT).
Offset from bottom – положение субтитров по отношению к нижней части экрана (только для SRT).
Correct timing for 23,976 корректирует тайминг субтитров для частоты кадров 23.976 (сжатие на 0.999).
 
В процессе компиляции диска с меню на Джава формируется PES-файл. Если вы изменили файлы субтитров или изменили фильм, нужно открыть соответствующую дорожку субтитров и затем нажать на кнопку OK.
 
Во время импорта субтитров из SRT-файла создаётся папка с именем этих субтитров. В этой папке находятся:
 
* Подпапка Png, содержащая файлы bdn.xml и PNG с субтитрами.
* Копия SRT-файла с исправленными субтитрами (минимальная длина субтитров, минимальное расстояние между субтитрами). Это конечный файл, который будет импортирован. Рекомендуем сравнить его с исходным файлом (например, с помощью WinMerge).
* File’s_name_SRT.csv – CSV-файл с начальным и конечным значениями PTS (метки времени) и количество символов в субтитрах. Рекомендуем: мин 3350 PTS для буквы, мин длина субтитров – 82350 PTS.
 
При импорте субтитров из файла BDN.xml в папке с субтитрами создаётся файл с именем File’s_name_BDN_corrected.xml. Он содержит исправленные субтитры (минимальная длина субтитров, минимальное расстояние между субтитрами). Аналогично предыдущему это конечный файл.
 
Форсированные субтитры
Если нужно использовать форсированные (вынужденные) субтитры, то при переключении дорожек нужно использовать SWITCH.
 
Например, у нас есть нормальные субтитры (1 – английские, 2 – русские, 3 – немецкие) и форсированные (4 – английские, 5 – русские). Когда мы переходим к звуковой дорожке на английском языке:
 
* Если субтитры выключены (0) или форсированные русские (5), переключаем их на форсированные английские и переключаем звуковую дорожку;
* В других случаях (1-4) просто переключаем звуковую дорожку.

Точно так же конфигурируем SWITCH для российских и немецких дорожек и выключенных субтитров.