Видео маппинг, видео перформансы

VJ Софт

Как и из чего делать VCD/SVCD

Содержание материала

Данный вопрос неоднократно обсуждался на форумах и сайтах, предлагается всевозможное разнообразие программного обеспечения, каждое имеет свои плюсы и минусы. Хочу поделиться собственным опытом. Учитывая постоянную нехватку свободного времени, моим желанием было найти подборку наиболее оптимальных инструментов. Начал я, разумеется, с поиска описания данных стандартов.


Итак, Video CD - это стандарт цифровых видеодисков, который когда-то пришел на смену гиганту, под названием Laser Disc. Если на тех гигантах писался аналоговый телевизионный сигнал, то в новой разработке стали использовать MPEG 1. Как и LD, VCD по качеству изображения является аналогом VHS формата.
Краткая спецификация формата такова:

Video Resolution

352x288; 25.000 fps PAL, 352x240; 29.970 fps NTSC

Video Compression

MPEG-1 (progressive)

Video Bitrate

1151 kbps constant bitrate (CBR)

Audio Compression

MPEG-1 layer 2

Audio Bitrate

224kbps

Surround Sound

Dolby ProLogic (analogue)

Maximum audio streams

1 stereo or 2 mono

Other features

Menus, playback control (PBC) and MPEG segment play items (SPI)

Still picture resolutions

480 x 480, 480 x 576, 704x480 or 704x576



При данных параметрах на обычную "болванку" умещается от 74 до 80 минут фильма. В 1998 году, с развитием стандарта MPEG 2 и появлением DVD, был разработан новый тип - Super Video CD (примерный аналог SVHS). О его создании ходило много историй, основные из которых сводятся к тому, что стандарт разработали в Китае (взяв за основу принцип формирования MPEG 2 потока для спутникового телевидения), чтоб переписывать DVD на обычные болванки. Есть и версия о желании писать на обычные болванки спутниковых программ в цифровом виде с сохранением качества, а потом уже стали появляться и бытовые аппараты, поддерживающие данный формат. В SVCD с максимальным качеством на "болванку" умещается около 38 минут (43 на 700Mb - 80минут).

Краткая спецификация формата такова:

Video Resolution

2/3 D1 (480x576 25.000 fps PAL, 480x480 29.970 fps NTSC)

Video Compression

MPEG-2 (interlaced)

Video Bitrate

Variable bitrate, up to 2600 kbps

Audio Compression

MPEG-1 layer 2

Audio Bitrate

Variable between 32 kbps to 384 kbps

Surround Sound

MPEG-2, 5.1 (digital) or Dolby ProLogic (analogue)

Maximum audio streams

2 stereo or 4 mono

Other features

4 subtitle (or lyric) streams, extended interactivity with variables and conditional instructions

Still picture resolutions

480 x 480, 480 x 576, 704x480 or 704x576



Из выше сказанного видно, что по качеству SVCD предпочтительнее VCD, (даже близок к DVD, так как за счет сжатия изображения на треть по горизонтали, качество SVCD, теоретически близко к качеству DVD c потоком около 6000 kbps), однако выбор - вещь абсолютно субъективная. Если исходный материал низкого качества, то различные артефакты изображения и VCD кодирования могут маскироваться друг другом. Но могут и подчеркивать друг друга. Так что действовать тут нужно методом проб. Соответственно, если мы хотим иметь в фильме более одного стерео аудио потока (а еще может 5.1 и титры), однозначно выбор падает на SVCD. Все это касается в первую очередь кодирования наших домашних видеозаписей. Но есть и другие источники.
DivX источники


DivX и ему подобные

Сразу отвечу на вопрос - зачем? Часто в DivX встречаются редкие фильмы, которые на DVD в российскую глубинку никто не возит. К тому же довольно качественные VCD, сделанные из DivX, пользуются большим спросом у знакомых владельцев музыкальных центров с караоке.
А теперь немного лирики:
На тот момент, когда я задумался о записи (S)VCD коллекции, DivX были наиболее доступные для меня исходники. Взял я три серии любимого "Простоквашино", запихал в Nero, который обещал все сам перекодировать, и :. получил полную гадость. Попробовал предварительно закодировать в LSX кодере - картинка лучше, а на звуке рассинхрон. Вспомнил мудрые слова - "Если все перепробовал, но так ничего и не получается - прочти инструкцию". Стал искать в Инете. Накачал кучу всяких программулин, обещавших сделать все автоматом, описания методов кодирования. Но заметного улучшения качества так и не получил, только захламил компьютер и чуть не свихнулся, разбираясь в тонких настройках всяких IBI фреймов. Вернее приемлемые результаты по качеству были, но то, что "универсальные" программы могли порезать фильм на полуслове, мне сразу не понравилось. Понял я, что без мощного видеоредактора мне не обойтись. Выбор тогда напрашивался сам собой - Premiere 6.0 + Panasonic MPEG или bbMPEG (про Canopus я тогда даже и не слышал). Изматерившись по поводу постоянно зависающего Премьера и "бесплатного" качества bbMPEG я начал соглашаться с умными людьми, что из DivXа ничего путного не получить.
Но тут помог Его Величество - случай. Понадобился мне новый Sound Forge (пятый на тот момент). Попросил я знакомого Админа, с быстрым Интернетом, скачать его, ну и кое-что еще с того же сайта. Выбирать ему было лень и он скачал ВСЕ, в том числе и новую версию Vegas. С восторгом обнаружив, что эта многоканальная звуковая монтажка превратилась в солидный видеоредактор, мало требовательный к ресурсам, да еще со встроенным MPEG кодером, я сразу начал пробовать его возможности. О чудо! С картинки исчезла зернистость, а цветовые пятна на почти одноцветных тонах приобрели мягкие границы. При этом четкость изображения практически не ухудшилась. Попробовал в качестве исходника "Иронию судьбы" в Windows Media формате. Vegas и тут справился, правда с не столь блестящим, но "удобоваримым" результатом. Собственно о том, что это Windows Media, я и узнал благодаря Вегасу, - на диске лежал .vob, на обложке написано MPEG4, ну я и переименовал его в .avi, а потом удивлялся - почему результат кодирования со стробоскопическим эффектом и ужасным рассинхроном. И только Vegas опознал эту АВИшку как Windows Media.
В конечном итоге, по мере выявления тех или иных ошибок, я выработал простую и надежную технологию, которая работает практически без сбоев и отлично вписывается в мой рабочий график - днем, в свободные отрезки времени, я собираю проект, а ночью все просчитывается, дома наоборот - вечером сборка, а днем просчет.
Итак.
1. Подготовка. Для получения хорошего результата AVI файл лучше всего разделить на составляющие - видео и аудио потоки. Если этого не делать, можно получить рассинхрон звука или периодически проскакивающие черные кадры. Все это из-за того, что DivX часто не соответствует спецификации AVI (звук каждый жмет по-своему, бывает нестандартная частота кадров и т.д.). Для сохранения видео потока универсальным инструментом является VirtualDubMod. Чтобы сохранить видео, нужно открыть .avi, зайти на вкладку Streams > Stream List, выделив мышкой аудио поток, нажать Disable в правом нижнем углу.


вкладка Streams > Stream List
вкладка Streams > Stream List


Далее жмем File > Save As, выбираем Direct Stream Copy:


Direct Stream Copy
Direct Stream Copy


Чтобы сохранить отдельно звуковые потоки - в том же Stream List выбрать нужный поток и нажать Demux.
Но тут уже пошли нюансы. Замечено, что эта операция не всегда проходит корректно. Все зависит от формата сжатия и некоторых других параметров, закономерности я так и не выявил. Поэтому иногда пользуюсь для этого еще двумя программками: AVIMux_GUI и BeSweet.
В AVIMux_GUI нужно щелкнуть правой кнопкой на верхнем окне, выбрать Add чтобы загрузить файл. Затем жмем add video source. Правой кнопкой на нужном нам аудио потоке выбираем extract binary и сохраняем.


AVIMux_GUI
AVIMux_GUI


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


BeSweet: пересчет потока
BeSweet: пересчет потока


Теперь, в результате всех трудов, имеем раздельные видео и аудио потоки.
Сразу нужно решить, в какой формат потом будем жать. Здесь могу дать несколько простейших рекомендаций. Если DivXовый фильм длиной в пределах 1час 40мин умещается на одной "болванке" и имеет ширину кадра более 500 (например 512х384), то из него получится вполне качественный SVCD. Если на одну "болванку" уместили фильм порядка 2 часов или ширина кадра менее 500 (например 480х352), то лучше из него делать только VCD. Если же на диск "умудрились всунуть" более 2,5 часов - пересчитывать его не имеет смысла.

2. Пришла очередь Vegas. После запуска программы нужно выставить настройки проекта. Что будет на выходе - PAL или NTSC, зависит от исходных параметров видео, а настройки проекта лучше сразу привести к выходному формату, это позволит в окне Preview видеть уже конечное качество (разумеется, за исключением артефактов кодирования).


Vegas: Preview
Vegas: Preview


Для VCD (есть готовые предустановки) 352x288; 25.000 fps для PAL, 352x240; 29.970 fps для NTSC. Для SVCD - PAL 720x576; 25.000 fps или NTSC 720x480; 29.970 fps (!!!). Соответственно системе исходного файла (хотя Vegas отлично переводит PAL в NTSC и наоборот: если длина NTSC клипа, скажем 10 минут, то в PAL проекте он так и останется 10 минут, а о всех преобразованиях думает уже Vegas). Часто Frame Rate DivX исходника составляет порядка 24 fps, такой фильм лучше пережимать в PAL. Field Order и Pixel Aspect Ratio должны соответствовать исходнику (посмотреть можно в свойствах клипа - по щелчку правой кнопкой в Media Pool или на таймлайне). Делать деинтерлейс или нет, также зависит от входного и выходного форматов.
Укладываем видео и аудио на таймлайн, точно совмещаем начало, выделяем видео и аудио потоки мышкой, удерживая Ctrl. Потом жмем правой кнопкой на выделении > Group>Create New - теперь видео и аудио привязаны друг к другу.


Монтажка в Vegas
Монтажка в Vegas


Не буду описывать тонкости монтажа - тут все зависит от полета фантазии. Скажу лишь, что можно фильм сразу разрезать на части и добавить заставки к фрагментам (это я чаще всего делаю для SVCD). Еще один полезный нюанс - в окне Preview можно сразу определить, что будет видно на обычном телевизоре, а что нет (по полупрозрачным меткам в окне). Это очень удобно при масштабировании изображения (например, чтоб увести за края экрана метку MPEG4). После монтажа выделяем фрагмент для просчета и жмем File > Render As > Main Concept MPEG.


Выбор настроек сжатия
Выбор настроек сжатия


Тут нужно только выбрать заводские предустановки для соответствующего выходного формата. При кодировании в VCD менять ничего не стоит - можно получить несовместимый файл. А вот в SVCD чаще даже нужно - параметр Average (bps). Уменьшив его до 1 600 000 (ниже не стоит) и bit rate на закладке Audio до 128 kbps, можно уместить до 65 минут вполне качественного видео на 700Mb "болванке". Понижение Average (bps) до 2 000 000 видимого ухудшения качества почти не дает (на 54см телевизоре), но позволяет уместить около 50 минут фильма. Соответственно при стандартных настройках 43 минуты на 700Mb (80 минут). Все настройки можно один раз проверить опытным путем и сделать свои предустановки на будущее, только не забудьте, что реально в (S)VCD на диск умещается файл, как на Audio CD - 800Mb на 80минутный диск.
В этой главе я не касаюсь того, как использовать в SVCD оригинальный звук АС3 или несколько звуковых потоков (например, обычный перевод и Гоблинский). Это чаще приходится делать при перекодировании из DVD, поэтому там и разберемся подробней.

3. Запись CD. Перебрав, в свое время, разные программы, я остановился на Nero. (Так и не нашел программы, которая могла бы работать с подготовленным MPEG файлом, без перепросчета). Он оптимален, хотя и не безгрешен. На момент написания материала доступны Nero 6.3.1.6 и Nero Vision Express 2.1.2.0. Правда Nero 5 и NVE 1 были стабильней, но не имели столь тонких настроек по созданию меню диска.

Nero 6:
- может создавать VCD и SVCD с меню;
- НЕ может резать файл-источник на части и создавать метки глав;
- может использовать в качестве источника файлы, содержащие несколько звуковых потоков (так как просто записывает совместимый файл целиком в соответствии с форматом);

нюансы

- записанный в Nero, SVCD при воспроизведении на большинстве бытовых DVD, заканчивается на 3-5 секунд раньше, чем должен. Поэтому при кодировке необходимо добавить в конец просчитываемого фрагмента не менее 10 секунд черного поля или кадра "Вставьте следующий диск"
- при записи диска, состоящего из отдельных видеофрагментов, последний кадр каждого из них "замораживается", даже если эта возможность выставлена в ноль. Это некритично при записи сборника видеоклипов, но неприменимо для составления фильма из фрагментов (если только их начало и конец не уводить в черное, а звук - в тишину).

Nero Vision Express 2:
- может создавать VCD и SVCD с меню (более "продвинутым", чем Nero);
- может резать файл-источник на части и создавать метки глав;
- НЕ может использовать в качестве источника файлы, содержащие несколько звуковых потоков (так как перед записью, даже совместимый файл, раскладывает на составляющие потоки и заново мультиплексирует, микшируя при этом звук). Разработчики обещали (мне) исправить это еще в версии 2.0 - пока результат неизменен.

Нюансы

- версии 2.0 - 2.1.0.8 иногда портили CD-R при скорости записи выше 4х (возможно это специально, ведь (S)VCD, как и Audio CD, нужно писать на скорости не выше 4х). Выход - сначала создать "образ", а затем записать его с помощью Nero.
- версии 2.1.0.х записывали меню VCD, которое не читалось многими бытовыми DVD. Версия 2.1.2.0 тоже этим страдает (хотя производитель что-то там исправил).
Если Вы хотите иметь возможность пользоваться 5й и 6й версиями NERO одновременно, нужно сначала проинсталлировать NERO 5. Затем скопировать куда-либо папку :ProgramFilesAheadNero и обозвать, например, NERO_5(это будет резерв). Теперь устанавливаем NERO 6, который перезапишет файлы пятой версии. Резервную папку NERO_5 копируем снова в :Program FilesAhead и создаем на рабочем столе (или где удобнее) ярлык для файла Nero.exe из этой папки. В реестре Windows находим ветвь HKEY_LOCAL_MACHINESOFTWAREAheadNero - Burning RomInfo и создаем в ней строковый параметр под названием Serial5, в который вносим серийный номер NERO 5. Теперь на компьютере будут работать обе версии программы.


Теперь очередь DVD источника.

Первое, что нам нужно сделать, это считать информацию с диска в компьютер. Встречаются еще люди, у которых в компьютере нет устройства чтения DVD, но есть бытовой плеер и карта видеозахвата - тоже вариант, иногда даже очень приемлемый. Как-то мне захотелось переписать фильм с исцарапанного DVD, который из-за этого не читался в компьютере. Бытовик же его показывал, хотя и с несколькими остановками. Пришлось захватывать его через S-Video в DC10+ (с потоком 2700), а потом заново кодировать. Кстати, конечный результат на SVCD получился не хуже оригинала. Но, в конечном счете - это "извращения".
При наличии DVD-ROMа задача облегчается. Просто переписывать VOB файлы с DVD не стоит - слишком много там "лишней" информации. Больше года я успешно пользовался для этого прогой Smart Ripper, пока не столкнулся с проблемами (описывал в форуме под темой "неправильный NTSC"). Сейчас "пересел" на DVD Decrypter (практически аналог Smart Ripper, так же freeware, но более новый и умный). Однако тут тоже "на вкус и цвет". Smart Ripper создает более подробные описания для захваченных VOBов, порой эта информация очень помогает при установке меток глав (чтоб заново не просматривать фильм при подготовке проекта в Nero Vision Express, можно взять точки начала глав из этих файлов). Так что с заведомо пиратскими DVD я работаю через Smart Ripper, сохраняя всю нужную информацию в режиме MOVIE.

Smart Ripper
Smart Ripper


Если же мы не располагаем лишним временем, то однозначный выбор за DVD Decrypter. Вставляем DVD в привод и запускаем Decrypter в IFO Mode.


DVD Decrypter: выбор PGC
DVD Decrypter: выбор PGC


Выбираем основной фрагмент (обычно, кроме фильма на диске еще много чего напихано) и на закладке Stream Processing убираем все ненужные нам потоки (для экономии места HDD) и жмем Decrypt.


DVD Decrypter: выбор потоков
DVD Decrypter: выбор потоков


Настройки DVD Decrypter позволяют сохранить весь фильм в виде одного VOB файла. Это нам и необходимо, так как при стыковке в редакторе отдельных VOBов иногда возникают проблемы. Таким образом, если по каким-то причинам, сделать один целый файл не удается, объединить фрагменты нам поможет File Merger - простейшая программа для объединения нескольких MPEG фрагментов в один (работает со всеми MPEG1 и 2, включая MP3).


File Merger: объединение VOB фрагментов
File Merger: объединение VOB фрагментов


Теперь из полученного VOBа нужно вытянуть звуковые потоки. Для этого, как и с DivX, используем VirtualDubMod или BeSweet. Монтаж и кодирование материала опять же делаем в Vegas - в качестве видео потока используется VOB, к которому подкладывается звуковая дорожка. Вспомним, что в SVCD мы можем иметь два звуковых потока, суммарный bit rate которых не должен превышать 384 kbps (2х192 или 224+160 и т.д. MPEG Stereo или 1х384 MPEG 5.1). Правда при этом потоке и максимальном качестве видео 80 минутный диск уместит около 40 минут фильма, а не 43.
Если мы собираемся делать именно такой диск, то при кодировке нам нужно создавать раздельные потоки видео и аудио, а затем совмещать их в один файл. Для этого в настройках Vegas Main Concept на закладке System нужно поставить галочку "Save as separate elementary streams", тогда на выходе получим не *.mpg, а *.m2v (MPEG2video) и *.mpa (MPEG audio). В проекте Vegas можно разложить на таймлайн звук сразу для обоих потоков, только перед просчетом НЕ ЗАБЫТЬ отключить все дорожки с исходными составляющими второго аудио потока (нажать "MUTE" для каждой дорожки). А при кодировке отдельно второго звукового потока, включить только его (например, кнопкой "SOLO"), а в настройке Main Concept на закладке Video еще и убрать галочку "Include video stream".


Vegas: Кодирование
Vegas: Кодирование


И еще, если в случае с одним потоком, удобнее фильм кодировать частями, то в данном варианте можно просчитать сразу все, а разрезать уже при мультиплексировании, по заранее намеченным временным отметкам. Для мультиплексирования (объединения видео и аудио потоков) удобнее всего bbMPEG - бесплатный низкокачественный кодировщик, но зато качественный мультиплексор. Он может работать как Plug In для Премьера и как самостоятельная программа (вернее c оболочкой avi2mpg2). Рассмотрим второй случай. Запускаем avi2mpg2.exe из bbMPEG комплекта. Кнопкой Add загружаем наше видео (или другое - тут не важно), задаем название результирующему файлу и жмем Start Encoding.


avi2mpg: Кодирование
avi2mpg: Кодирование


Перед нами открывается bbMPEG, в нем и предстоит вся работа. Сразу жмем Settings. В General settings выбираем адаптацию процесса под процессор нашего компьютера, ниже отмечаем галочками только Multiplex video и Multiplex audio, нижние окна позволяют выставить точку начала и конца финального фрагмента относительно начала исходника в секундах (помните, обещал порезать на куски при мультиплексировании?).
На закладке Input and Output Files указываем исходники и название финального файла *.mpg, в закладке Program Stream Settings выбираем SVCD, в Video Stream Settings - SVCD (PAL или NTSC) и жмем ОК. В основном окне проверяем составляющие нашей задачи и жмем Start.


Работа с bbMPEG
Звук в формате 5.1

Обломайтесь на 99%!
Да, SVCD поддерживает этот формат, но только не Dolby, а MPEG-2 multichannel. Дело в том, что когда создавался формат SVCD, Dolby AC3 тоже только разрабатывался. Все пророчили большое будущее формату MPEG-2 multichannel, в первую очередь из-за переменного битрейта. Но, похоже, у Долбевых лабораторий нашлось больше аргументов ($) и основным стандартом звука для зарождающегося DVD приняли ихний АС3. Сейчас аппараты с поддержкой MPEG-2 multichannel ужу не выпускаются, хотя у кого-то они, наверное, есть. Соответственно и программ для кодировки почти нет (встречал в сети кое-что под Linux). Сам с этим вопросом столкнулся уже при подготовке статьи. До этого я несколько раз делал исходник для SVCD c AC3 звуком, а Nero Vision Express его спокойно принимал и втихомолку (гад) пересчитывал в MPEG stereo. Однако есть очень интересный результат, который теперь мне повторить не удалось. У меня ЕСТЬ(!) SVCD с АС3 Dolby 5.1 дорожкой (воспроизводится в компе и на DVD AKAI c MPEG multichannel)! Делал я его в NERO 5.5.72 из комплекта резака Plextor (Nero тогда ругнулся на несовместимость, но я указал "игнорировать"). Так что про эту возможность можно было бы и не писать, если бы не одно "но". Сейчас многие бытовые аппараты могут воспроизводить любые совместимые файлы, записанные на "болванку" в режиме Data CD (только на 80 минутный диск поместится уже только 700Mb). Если Вас не волнует полная совместимость с другими аппаратами и Вам нужен именно AC3 звук (ведь именно SVCD совместимый файл является оптимальным MPEG 2 решением для обычного CD-R) - вкратце расскажу, как с ним работать.
На момент написания статьи я не знаю доступных программ, способных редактировать звук АС3 Dolby напрямую. Перед использованием в Vegas такую дорожку нужно разложить на составляющие, чтобы резать вместе с видео, а потом закодировать в отдельный AC3 - для этого в свойствах проекта Vegas (закладка Audio) нужно установить Surround 5.1. А потом уже использовать новый файл при мультиплексировании в bbMPEG.
Предостерегу экспериментаторов - громкость отдельных каналов лучше не изменять, так как она определяет положение звука в пространстве. Подрегулировать имеет смысл только центральный канал, в котором обычно записан перевод, если его громкость Вам не нравится. Разложить AC3 в шесть файлов WAV можно с помощью BeSweet (только если действительно присутствуют все шесть каналов). Намного корректнее с таким разложением работает Sonic Foundry Soft Encode.
Если же Вы абсолютно не желаете пересчитывать АС3, то есть способ разрезать изначальный VOB на логически завершенные фрагменты (чтоб потом уместились на диск). Для этого есть программа ChopperXP. Принцип работы в ней аналогичен разрезанию AVI в VirtualDubMod по точкам In/Out, есть режим точной ручной разбивки, где вводится точная продолжительность фильма и время точек In/Out.


ChopperXP: разрезание VOB на фрагменты



Кстати, эта программа является "индикатором правильности VOBов" - если исходник с ошибками или не полностью снята защита, ChopperXP при обработке такого VOBа "вылетает" !
Из полученных фрагментов выделяем АС3 (VirtualDubMode и т.п.), кодируем видео и добавляем к нему АС3 звук. Только вырезать из видео фрагментов уже ничего нельзя. Можно что-то добавить в начало и конец (типа заставок), а смещение звука откорректировать при мультиплексировании в bbMPEG.

Вместо эпилога
Всех тонкостей процесса не перечислить (будут вопросы - решим в форуме), но основываясь на вышеизложенном материале, довольно легко создать качественный диск. Предвидя нападки поклонников Канопуса, позволю заметить, что тот все-таки для более "продвинутых юзверей". Не каждому по силам и времени копаться во фрейм-серверах и прочей высокой технологичности.
И еще, я ничего не сказал об использовании титров в SVCD. Я просто этого никогда еще не пробовал делать - по ненадобности. Это сделать вполне реально, тот же bbMPEG может и их подмикшировать. Описаний в Сети много самых разных.

EventCatalog.ru — всё для организации мероприятий!