Обсуждение авторинга ведём в теме Работаем и пересобираем в Scenarist BD и UHD
Вступление.
В нашей чудесной стране самым популярным инструментом реавторинга Blu-ray дисков является весьма дорогостоящий отраслевой стандарт Sonic Scenarist BD. Предназначен он для профессионалов и простому пользователю нелегко в нём разобраться. В связи с этим появилось неплохое руководство С. Шувалова. Но беда в том что уважаемый Сергей, по его же признанию, не занимался авторингом DVD в Scenarist`e и ему пришлось осваивать всё с нуля, базируясь на референсном проекте Sonic. Тот в свою очередь сам по себе страдает излишествами, да и создавался ещё во времена версии 4.0, когда плееры были откровенно слабыми. В результате проект, который предлагает Сергей, мягко говоря, раздут многочисленными ненужными командами и вызывает недоумение.
Настоящим имею предложить более осмысленные способы авторинга, довольствующиеся необходимым минимумом. Своего рода, дзен. И попытаюсь объяснить неопытным пользователям что есть что.
Сначала разберёмся с BD-структурой как таковой и её разновидностями, нам это пригодится при работе с программами.
Если что и называть матрёшкой, так это BD-структуру. В основе её (как и в сонове DVD-структуры) лежат элементарные потоки видео, аудио, закодированная графика и текст (файлы *.pes, *.ies). Всё это мультиплексируется в клипы Clip (*.m2ts) и является "фактическим" (actual) содержимым диска, они содержатся в папке STREAM, а информация о содержании клипов в папке CLIPINF. В клипе могут быть и все три вида элементарных потоков или только один из них. Отдельным клипом может быть интерактивная графика (закодированная в потоковые данные, файлы *.ies), текстовые субтитры или презентационная графика. Клипы в свою очередь вкладываются в плейлисты Playlist. В отличии от DVD, плейлист является не термином некоторых программ авторинга, а неотъемлемой частью BD, даже если на диске всего один клип фильма он всё равно должен быть в плейлисте. В плейлисте могут находится несколько разных клипов, но с одинаковыми параметрами или один и тот же клип вложенный в него несколько раз, так же плейлист содержит информацию об интерактивной графике и маркерах глав, углах зрения, PiP и т.п. Плейлисты находятся в папке PLAYLIST. Плейлист закрепляется за Movie Object, фильм-обьектом. В одном Movie Object может быть несклолько плейлистов. Так же в нём содержится навигационная информация. Информация о Movie Object содержится в файле MovieObject.bdmv. Movie Object закреплён за заголовком Title. Заголовки объединяются в домен видеозаголовков. Кроме того существует ещё два домена содержащие по одному специализированному заголовку: First Play и Total Menu.
First Play - это стартовая точка диска, расширенная до видеозаголовка, здесь находятся обычно разные предупреждения, заставки, анонсы и т.п.
Total Menu - вместилище главного меню диска.
Оба эти заголовка могут ничего не содержать но сами они должны быть обязательно.
Информация о точках входа во все заголовки содержится в индексной таблице, это уже вершина BD сценария. Индексная таблица и информация о видеозаголовках содержится в файле index.bdmv.
Всё вышеперечисленное - базовый режим, Blu-ray Disc Movie или BDMV.
BDMV спецификация включает в себя два режима HDMV (High Definision Movie) и BD-J (Blu-ray Disc Java). HDMV в большинстве случаев именуют как ВDMV, что не совсем верно, но мы в дальнейшем будем пользоваться именно этим распространённым термином.
Давайте сравним BDMV и BD-J.
Описание BDMV-меню сродни PHP и соответственно работает так же как и Web-графика т.е. графический документ поделён на прямоугольные области (слайсы, а в BD-терминологии - кнопки) часть которых остаётся неизменной, а часть имеет многослойную структуру и каждый слой вызывается на верх, в зависимости от состояния кнопки,
http://s019.radikal.ru/i632/1210/c9/6a915bf5f306t.jpg
по этой причине кнопки не могут частично или полностью перекрывать друг-друга и при этом одновременно демонстрироваться на экране, так мы имеем три состояния кнопки: нормальное, выделенное, активное;
http://s51.radikal.ru/i131/1210/d2/816490d6d4a1t.jpg
и так же есть возможность накладывать кнопки друг на друга, но в состоянии переключателя, когда видна только одна из них.
Далее, поскольку мы имеем дело с Web, палитра так же весьма ограничена - 256 цветов (но всё равно это в 64 раза больше чем на DVD).
Размер виртуального буфера загрузки страницы BDMV небольшой - 16 Mb. Буфер загрузки текущей страницы субтитров - 4 Mb
Следует подчеркнуть, что интерактивная и презентационная (субтитры) графика не содержатся на диске в виде привычных нам графических форматов, она закодирована в потоковую информацию, по этому размер графических файлов которые подготавливают для кодирования не имеет отношения к размеру получаемых потоковых данных и на него не нужно ориентироваться.
BD-J или Blu-ray-Java это процедурная среда на основе языка Java, расширяющая возможности BD. Авторинг ведётся на основе BDMV, но с применением BD-Java-объектов, BDJO. В этом случае каждая кнопка, графический фон, а так же их анимация является Java-приложением, а навигационные команды задаются с помощью языка Java.
BD-J не имеет жёстких декларированных ограничений присущих BDMV - это полностью программируемая среда. В ней используется Xlet - специализированный Java-объект, помещённый в BDMV структуру, в виде BDJO и исполнительного файла *.jar, перед плеером стоит задача воспроизводить этот объект, выполнять поступающие из него команды с использованием контента в jar-файле. Java-объектов может быть один или несколько. (Java-объекты содержатся в папке BDJO, а Java-контент в папке JAR)
Применяемая в BD-J графика имеет полноцветную (true colors, millions of colors) палитру и, поскольку не является кнопками в привычном нам понимании, имеет возможность перекрывать друг друга и свободно передвигаться по экрану (В случае BD-J, графика тоже фактическое содержимое, находящееся в папке JAR).
http://s019.radikal.ru/i609/1210/6f/efdf24654d26t.jpg
Поддерживает всё это виртуальный буфер размером 45,5 Mb, т.е. почти в три раза больше чем BDMV. В новой версии BD-J буфер расширили до 61,5 Mb, и этот объём касается только части контента демонстрируемой в данный момент на экране.
Эти свойства Java открывает поистине безграничные возможности программирования BD: в меню можно увидеть настоящие акробатические номера в исполнении кнопок; в фильме, всплывающие во время паузы, линейки с указанием текущих времени и главы; вывернутое на изнанку поп-ап меню когда графика занимает весь экран, а фильм демонстрируется как PiP...
Но возможности BD-J пока осваиваются слабо - всему виной ограничения BD-плееров. И основной козырь - это использование функции BD-Live - выход в интернет на сайт фильма, где размещены допматериалы, игры и другой мультимедиа контент. (Ну понятно BD-Live в нашем деле не пригодится).
Впечатляет? Если нет, то вы просто не видели это в действии. Но, я думаю, вы представляете сколько это работы - просто запрограммировать всю эту феерию.
В Scenarist BD есть набор утилит для создания Java-приложений. Однако авторинг BD-J - трудоёмкий процесс и до появления такого инструмента как Blu-Disc Studio представлял собой задачу для целой команды дизайнеров и программистов по этому в Голливудских дисках огромное количество BDJO и сложная гибридная навигация, объединяющая Java и BDMV принципы авторинга.
Но мы при помощи некоторых нехитрых приёмов сможем обмануть границы HDMV спецификации и добиться весьма впечатляющих результатов.
Итак, если всяк сюда входящий не оставил надежду, начнём.
Для начала представим структуру нашего будущего BD.
При запуске диска проигрывается заставка с логотипом, за ним воспроизводится зацикленное главное меню, в нём имеется интерактивная графика с опциями просмотра фильма, выбора эпизодов, настройки дорожек аудио и субтитров и доступа к трём бонусам. Далее фильм, с интерактивной графикой, имеющей почти те же опции, но вместо просмотра будет опция возврата в меню, по окончании фильма снова воспроизводится главное меню. В клипе фильма будет содержаться две аудиодорожки и дорожка субтитров. В клипах бонусов будет по два аудиопотока и потоку субтитров.
Теперь нужно выяснить чем и из чего мы будем творить свой BD.
На поверку Sonic Scenarist это целый программный комплекс, но нам потребуется только часть его :
Scenarist BD - сборщик
MUI Generator - генератор виртуальных файлов, с которыми и работает Scenarist
Scenarist Designer PS - плагин к Adobe Photoshop для рендеринга интерактивной графики (устанавливается отдельно)
StillImageEncoder - кодировщик слайдшоу
Так же могут понадобиться:
Scenarist QC - плеер и отладчик (устанавливается отдельно)
SineVision - кодировщик (устанавливается отдельно)
ArcSoft TotalMedia Theatre - альтернативный плеер
IG Editor - альтернативный кодировщик графики
В качестве кодировщика видео и аудио может использоваться любой профессиональный видеоредактор\кодер, но, скорее всего, совместно с AVC Corrector`ом.
Почти весь этот пакет нормально ставится и работает на Windows XP, Vista, Se7en и 8; 32/64-битные версии. К тому же занимает всего 280Mb.
Исключение составляет необходимый Designer PS, его версия 2.61 работает с Photoshop CS2, CS3 и CS4; но 64-битный вариант не работает на 64-битных системах(!?). Производитель никак это не прокомментировал. Но не будем унывать есть простой выход - метод Сергея Шувалова по установке 32-битного дизайнера на 64-битную систему с установленым 32-битным Photoshop`ом любой версии начиная с CS2. К тому же на нашем форуме есть версия Designer PS 3.0 для Photoshop CC 2014 x64.
Установили? Пойдём дальше.
Подготовка материала.
Форматов видео указанных в спецификации BD всего три: VC-1, MPEG-2 и наиболее часто встречаемый H.264 или AVC.
VC-1 - видеокодек Microsoft, в связи с чем является официальным кодеком для игровой приставки Xbox 360. Единственное достоинство - поддержка работы с чересстрочной разверткой без преобразования в прогрессивную. Используется крайне редко, его рассматривать не будем.
MPEG-2 - заслуженный формат разработанный ещё для DVD. Бродкастовый стандарт, именно его систему мультиплексирования (m2ts) используют в BD. Имеет меньшую степень сжатия при том же качестве по сравнению с двумя своими соседями. Возможен рендеринг без перекодирования.
H.264 - очень популярный, перспективный формат обладает способностью кодировать лучшее качество при высокой степени сжатия.
Форматов аудио значительно больше:MPEG-2 - заслуженный формат разработанный ещё для DVD. Бродкастовый стандарт, именно его систему мультиплексирования (m2ts) используют в BD. Имеет меньшую степень сжатия при том же качестве по сравнению с двумя своими соседями. Возможен рендеринг без перекодирования.
H.264 - очень популярный, перспективный формат обладает способностью кодировать лучшее качество при высокой степени сжатия.
DTS®, DTS-HD High Resolution Audio, DTS-HD Master Audio
Dolby® Digital, Dolby Digital Plus, Dolby TrueHD
Linear PCM
48kHz, 96kHz, and 192kHz; 16 bits, 20 bits, 24 bits per sample; 2, 4, 6 or 8 channels
Систему разрешений и частоты кадров в BD спецификации можно увидеть в уже известной многим таблицеDolby® Digital, Dolby Digital Plus, Dolby TrueHD
Linear PCM
48kHz, 96kHz, and 192kHz; 16 bits, 20 bits, 24 bits per sample; 2, 4, 6 or 8 channels
http://i030.radikal.ru/0910/bd/8fed0fe53d6ft.jpg
Кое что об аудио в этой таблице
http://s019.radikal.ru/i601/1210/1d/a70911d2824dt.jpg
При использовании MPEG-2 проблем не возникает. А вот с H.264 начинаются непонятки. Даже при, казалось бы, полном соблюдении спецификации, выходные файлы некоторых видеоредакторов и кодировщиков не принимаются Scenarist`ом (и не только им), другие программы могут принять эти файлы но с учётом перекодировки. Вспоминая что TMPGEnc перекодирует AVC в MPEG, хочется спросить что же это за формат такой H.264? Он не только более совершенный но и в некоторых отношениях революционный. Оказывается, в нём нет таймкода! Вместо этого используется, так называемый, штамп времени, Time Stamp - в данном случае порядковый счёт кадров или сэмплов от некоей исходной точки. И вот, многие видеоредакторы по старой памяти (в DVD отсчёт времени фильма мог начинаться и с 1 часа и с 3-х) распологают эту точку иногда задолго до начала фильма, а в некоторых тяжёлых случаях счёт ведётся не покадрово, а посэмплово (?!...). Кроме того не декларированное описание прямых и возвратных кадров в GOP привело к тому что кодеры не всегда корректно их создают. Это и становится камнем преткновения, поскольку в BD это и недопустимо. Возможно что вы пользуетесь именно таким кодировщиком, но это легко исправить с помощью AVC Corrector`a.
Итак экспорт видеоматериала должен вестись без мультиплексора, в виде элементарных потоков. Желательно сразу наметить расположение глав - в сценаристе на глаз это делать затруднительно. Мало того если ваша монтажка может начинать GOP (ставить I-picture) в местах обозначенных маркерами, поставьте такие маркеры (к примеру Premiere Pro начинает GOP в местах установки Encore Marker).
Если вы воспользовались MPEG то пропускаете следующий абзац, если H.264 то... Меняем расширение файла на *.avc или *.264 это важно и для Scenarist`a и для корректора. Открываем AVC Corrector, далее File > Open > выбираем ваш файл, после нажимаем кнопку "Need Correct?", если видим окно с сообщением "Yes" закрываем это окно и нажимаем кнопку "Correct" и Corrector создаёт файл пригодный для авторинга, если в окошке написано "No" вздыхем спокойно и продолжаем читать.
Интерфейс Scenarist`a, создание и настройка проекта, импорт материала.
Запускаем Scenarist и видим его неброский интерфейс.
http://s58.radikal.ru/i160/1210/f3/2d1c694a2f06t.jpg
Интерфейс легко настраивается. Чтобы переместить окно тянем за его верхнюю часть, чтобы панель - тянем за её название и тащим в нужное окно, на интерфейсе появляются понятные значки нового расположения окна, наводим на значёк и отпускаем.
http://s019.radikal.ru/i626/1210/4f/a85a4cce7525t.jpg
Scenarist запоминает настроенный интерфейс автоматически. Что бы вернуть интерфейс по умолчанию нажимаем Window > Default Layout. Сразу скажу дефолтный интерфейс не самый удобный, его нужно сразу видоизменить таким образом чтобы панели группы Tree располагались рядом и были всегда открыты, панели группы Editor могут оставаться в одном окне поскольку открываются автоматически.
http://s015.radikal.ru/i332/1210/d2/e52d92e92002t.jpg
Если вы счастливый обладатель двух мониторов (Dual Monitor), то могу рекомендовать настройку интерфейса
http://s017.radikal.ru/i428/1305/e8/ceb6bed8b620t.jpg
В панелях группы Tree мы будем работать с древовидными раскрывающимися списками: для того чтобы раскрыть элемент нужно нажать на "+" слева от него (после раскрытия он станет "-"), или кликнуть на нём ПКМ > Expand. Для закрытия нажимаем "-" или ПКМ > Collapse
Теперь создадим проект, нажимаем File > New Solution, в появившемся окне пишем имя и указываем расположение, причём указывать нужно некую общую директорию или вообще диск на котором Scenarist сам создаст папку с указанным именем и в ней файл solution (с тем же именем).
После создания в окне SolutionExplorer появиться значок в виде листов и название solution, делаем щелчёк правой кнопкой мыши на этом значке и выбираем New Disc Project ... "Так Solution это не проект?!" скажите вы. Да в Scenarist BD внедрена система "решений", solutions, в одном решении может содержаться несколько проектов или вариантов проектов это очень удобно для сравнения различных вариантов одного диска. Итак нажали New Disc Project и видим окно Create New Project,
http://i056.radikal.ru/1210/08/f02ebafd1d67t.jpg
здесь множество позиций, но нас интересует лишь малая часть:
Disc Project Name - можете указать любое понятное вам название.
Version - оставляем без изменеий или напишите 01.00.0001 и в дальнейшем если нужны другие версии диска именуйте 2,3 и т.д.
Language Code - на BD вещь немаловажная, от этого зависит регистр языка меню и язык аудио и субтитровых дорожек присваиваемый по умолчанию. Нажимаем кнопку в этой графе и в гигантском алфавитном указателе находим rus.
Auto Create - автоматически создать рабочие папки:
Output Path - папка с готовым диском, автоматически создаётся внутри папки вашего проекта <disc name>/<solution folder>/<project named folder>/<version nuber>/Output/MUX/BDROM/DB (например, D:/New/New Project/01.00.0001/Output/MUX/BDROM/DB, содержимое папки Output будет создано после сборки диска).
Если вас не устраивает расположение, снимаете чекбокс и указываете желаемое расположение.
Encode Path - папка с автоматически закодированным материалом, в основном это кодированная интерактивная графика (*.ies) и субтитры (*.pes) менять её расположение нам нет нужды.
Нажимаем ОК. В панели появилось название вашего проекта и номер его версии. как видите решение, проект и версия проекта оформлены в виде "дерева" - такова идеология работы Scenarist BD.Version - оставляем без изменеий или напишите 01.00.0001 и в дальнейшем если нужны другие версии диска именуйте 2,3 и т.д.
Language Code - на BD вещь немаловажная, от этого зависит регистр языка меню и язык аудио и субтитровых дорожек присваиваемый по умолчанию. Нажимаем кнопку в этой графе и в гигантском алфавитном указателе находим rus.
Auto Create - автоматически создать рабочие папки:
Output Path - папка с готовым диском, автоматически создаётся внутри папки вашего проекта <disc name>/<solution folder>/<project named folder>/<version nuber>/Output/MUX/BDROM/DB (например, D:/New/New Project/01.00.0001/Output/MUX/BDROM/DB, содержимое папки Output будет создано после сборки диска).
Если вас не устраивает расположение, снимаете чекбокс и указываете желаемое расположение.
Encode Path - папка с автоматически закодированным материалом, в основном это кодированная интерактивная графика (*.ies) и субтитры (*.pes) менять её расположение нам нет нужды.
Теперь настроим проект.
Выполняем команду Tool > CPS > открывается окно CPS Editor. Его можно открыть и нажатием на значёк CPS.
http://s017.radikal.ru/i441/1210/32/db59bb5a06a1t.jpg
В окне нажимаем Setting и в открывшемся окне ставим переключатель в положение Unencrypted Setting, нажимаем ОК
http://s019.radikal.ru/i611/1210/cf/218a0db95825t.jpg
Затем снова в окне CPS Editor открываем вкладку CP/CMF и там ставим чекбоксы всех трёх регионов, нажимаем ОК.
http://s50.radikal.ru/i127/1210/5f/4dbc3b1b9e48t.jpg
Как вы догадались это установки защиты от копирования, вернее отключение защиты. Непосредственно защита - процесс непростой, но к сожалению или к счастью (нужное подчеркнуть) BD защита также легко вскрывается как и на DVD (мало того на BDMV просто нет возможностей для экспериментальных видов защиты какие применяют например Pixar, а усложнённая защита BD-J приводит к проблемам с воспроизведением).
Теперь займёмся импортом.
Сценарист работает, почему-то, не с самим видео и аудио, а с их виртуальными копиями, имеющими расширение *.ves, кроме того создаётся ещё два вспомогательных файла *.mui и *.xui (не надо зубоскалить)
Открываем папку с нашими файлами в проводнике Windows и просто перетаскиваем в окно DataTree или Data Editor видеопоток вашего фильма (ещё раз напомню для формата AVC расширение должно быть *.avc или *.264).
Появится окно Creating VES/MUI/XUI files, показывающее процесс генерации виртуальных файлов.
http://s50.radikal.ru/i127/1210/fc/3c9700a2fed6t.jpg
По окончании (а это достаточно длительный процесс) видео появится в DataTree. Сгенерированные файлы появятся и в проводнике рядом с реальным видео, они должны там находится не надо создавать для них отдельную папку на диске.
Теперь перетаскиваем аудио файл. Если у вас звук AC-3 то появится окно Select Coding Type где у вас спросят с чем имеем дело Dolby Digital (AC-3) или Dolby Lossless,
http://s004.radikal.ru/i208/1210/16/b75b3da8ddd1t.jpg
оставляем вариант по умолчанию (если у вас не лосслесс), жмём ОК и видим уже знакомое окно генерации.
Если звук WAV то окно Select Coding Type спросит для чего он: Button Sound или LPCM (WAV) у нас пока звук фильма по этому вибираем второй вариант и вновь дожидаемся окончания импорта.
http://s03.radikal.ru/i176/1210/63/e12993182b30t.jpg
Таким же образом поступаем с остальным аудио\видео.
При большом колличестве материала можно его упорядочить распределив по папкам. Щелкаем ПКМ по значку Data в DataTree и выбираем New > Folder - появится новая папка, кликнув по ней называем понятным вам именем. Рекомендую папки Film, Bonuses, Menu, IG (интерактивная графика), конечно вы вольны организовывать материал как вам удобно, но не советую видео и аудио помещать в разные папки - придётся выделять их одновременно, а в разных папках Scenarist не позволит это сделать.
Распределить по папкам уже импортированный материал можно простым перетаскиванием.
Если вы не любите много перетаскивать для вас второй вариант импорта.
Запускам MUI Generator, он находится по адресу C:/Program Files (Program Files (x86))/Sonic/Scenarist BD/Utilites/MUI Generator/MUIGenerator.exe (при установке должен появиться значёк на рабочем столе).
http://s001.radikal.ru/i196/1210/7b/6e3cad55ccd7t.jpg
Справа от графы ES File нажимаем кнопку с троеточием и указываем видеофайл, жмём Create File и смотрим на уже надоевшее окно дожидаясь окончания. повторяем процедуру для всех необходимых аудио\видео файлов. Если Generator в окне Open не увидит *.ac3 и *.wav файлов придётся их перетащить из проводника в графу ES File.
Как видите Generator не запрашивает у вас Coding Type, а по окончании выдаёт окно MUI Generation END
Далее закрываем MUI Generator и открываем Scenarist, щёлкаем ПКМ на папке Data и выбираем New > Actual Assets, как видите в таком варианте возможно увидеть только файлы *.ves, *.ies, *.pes, *,tes. Импортируем ваши *.ves файлы. Во время импорта Scenarist показывает окно Reading ES File.
http://s005.radikal.ru/i209/1210/4e/f8edf02a8456t.jpg
Желательно сразу дать компонентам понятные имена или переименовать их в Scenarist`e для чего нужно выделить элемент затем: щёлкнуть по его названию, или выполнить ПКМ > Rename, или нажать клавишу F2. Если создавать клипы и плейлисты не отдельно, а на основе компонентов у них будут те же имена.
Далее необходимая деталь: выделяем аудиофайл, идём в окно Property (если в нём не отобразились свойства файла - ПКМ на файле и выбираем Property) ищем графу Frame Rate и видим там 29,97 fps, частота кадров по умолчанию. У вас может быть друая, щёлкаем по этой графе и видим в ней справа кнопку с треугольником, нажимаем её и в выпадающем списке выбираем нужную частоту кадров. Также в Property можно совершать двойные щечки по названию нужной графы и параметры будут меняться с каждым щелчком или сделать двойной клик в правом конце графы чтобы появился весь имеющийся список параметров.
http://s019.radikal.ru/i631/1210/91/0370a7a4a57dt.jpg
Предварительная сборка.
Выделяем в окне DataTree видео и аудио файлы фильма и перетаскиваем их в окно StreamTree на значок папки Steream. Либо выделив эти файлы щёлкнуть ПКМ и выбрать Generate > Playlist.
Так же будет полезно знать процедуры создания тех или иных элементов при более сложной компановке:
Создание элементов
В окне StreamTree ПКМ на папке Clip выбираем New > Clip > Movie Application создаётся новый клип Clip#01, присвоим ему имя вашего фильма и выполним на его значке двойной клик - откроетя окно Clip Editor. Затем перетаскиваем туда из окна DataTree видеофайл, появляется окно Select Video Type, проследите чтобы переключатель был в положении Primary Video и нажмите ОК. Перетащите аудиофайл и в появившемся окне выберите Primary Audio. Ваши файлы появятся каждый в своей графе.
Затем ПКМ на паке Stream выбираем New > Playlist и присваиваем новому плейлисту имя вашего фильма. Далее двойной клик по значку плейлиста для открытия окна Stream Editor, далее перетаскиваем туда клип из окна StreamTree на полосу с надписью [Clip : ] - появится окно Select Use ES Clip, ничего не меняем, жмём ОК и видим что надпись изменилась [Clip : имя плейлиста] <Disc>.
Если необходимо вложить в плейлист ещё один клип, в левом нижнем углу плейлиста в окне Stream Editor нажимаем на значок похожий на переход на предыдущую главу (это масштаб отображения) нажимаем ПКМ на свободной части плейлиста и выбираем New > Play Item - появляется пустая Play Item перетаскиваем ваш клип на полосу с надписью [Clip : ].
[свернуть]
Все варианты приведут к одному - в папке Clip появится клип с названием вашего фильма, а в папке Stream появится плейлист с тем же названием. Понажимав плюсики напротив значков можно убедится что файлы вложены в клип, клип занимает PlayItem вложенное в плейлист. Чтобы просмотреть в плейлисте содержимое клипов нужно в окне Stream Editor нажать на голубые треугольники рядом с клипами.
http://i48.fastpic.ru/thumb/2012/112...2ad90b6d3.jpeg
(Специфика Scenarist`a: клипы, т.е. содержимое фактической папки STREAM числится в папке Clip, а плейлисты, т.е. содержимое папки PLAYLIST (виртуальное), числится в папке Stream.)
То же касается других частей диска, а для меню есть свои особенности.
Как вы помните в DVD можно было зациклить видеофон меню до бесконечности или установить определённое количество циклов, а затем начать воспроизведение фильма. Потом можно было создать статичное меню, которое представляло собой однокадровое видео воспроизводимое в режиме принудительной паузы.
То же, конечно, можно сделать и в BD, но это выглядит иначе - мы добавим клип меню в плейлист множество раз. Дело в том что если просто зациклить плейлист с одним клипом то при возврате на начало плейлиста плеер снова будет его буферизировать, а это значит что интерактивная графика вернётся в исходное положение (наверняка в самый неподходящий момент) и на аппаратных плеерах будет неприятный затык, пауза, пока буферизируется плейлист.
Щёлкните по плейлисту меню чтобы открыть его в окне Stream Editor (это нужно нам для контроля), затем начинаем перетаскивать клип меню из папки Clip в плейлист меню в папке Stream (каждый раз будет появляться окно Select Use ES Clip, жмём ОК) и видим как он добавляется в Sream Editor`e. Ну или как описано в спойлере "Создание элементов".
Понятно что от количества вложенных клипов зависит количество циклов меню и чем их больше, тем дальше мы отодвиним неизбежный затык при переходе в начало плейлиста. (В проекте который прилагается в конце у меня 1 и 5 клипов в плейлистах меню - пусть это вас не останавливает, сделайте их пару десятков.) Чтобы зациклить меню до бесконечности необходимо применение команд навигации, а их мы рассмотрим позже.
Сейчас мы примем меры, чтобы при переходе с одного PlayItem на следующий не возникало "заиканий", т.е. была непрерывность (seamless) воспроизведения. Для этого щёлкаем по PlayItem и в окне Property в графе Connection Condition выбираем Seamless. Этот параметр назначается на начало PlayItem и по этому его можно выставить со второй по последнюю.
Теперь статичное меню.
С начала мы рассмотрим слайдшоу. Но слайдшоу здесь не просто видеофайл, а можно сказать тот же режим паузы только с чётко ограниченной длительностью.
Допустим у вас имеется картинка Still-menu, разумеется с разрешением принятым спецификацией, сохраняем её в любом из перечисленных форматов: JPEG, BMP, PNG или TIFF. Теперь запускаем Still Image Encoder (C:/Program Files (Program Files (x86))/Sonic/Scenarist BD/Utilites/StillImageEncoder/StillImageEnc.exe)
перетаскиваем картинку в окно Encoder`a или File > Open Files, нажимаем на кнопку слева в строке вашего файла (в ней должен появиться треугольник), нажимаем Set Duration и указываем длительность слайдшоу.
http://s017.radikal.ru/i403/1210/3e/1f7931309961t.jpg
Вы можете поместить несколько картинок указав для каждой из них продолжительность демонстрации, в строке Total можно проконтролировать общую продолжительность слайдшоу.
http://s017.radikal.ru/i437/1210/1c/951b5465a18at.jpg
Если вы планируете меню со звуком укажите длительность аудиоролика, а если при этом несколько картинок, выставляйте длительность каждой сверяясь с общей продолжительностью в строке Total.
В списке EncodeMovie Type выбираем Timebase Slideshow, битрейт (указанного хватит) CBR, кодек желательно MPEG-2 (AVC будет компактнее, но в качестве слайдшоу ведёт себя неадекватно), FrameRate должен соответствовать проектному и AspectRatio = 16:9
Указываем папку сохранения, имя файла и жмём StartEncode. По окончании увидите окно "The encode processing succeeded" жмите OK. Как видите размер файла смехотворно мал для такой длительности, а Encoder уже сгенерировал необходимые виртуальные файлы, так что если вы будете не импортировать *.ves файл, а перетаскивать реальный, Scenarist выдаст окно Confirmation в котором спросит "заменить ли существующие виртуальные файлы?" нажимаем "No" (зачем их переписывать?)
В Scenariste с меню-слайдшоу поступаем так же как и с обычными видеофайлами.
Почему-то в Blu-ray режим принудительной паузы, в том виде что и на DVD (однокадровое видео), очень куций и не поддерживает аудио и интерактивную графику. Но он успешно работает с Timebase Slideshow в форматах MPEG-2 и VC-1.
Добавляем изображение в Encoder выставляем Timebase Slideshow и продолжительность 1 кадр кодек MPEG-2 или VC-1, жмём Start Encode.
Далее кадр импортируем в программу, на его основе создаём клип и плейлист, в свойствах PlayItem в который вложен этот клип, в графе Still Mode необходимо установить Still for Infinite Duration. Меню будет воспроизводится в режиме паузы, зацикливать его не нужно. Анимация полностью поддерживается.
Если нужно добавить музыку, то в клип вкладывается звуковой файл, а в свойствах PlayItem выставляется Still Mode: Still for Finite Duration (в бесконечном, Infinite режиме аудио воспроизведётся один раз и "дальнейшее - молчание"), время можно не выставлять - оно исходит из продолжительности звукоряда. В этом случае меню необходимо зациклить, но следует помнить, при повторном воспроизведении интерактивная графика вернётся в исходное положение. По этому нужно или выбирать продолжительный звукоряд, или вложить клип в плейлист несколько раз, как это мы делали в случае анимированного фона или слайдшоу, правда, режим Seemless, в данном случае, не поддерживается..
Каждому элементу будь то поток, плейлист или заголовок Scenarist присваивает ID (в этом примере они могут отличатся от ваших), названия элементов нужны только вам их можно менять на любой стадии разработки проекта.
Расставим главы фильма. Открываем плейлист в Stearm Editor`e и нажимаем ПКМ на нижней полосе озаглавленной PlayListMark и вабираем Insert > PlayListMark появится окно Chapter Setting, где в графе Time Code of Video следует выставить время начала главы.
Если начало главы стоит не на I-picture, в окне Result появится сообщение "Warning : The specified time is not an I-Picture ([NDF] 00:00:12:23 [DF] 00:00:12:23). The nearest I-Picture is [NDF] 00:00:12:02 [DF] 00:00:12:02." "В указанной точке времени нет реального кадра ([без пропуска кадра] 00:00:12:23 [с пропуском кадра] 00:00:12:23) Ближайший реальный кадр находится [без пропуска кадра] 00:00:12:02 [c пропуском кадра] 00:00:12:02." (Разумеется, в вашем случае, время будет другим.) Это, как видите, не ошибка, а предупреждение и значит оно, что на аппаратных BD плеерах со старыми прошивками могут быть проблемы с выбором таких глав. Но это давно в прошлом и все современные плеера таких проблем не имеют.
Главы фильма в BD это просто маркеры плейлиста, никаких программ и ячеек как в DVD здесь нет, и если вы хотите сделать несколько вариантов просмотра то вам необходимо разрезать фильм на несколько файлов и уже из них составлять плейлисты.
Чтобы изменить время маркера нужно его переместить по плейлисту в ту или иную сторону или сделать по маркеру двойной клик и вы снова увидите окно Chapter Setting, где введёте новое время. Для удаления маркера выделяете его и ПКМ > Delete или клавиша Delete на клавиатуре.
Советовал бы ещё добавить маркер на последний кадр заставки чтобы пользователь мог пропустить её при повторных просмотрах.
Существует более профессиональный способ добавления маркеров.
В блокноте создаётся документ следующего содержания <частота кадров>,NonDrop,<время маркера>, … Например 23.976,NonDrop,00:00:00:00,00:03:52:03,00:10:44:20,00:16:02:06,00:21:28:14,00:26:50:17,00:32:26:00,00:37:56:09,00:45:11:15
Затем изменить расширение с *.txt на *.csv. В Microsoft Exel это должно выглядеть так:
http://i48.fastpic.ru/thumb/2012/112...98512f992.jpeg
Затем в сценаристе в окне StreamTree ПКМ на значке плейлиста и выбираем Import > Chapter Import File
В открывшемся окне в графе File Name указываем csv-файл и, если в плейлисте уже есть маркеры, ставим чекбокс Clear Existing Chapter Marks. Жмём "Import".
http://i47.fastpic.ru/thumb/2012/112...69bc5cd7e.jpeg
Теперь наша деятельность перемещается в окно ScenarioTree. У нас в проекте шесть плейлистов: Заставка (Blu-ray Logo), Меню (Menu), Фильм (Film), Bonus 1, Bonus 2 и Bonus 3
Делаем двойной клик на папке Scenario чтобы открыть Scenario Deditor
Делаем ПКМ на значке FirstРlayback и выбираем New > MovieObject для его создания это можно сделать как в Scenario Editor так и в ScenarioTree. Нажмите плюсик рядом со значком FirstРlayback для открытия MO#1 и далее NavigationCommand. Можно дать ему понятное имя.
Повторяем операцию для TopMenu.
Теперь ПКМ на значке Scenario в ScenarioTree или на поле Scenario Editor и выбираем New > HDMV Title - Scenarist создаёт заголовок с фильм-объектом.
Можно создать сразу несколько заголовков с фильм-объектами, для этого выделяем в окне ScenarioTree папку Scenario и в главном меню жмём кнопку Objects, в открывшемся окне указываем необходимое количество заголовков и далее ОК. Понажимав плюсики убеждаемся что в каждом заголовке есть по фильм-объекту.
http://i053.radikal.ru/1305/1f/b2344aaad2aet.jpg
Заёмемся навигационными командами.
Открываем FirstPlayback / Заставка / NavigationCommand и двойным щелчком по значку NavigationCommand открываем окно NaviCommand Editor - это одно из самых важных окон Scenarist`a
В строке ObjectName видим название MovieObject`a в подразделе CmdList имеется окно в котором будет список команд, а справа кнопки Move Up и Move Down которые служат для изменения последовательности команд в списке.
Ниже расположен подраздел CmdEdit в нём выпадающий список Cmd с командами, в зависимости от выбора под ним меняются под-категории в которых выставляются параметры команд. Если выбрать команду Set или Set System появятся под-категории SubCmd. А если поставить чекбокс Compare добавится одноимённая под-категория где назначаются команды логического сравнения.
Справа имеются кнопки:
Add - добавление набранной команды
Change - подтверждение изменения команды
Delete - удаление команды
Register... - вызывает окно в котором можно дать название системным регистрам
Label - создание маркера исходной точки списка команд
Import - импорт списка команд
Export - экспорт списка команд
Назначаем команду для воспроизведения плейлиста заставки:Change - подтверждение изменения команды
Delete - удаление команды
Register... - вызывает окно в котором можно дать название системным регистрам
Label - создание маркера исходной точки списка команд
Import - импорт списка команд
Export - экспорт списка команд
Выделяем строку в CmdList (если не выделена)
Cmd > PlayPL
В подразделе PlayListID -
data type > PL Entried
value > Blu-ray Logo [ID:2]
Нажимаем AddВ подразделе PlayListID -
data type > PL Entried
value > Blu-ray Logo [ID:2]
По окончании воспроизведения заставки нам нужен переход в главное меню - назначим команду прехода в заголовок TopMenu:
Cmd > JumpTitle
В подразделе TitleID -
data type > Title Entried
value > TopMenu [ID:0]
Нажимаем AddВ подразделе TitleID -
data type > Title Entried
value > TopMenu [ID:0]
Таким образом у нас в список команд выглядит следующим образом:
1 PlayPL Blu-ray Logo[ID:2]
2 JumpTitle TopMenu[ID:0]
http://s018.radikal.ru/i510/1210/f3/1d7a56f32918t.jpg2 JumpTitle TopMenu[ID:0]
А в ScenarioTree рядом со значком NavigationCommand появится "+" раскрыв его и все нижние можно увидеть что теперь здесь числятся и плейлист и элементарные потоки и единственный маркер главы.
Переходим в TopMenu / Меню / NavigationCommand
Если у вас открыт NaviCommand Editor, достаточно щёлкнуть по значку NavigationCommand
Cmd > PlayPL
В подразделе PlayListID -
data type > PL Entried
value > Menu [ID:1]
Нажимаем AddВ подразделе PlayListID -
data type > PL Entried
value > Menu [ID:1]
Теперь наша задача зациклить меню до бесконечности
В списке CmdList выделяем строку 1 PlayPL Menu[ID:1] и нажимаем кнопку Label - появится окно Label Edit, тут всё просто вводим название лейбла (Цикл Меню) и жмём Add
Далее выделяем нижнюю строку и назначаем команду
Cmd > GoTo
В подразделе PlayListID -
data type > Label Entried
value > Цикл Меню
http://i003.radikal.ru/1210/be/fc2b722949a5t.jpgВ подразделе PlayListID -
data type > Label Entried
value > Цикл Меню
Впрочем, параметры команды появятся автоматически поскольку других лейблов нет. Всё, теперь, по окончании плейлиста меню, воспроизведение начнётся с начала.
Переходим в заголовок Фильм / Фильм / NavigationCommand
Назначаем команды как было сказано выше но с другими параметрами, здесь у нас такой список
1 PlayPL Film[ID:0]
1 JumpTitle TopMenu[ID:0]
http://s018.radikal.ru/i500/1210/41/8340d3a0a4c4t.jpg1 JumpTitle TopMenu[ID:0]
То есть после воспроизведения плейлиста фильма мы возвращаемся в меню.
Таким же образом присваеваем фильм-объектам плейлисты Bonus 1, Bonus 2 и Bonus 3
На этом предварительная сборка закончена идём в главное меню > Tool > MUX или нажимаем Ctrl + M на клавиатуре или нажимаем на значок MUX,
http://s019.radikal.ru/i636/1210/d0/df006745e1bft.jpg
открывается окно MUX Configuration,
http://i070.radikal.ru/1210/95/b92cb9be5babt.jpg
смотрим чтобы переключатель MUX Processing Type стоял в положении Full Mux и был снят чекбокс Create disc image file, нажимаем MUX Start.
Запускется MUX Remoting Server и открывается окно MUX Monitoring, где можно проследить за ходом мультиплексии. По окончании ползунки достигнут 100% и загорится зелёное окошко Disc Complete.
Теперь нам нужно проверить предварительную сборку. Это можно, конечно, сделать с помощью Scenarist QC, но настоятельно рекомендую ArcSoft TotalMedia Theatre - он не даст расслабится и прозевать важные вещи.
Дело в том что QC воспроизведёт диск не взирая на любую защиту, а Theatre зорко следит за ней. И так запускем Theatre и воспроизводим BD по адресу который я приводил в описании создания проекта в моём случае он выглядит так F:\New\New Project\01.00.0001\Output\MUX\BDROM\DB.
Но что это! О ужас! Плеер сообщает что этот диск невозможно воспроизвести! А ведь мы не применяли никакой защиты! Мы - нет, а Scenarist применял.
Открываем Scenarist, главное меню > File > Open Folder > Output и далее MUX\BDROM\DB и видим папки AACS, BDMV, CERTIFICAT, удаляем папку AACS.
Теперь снова воспроизводим наш диск и видим что всё нормально - проигрывается заставка а затем меню, в фильм мы пока выйти не можем потому что нет кнопок и вот как раз этим мы сейчас займёмся.