.:: Расположение ::.

codecs.org.ua


.:: Меню ::.

  [Основная]
  [Новости]
  [Кодеки]
  [Технологии]
  [Форматы файлов]
  [Статьи и Обзоры] > ...
  [Утилиты]
  [F.A.Q.]
  [Глосcарий]
  [Ссылки]
  [О проекте]

  [Написать админу]


.:: Реклама ::.


.:: Рейтинг ::.




.:: Реклама ::.


.:: Поиск ::.

.:: Фреймсерверы и редакторы. Кодируем в Mpeg4 или Mpeg2 ::.

Автор: smallwolf
Дата: 17.05.2004



Введение или немного лирики

Данная статья, скорее всего, будет интересна прежде всего начинающим (к коим отношу и себя :)). Здесь я постараюсь изложить свои впечатления и апробированные приемы при обработке видео и его конечным сохранении в формате Mpeg4 (DivX, Xvid, WMV9 и пр.) - Часть 1 или Mpeg1,2 (VCD, SVCD или DVD) - Часть 2. Поскольку изначально я все-таки являюсь поклонником DivX, то начну именно с этого формата, к особенностям же сохранения конечного результата в mpeg перейдем во второй части повествования :).


Для начала краткое определение фреймсервера:
Фреймсервер (frameserver) - в данном контексте, это программа, способная в реальном времени (под реальным временем понимать не скорость работы в FPS, а то, что обращение к потоку происходит без задержки), без создания больших промежуточных файлов, служить посредником между разными форматами ввода-вывода, опционально дополняя подобный режим возможностями редактирования потока. Самый банальный пример - AVISynth, которому отдается какой-нибудь файл (даже тот, который VirtualDub "не понимает") - это ввод, проделываются над ним "на лету" какие-либо необходимые преобразования (к примеру, перевод в 50 фпс) и передается в другую программу - это вывод.
Если говорить совсем упрощенно, фреймсервер - это программа, которая позволяет передать обработанный видео поток из одной программы в другую без создания промежуточного файла.
Теперь давайте разберемся, для чего могут понадобиться эти телодвижения. Лично у меня подобная необходимость возникла в тот момент, когда я, проработав определенное время с VirtualDub, решил попробовать помимо простой обработки фильтрами и кодированием собственного видео еще и добавить несколько эффектов в виде титров и переходов. Для своих целей я выбрал Adobe Premiere 6.5, поскольку Ulead MediaStudio мне не подошел из-за несовместимости с плеером от X-card, да к тому же в тот момент вышла статья "Adobe Premiere. Быстрый старт быстрой работы", которая оказалась весьма неплохим подспорьем на ниве изучения работы в "тяжелых" редакторах.

Общая схема работы

Итак, наша задача - качественно почистить и сжать исходное видео, при этом добавить к нему некоторые эффекты. Поскольку с AVISynth я пока не разобрался, предлагаю делать это, имхо, более просто при помощи VirtualDub и одного из 3-х наиболее популярных редакторов:

  • SonicFoundry Vegas (and earlier Vegas Video/VideoFactory versions).
  • Adobe Premiere.
  • Ulead MediaStudio Pro.

Порядок работы может быть следующий:

  1. Обработка исходного видео фильтрами в VirtualDub > Передача результата через фреймсервер в "большой" редактор (в моем случае Premiere) > сжатие (либо прямо из Premiere, либо опять же через фреймсервер в VirtualDub).
  2. Добавление эффектов, переходов и пр. к исходному видео в "большом" редакторе > Передача результата через фреймсервер в VirtualDub > обработка фильтрами и финальное сжатие.

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

  • Передача обработанного материала из VirtualDub в Premiere достаточна проблематична сама по себе, Premiere не очень-то понимает файл, созданный фреймсервером VirtualDub (для этого необходимо применить еще одну программу - Link2, о ней мы поговорим во второй части статьи).
  • Поскольку в Premiere материал передается фреймсервером, работа там не будет достаточно комфортной по причине притормаживания (особенно критично для слабых машин). Мало того, что это не слишком удобно, так еще и дополнительное время приходится тратить на ожидание.
  • Сжимать итоговое видео гораздо удобнее из VirtualDub. Если помните, результат мы будем сохранять в DivX, что подразумевает сжатие в два прохода. И, если в VirtualDub есть такая полезная вещь, как "Job Control", позволяющая запустить оба прохода на автомате, то в Premiere стартовать второй проход придется руками. А ведь многие, если не большинство, кодируют ночью, при этом вставать в 3.00-4.00 часа для запуска второго прохода никто особого желания не испытывает :). Запуск же второго фреймсервера для передачи видео из Premiere в VirtualDub с целью автоматизации двух проходов увеличит время, необходимое для выполнения всей этой цепочки. Все вышесказанное, кстати, относится и к другим Mpeg4 кодировщикам, поддерживающим 2-х проходное кодирование (Xvid, WMV9 и пр.)

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

Часть 1. Кодируем в Mpeg4

Итак, для начала необходимо выбрать, скачать и установить фреймсервер. Я остановился на PluginPac FrameServer. Он поддерживает все три наиболее популярных вышеупомянутых редактора, достаточно прост в установке и использовании, занимает всего 56 килобайт.

При установке фреймсервера необходимо обратить внимание на несколько моментов:

  • выбирайте поддержку только того редактора, который у Вас установлен


Установка PluginPac FrameServer

  • внимательно смотрите, в какую директорию Вы устанавливаете фреймсервер (т.е. не меняйте директорию по умолчанию, инсталлятор должен определить ее правильно), поскольку при неправильном выборе РАБОТАТЬ ОН НЕ БУДЕТ.

После инсталляции фремсервера в списке кодеков, установленных в системе у Вас появится "PluginPac Frameserver ... Codec":



Список аудио кодеков


Список видео кодеков

После этого Вы спокойно открываете свой любимый редактор и создаете проект. К сожалению, не знаю особенностей работы UMS и Vegas, но для Premiere я бы очень советовал сделать просчет вашего проекта до того, как Вы станете его экспортировать. Это нужно для того, чтобы сэкономить время на этапе работы фреймсервера, т.к., оставляя проект непросчитанным, Вы перебрасываете часть ресурсов системы на просчет проекта во время очистки и кодирования, что не есть слишком весело.

Итак, экспортируем проект (Premiere):


Экспорт проекта

жмем "Settings"


Настройки экспорта проекта

и в настройках выходного формата выбираем "PluginPac FrameServer"


Настройки выходного формата

задаем имя и расположение выходного файла. Здесь же можно проверить и, в случае необходимости, изменить параметры выходного файла. Для Vegas и Ulead MediaStudio последовательность действий также описана на домашнем сайте фреймсервера:

For Vegas:
  1. From the timeline, do a "File > Render As" to open the default render dialog.
  2. Enter a valid filename for the output file. This file is called the "signpost" file.
  3. Choose "PluginPac FrameServer" as the output type.
  4. Click "Save" to start FrameServing.
For MediaStudio Pro:
  1. From the timeline, do a "File > Create > Video File" to open the default render dialog.
  2. Enter a valid filename for the output file. This file is called the "signpost" file.
  3. Choose "PluginPac FrameServer" as the output type.
  4. Click "Save" to start FrameServing.

Думаю, в этом описании разберутся даже те, кто в английском не силен. :)
После нажатия кнопки "Ок" появится вот такое окно


Статус фреймсервинга

которое через некоторое время превратиться вот в такое


Статус фреймсервинга

Здесь обязательно поставьте галочку в чебоксе "Write audio as PCM samples in signpost AVI", в противном случае звук будет обработан некорректно и при попытке посмотреть полученный после VirtualDub файл у Вас вывалится сообщение о необнаружении фреймсервера, а файл, соответственно, проиграть не получится. Кстати, я пару раз слышал и о противоположных результатах (примерно 5% случаев), так что советую после первой установки фреймсервера попробовать закодировать маленький фрагмент для определения собственных настроек. И не забудьте ВЫКЛЮЧИТЬ фреймсервер, когда будете тестировать результаты пробного кодирования.

После всех этих манипуляций на диске в указанном Вами месте появится файл небольшого размера с расширением avi.

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


Статус фреймсервинга

Кто пока мало знаком с технологией оцифровки, советую прочесть статью "Захват и обработка аналогового видео с максимальным качеством для сжатия в MPEG-4"

Еще один немаловажный момент: при обработке материала в VirtualDub и его последующем сохранении НЕ СЖИМАЙТЕ ЗВУК, оставляйте его в режиме "Direct stream copy". После окончания кодирования просто еще раз откройте полученный файл и, выставив для видео режим "Direct stream copy" сожмите звук с необходимыми параметрами. Конечно, можно и при первой обработке закодировать звук, но в данном случае будут несколько мешать издержки работы через фреймсервер - в списке режимов сжатия звука будут доступны лишь часть режимов, гораздо меньше, чем при повторном открытии результирующего файла. Если же Вы решите выбрать "Show all formats" и после этого установить необходимый режим сжатия, то добьетесь лишь того, что в результирующем файле получите отсутствие/невозможность проиграть звук. Как альтернативный вариант можно предложить отдельную обработку звука и соединение его с видео на последнем этапе (после кодирования видео и режима "No audio" для звука).

В завершение работы с VirtualDub задаем в "Job Control" два прохода DivX (любого другого Mpeg4 кодека), стартуем и идем отдыхать, оба прохода сработают на автомате. И вот что еще:

  • после окончания работы VirtualDub в индикаторе работы фреймсервера Вы увидите примерно следующую картину


Статус фреймсервинга

это абсолютно нормально, не пугайтесь, с конечным файлом все будет в порядке :).

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

Ну, и для того, чтобы завершить работу фреймсервера и попасть обратно в Premiere, жмем "Stop serving":


Остановка фреймсервинга

Вот и все на первый раз. Об особенностях работы в "тяжелых" редакторах с последующей очисткой материала и сохранение его в формате Mpeg1,2 поговорим во второй части.


По материалам mediatory.ru

Hosted by:
jedi.wader
2003-2009 © Hamster Entertainment
Видео КоДеки

Правила и Условия Использования