Данная статья, скорее всего, будет интересна прежде всего начинающим (к коим отношу и себя :)). Здесь я постараюсь изложить свои впечатления и апробированные приемы при обработке видео и его конечным сохранении в формате 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 и пр.)
В свою очередь последовательность действий по второму способу позволяет избежать вышеуказанных проблем, порой даже превращая их в преимущества.