Создание профессионального меню Blu-ray дискаСоздание меню диска Blu-ray осуществляется двумя различными способами: с помощью HDMV (High Definition Movie), немного похожего на авторинг DVD с IG меню (хотя многие из ограничений DVD сняты), или BD-J (Blu-Ray Disc-Java), который разработан с использованием инструментов, производящих скомпилированные Java Xlets и требует программирования на Java.
Blu-Ray диски могут использовать либо HDMV, либо BD-J, либо их комбинации (каждый заголовок на диске должен использовать либо HDMV, либо BD-J).
Чем они отличаются с точки зрения поддерживаемой графики?
 
Особенности HDMV:
• 8-битная графика ARGB PNG.
• Нет перекрытия кнопок.
• Кнопки имеют три состояниями, которые могут быть анимированы (несколькими кадрами).
Особенности BD-J:
• Поддержка True Colour в формате PNG с полной поддержкой альфа-канала.
• Графические области могут перекрываться.
• Кнопки могут быть запрограммированы произвольно.
• 45.5MБ буфер для всех графических изображений на экране (и некоторых звуков).
 
На видео показано, что в принципе должно было получиться при создании java-меню BD диска.

 

Java-меню для Blu-ray диска

 

Говоря неформализованным языком, благодаря java-программированию мы имеем несравнимо большие возможности для увеличения интерактивности и эстетической притягательности меню. В меню теперь доступна практически любая анимация. Появилось всплывающее меню, которое позволяет менять настройки, активные главы, не прерывая просмотра. Есть возможность проставить закладки (букмарки) на таймлайне, с тем чтобы запомнить выбранные пользователем сцены (фрагменты) фильма. Эта опция, однако, не часто используется, как и подключение к интернет из меню с целью нахождения дополнительного контента. Ещё реже, наверное, захочется поиграть на блюрей-плеере в какую-нибудь игру, если устали от просмотра (хотя есть и такая возможность).
 
Многие из описанных нами видеоредакторов имеют возможность создания дисков с обычным меню с интерактивной графикой (IG) – Freemake Video Converter, Corel VideoStudio, Pinnacle studio (читать подробнее) и др. А если возникло желание сделать настоящее java-меню? Распространённые программы авторинга BD (Adobe Encore, Scenarist BD, DoStudio) довольно дорогие.
 
Для домашнего авторинга больше подходит приложение Blu-Disc Studio. Этот проект относительно молод, но в нём реализованы практически все необходимые возможности для создание меню диска Blu-ray, соответствующего спецификации BD-J, и для компиляции затем меню и фильма в полноценную папку BDMV. Т.е. далее можно эту папку посмотреть в программном плеере как реальный Blu-ray фильм, либо записать диск для просмотра на «железном» плеере. На данный момент это единственная программа, которая позволит вам при отсутствии специальных навыков создать готовый Blu-ray диск с java-меню в считанные дни, эффективно использовав 30-дневный триал.
 
Особенности программы:
• дизайн основных и всплывающих меню;
• анимация меню;
• разнообразные переходы между клипами (фильмами);
• подсветка выбранной дорожки аудио, субтитров или эпизода;
• автоматическое создание меню эпизодов (сцен);
• бесшовные меню;
• создание структуры BD диска;
• экспорт в Rovi BD Scenarist.
 

Подготовка к созданию меню диска Blu-ray

 
Перед тем, как приступить к «конструированию» меню в приложении Blu-Disc Studio, нужно приготовить для этого все материалы (ассеты). Сюда входят:
• видео для использования в качестве заставки в меню и собственно фильм (как уже указывалось в мануале программы, подходят только элементарные видеопотоки – m2v, vc1, avc, контейнеры не годятся);
• аудио для аналогичных целей (ac3, dts, wav и т.п.);
• изображения всех элементов меню;
• субтитры при необходимости.
 
Внешний вид меню можно спроектировать в Adobe Photoshop, а затем импортировать его в программу. Надо, чтобы при этом каждый элемент меню находился в отдельном слое, а изображения для кнопок были поименованы в соответствии с требованиями. Но мы рассмотрим сегодня «ручной» вариант создания, чтобы не использовать дополнительные программы. Положим, наше меню должно иметь следующий исходный вид:
 
Подготовка к созданию меню
 
Пожелаем, чтобы при запуске диска или при вызове всплывающего меню все элементы до белой полосы включительно имели анимацию выезда слева направо. При нажатии на кнопку Эпизоды будут «выезжать» снапшоты глав с полосой навигации, а кнопка Установки откроет меню настроек аудио и субтитров:
 
меню настроек аудио и субтитров
 

Из этого представления создаём библиотеку уникальных рисунков в формате png с сохранением прозрачности. На рисунке приведены и названия некоторых элементов. Название изображения для кнопки в нормальном состоянии, например, имеет постфикс N, в выбранном – S.
 
названия некоторых элементов
 
Можно все изображения поместить в отдельную папку (например, PNG) в папке проекта – для унификации.
 

Создание проекта

 
1 шаг — Проект. Вначале нужно создать новый проект, нажав на кнопку New project и указав в мастере создания название, папку, видео и аудио потоки и т.д. Отметьте флажок No main menu (без главного меню) – будем же вручную всё делать. Когда проект создан, убедитесь, что на панели инструментов нажаты кнопки Show Normal и Show Selected – нам надо будет назначать картинки для этих состояний кнопок меню. А кнопка Move whole button должна быть пока отжатой – картинки состояний нам пока надо перемещать в меню по отдельности.
 
2 шаг — Главы. Нажимаем кнопку New Movie в дереве проекта. Называем новый фильм Movie и в окне свойств в разделе Streams указываем путь к фильму, который будем смотреть (файл .m2v, vc1, .264). Сразу определимся с главами (они же эпизоды, чаптеры, плеймарки) – дважды кликаем по надписи Scenes в этом же окне свойств. В открывшемся окне двигаем слайдер под окном предварительного просмотра на нужную позицию и нажимаем кнопку с плюсом (Add playmark).
 
Глава №2 тут же появится в списке Chapters list. Делаем так столько раз, сколько нужно глав. В демо-проекте их будет 8. Не будем автоматизировать дальнейший процесс, только сгенерируем автоматически снапшоты глав. Кликаем по кнопке Generate Bitmaps, в открывшемся окне оставляем только соответствующий флажок, указываем папку для сохранения и нажимаем внизу окна кнопку Generate Bitmaps. Всё, снапшоты глав сохранены.
 
Снапшоты глав3 шаг – Снапшоты глав. Если вы используете флажок Generate chapter images, то снапшоты сохранятся в нужном формате PNG, но с использованием пресетов, т.е. их внешний вид будет определяться программой, а не вашей волей. Мы же немного доработаем полученные точечные рисунки снапшотов – для нормального состояния слегка затемним их, а для состояния Selected – осветлим и окружим зелёной рамкой. Вот как это будет выглядеть (показаны 2 состояния одного снапшота, а всего будет 16 рисунков):
 
4 шаг – Основное входное меню. Теперь создаём основное меню для входа, нажимаем на кнопку New Menu и называем его Main Menu In 1. Определяем его в качестве First Play. Заполняем объектами – рисунками, перетаскивая их из окна Library или же из папки с рисунками. Получаем следующий список объектов на вкладке в дереве проекта:
 
Основное входное меню
 
Для всех объектов задаём местонахождение их рисунков – в поле Images окна свойств.
 
задаём входную анимацию для двух групп анимацииВ свойствах меню задаём входную анимацию для двух групп анимации – сначала «выедет» жёлтый фон, затем – остальные элементы (см. рисунок).
 
Метод прорисовки – Normal, Current, Selected. Это меню у нас для входной анимации, из него переходим по авто-действию в меню Main Menu 1 с кнопками Просмотр, Эпизоды, Установки, которое и отображается на экране. Создадим его.
 
5 шаг – Cоздание Main Menu 1. Кликнем правой кнопкой мыши по Main Menu In1 в дереве проекта и выберем Copy Tree Item. Указываем название меню. Для объектов Play, Scenes и Setup ставим флажки кнопок и назначаем картинки для состояния Selected. Метод прорисовки – тот же, что и для входного меню. Теперь для меню Main Menu In1 задаём Auto action: Jump MENU > Main Menu 1 > Skip animation > Default.
 
Для всех кнопок указываем действия по нажатию на кнопки со стрелками на пульте ДУ – это будут перемещения между кнопками по циклу ПРОСМОТР > ЭПИЗОДЫ > УСТАНОВКИ > ПРОСМОТР и т.д. Задаём их в окне свойств в полях Press ↓, Press ↑: Select BUTTON >… .
Уже можно проверить работоспособность меню, нажав на кнопку F9 (test menu).
 
6 шаг – Нажатие ENTER для кнопок. Действия при нажатии на кнопку ENTER:
• для кнопки Play (ПРОСМОТР) – запуск фильма с начала;
• для кнопки Scenes (ЭПИЗОДЫ) – переход в меню выбора эпизода;
• для кнопки Setup (УСТАНОВКИ) – переход в меню настроек.
 
ПРОСМОТР. Создадим меню-пустышку Main Menu Out копированием Main Menu In1. В нём зададим анимацию «уезжания» элементов меню и авто-действие переход к воспроизведению 1-й главы фильма Play MOVIE > Movie > Chapter 01. Теперь в кнопке Play указываем авто-действием переход к Main Menu Out.
 
ЭПИЗОДЫ. Создадим меню эпизодов согласно нашему представлению о нём – с надписью Эпизоды и четырьмя снапшотами в нижней части. Назовём его Menu Scenes 1. Снапшоты глав в этом меню сделаем кнопками. Назначим снапшотам рисунки глав 1-4. Не забываем указывать изображения и для состояния Selected. Скопируем его в Menu Scenes 2 и заменим снапшоты на рисунки, соответствующие главам 5-8:
 
01010101.ru-07-Scenes
 
Меню эпизодов готовы. Для анимации перехода из основного меню в меню эпизодов создадим пустышки Scenes Pre и Main Scenes 11, в первом из них элементы уедут влево не до конца, второе – развернёт подобие меню эпизодов (с просто снапшотами глав вместо кнопок) и по авто-действию перейдёт к меню Main Scenes 1:
 
Переходим к меню Main Scenes 1
 
Анимация в Setup Pre – исчезновение кнопок в течение 4-х кадров. Анимация в Manu Scenes 11 – выезжание сначала надписи и фонов (-460, 0), затем снапшотов (-1600, 0). Теперь в поле Press ENTER кнопки Scenes меню Main Menu 1 указываем авто-действие: Jump MENU > Scenes Pre > Default. Ниже в поле anim enter указываем анимацию уезжания кнопок (0, -266) за 10 кадров.
Кнопки 1-4 и 5-8 переводят нас из меню Main Scenes 1 в Main Scenes 2 и наоборот в зависимости от того, в каком из этих меню находимся в данный момент.
 
УСТАНОВКИ. Меню установок позволит выбрать дорожки аудио и включить/выключить субтитры. Назовём его Main Setup, а для анимации перехода в него из Main Menu 1 используем пустышку Setup Pre:
 
используем пустышку Setup PreЗададим авто-действия для всех кнопок выбора аудио и субтитров. Cобытие Press left любой кнопки обеспечивает выход из меню. Для этогоуходим на меню-пустышку Main Menu 3 (такое же, как Setup Pre) с анимацией исчезновения элементов меню, из него в такую же пустышку Main Menu 4 с анимацией уезжания элементов влево, а уже из него авто-действием в Main Menu 1. Таким образом анимируется вход в меню установок и выход из него в основное меню.
 
Press ENTER для каждой из кнопок устанавливает аудио или субтитры: Set AUDIO > Movie > Audio 1, например. Или Set SUBTITLE > Movie > Off.
 
Чтобы убедиться, что всё работает правильно, запускаем симуляцию меню (полезно после каждого шага). Теперь, когда созданы все меню и задана анимация переходов, можно приступить к созданию всплывающего меню, которое вызывается кнопкой POPUP на пульте ДУ.
 
7 шаг – Всплывающие меню. Самый простой путь создания – в окне дерева проекта кликаем по меню правой кнопкой мыши и выбираем команду Clone all between main / popup. Все меню скопируются в раздел Popup дерева как всплывающие. Нам остаётся внести некоторые коррективы:
 
• Во всех Popup для кнопки Play используем изображение МЕНЮ ДИСКА (а не Просмотр).
• В Main Menu 1 (здесь и далее в этом параграфе речь идёт только о всплывающих меню) событие Press Left любой кнопки закрывает Popup через анимационную пустышку Main Menu Out 2.
• Событие Press ENTER кнопки Play меню Main Menu 1 через Main Menu Out 1 переводит нас в основное меню Main Menu In1, в котором уже указано авто-действие – переход к Main Menu 1.
 
Всплывающие меню эпизодов и установок работают аналогично основным. У всех меню установим анимацию исчезновения при закрытии в течение 5 кадров. Для меню с кнопками укажем параметр Autoclose=5 – если никакие кнопки на пульте ДУ не будут нажаты за это время, меню автоматически закроется.

 

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

 
Всё готово и проект можно компилировать, т.е. создать папки BDMV и CERTIFICATE. Для этого сначала выбираем, какой муксер будем использовать – внутренний или внешний. Для внешнего надо в окне Options указать путь к tsMuxeR.exe и к ffprobe.exe. Затем нажимаем в строке меню Project → Compile, в открывшемся окне указываем папку вывода, метку диска, обязательно оставляем флажок Seamless menu connection. Можно также определить информацию, выводимую при загрузке диска – это в разделе Loading. Нажимаем ОК и ждём окончания компиляции. Теперь с помощью BD-плеера (например, PowerDVD 14) смотрим созданный нами фильм с меню.
 

Заключение
Несколько слов о том, как подготовить файлы элементарных потоков видео и аудио при создании меню диска Blu-ray. Поскольку речь идёт о Blu-ray диске, то и файлы исходного видео будут, скорее всего, в контейнере m2ts. Вычленить отдельно m2v и отдельно AC3 можно с помощью того же tsMuxeR. Если Blu-Disc Studio не примет полученный таким образом видеопоток (это относится, кстати, и к BD Scenarist), выдав ошибку типа “Invalid video format”, обработайте файл с помощью программы AVC Corrector и тогда проблема будет устранена.
 
Возникает же она из-за того, что когда видеофайлы AVCHD видеокамер записываются на ПК как m2ts, временные коды (дата / время, когда была сделана запись) передаются отдельно от видео- и аудио данных и не отображаются в файле AVC (.264). Корректор извлекает временные коды из m2ts файлов и накладывает их на видео .264, т.е. на используемый в дальнейшем видеопоток. Не забудьте после демуксинга убрать из расширения видеофайла букву h, должно быть только .264.
Успехов в творчестве!

Автор: Алексей Касьянов.