Scenarist Pro: часть 9

4.7. Практические примеры проектов в Scenarist NT
4.7.1. Проигрывание одного и того же фильма разными способами

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Первый этап:

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

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

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

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

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

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

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

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

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

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

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

Второй этап

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

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

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

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

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

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