пятница, 8 января 2010 г.

Прощай DVD или DV to H.264 / MKV

От DVD к HD

Пять лет назад, после покупки miniDV видеокамеры, путем долгих проб и ошибок, была выработана следующая цепочка обработки снятого видео:
  1. Scenalyzer - захват роликов.
  2. Adobe Premiere Pro 7.0 + Canopus Xplode - редактирование, переходы.
  3. Canopus ProCoder - кодирование видеопотока
  4. Sonic Foundry Soft Encode - кодирование аудио потока.
  5. Sonic ReelDVD - авторинг.
В результате получались добротные DVD c интерактивным меню. Диск занимал свое место на полке, а два его ISO-образа складывались на разные HDD. Всего один штрих не давал картине стать идеальной. В отличие от Sonic Scenarist, его меньший собрат, Sonic ReelDVD создавал VOB без привязки к сюжетам. Но эта малость не стоила того, чтобы заморачиваться с освоением Scenarist-а.


  • Время шло, и эра HD все настырнее стала сопеть в затылок.
  • В секторе видеокамер одержал вверх формат AVCHD
  • Телевизоры стали плоскими, иx разрешающая способность превысила параметры телевещания
  • Домашние DVD плееры уступают свое место медиацентрам HDTV
Взявшись, очередной раз, собрать результаты съемок за прошедший год, я с ужасом обнаружил, что их, просто, не на чем будет смотреть! Можно подключить образ в эмуляторе, но надо настроить плеер так, что бы он мог работать с меню диска, убрал деинтерлистинг, откорректировал геометрию изображения...

Момент настал. Пора переходить на новый MPEG4 формат. Приспособленный к просмотру на более перспективном оборудовании (ноутбуках, PC, HDTV оборудовании). Формат соответсвующий моей будущей AVCHD видеокамере. Из всех, существующих на данный момент, больше всех на эту роль подходит H.264 в контейнере MKV.

DV to H.264 / MKV. Вариант 1. XviD4PSP5

Итак, ролики захвачены, отредактированы и результат выгружен в виде единого AVI формата DV. Что дальше? Если у вас домашняя графическая (игровая) станция то я сходу угадал какая там ОС. Допустим графику, при должном упорстве еще можно обрабатывать под Хакинтошем, но вот погонять свежего Modern Warfare 2 - просто без вариантов...

На этот случай, существует весьма приятный фриварный проект - XviD4PSP5
Архитектура программы оказалась на столько гибкой, что давно вышла за рамки преварительной идеи. Одна горькая ложка дегтя, портит всю сладость данного продукта - для работы требуется .NET Framework. Со всеми вытекающими...

Скачиваем последнюю версию. Устанавливаем и запускаем.
Открываем DV фаил. Выставляем параметры как показано на картинке:
Формат - MP4 PS3 or XBOX360
Фильтрация - Disabled
Цветокоррекция - Disabled
Кодирование видео - x264 Q21 HQ
Кодирование звука - AAC-LC ABR 128k
Для любопытсвующих объясню, что используемые в Xvid4PSP сокращения предустановок кодирования:
Animation – для 2D анимации.
DXVA (DirectX Video Acceleration) – если нужна DXVA-совместимость (аппаратное декодирование видео). В основном, на нее влияют количество ссылочных кадров и параметры видеобуфера. (DXVA-SD и DXVA-HD – для SD и HD разрешений соответственно).
Fast – быстрое кодирование (прежде всего сказывается на большем размере, нежели на качестве).
Film – для фильмов.
GQ (Good Quality) – хорошее соотношение скорость/качество.
HQ (High Quality) – высокое качество.
HQS (High Quality Slow) – более высокое качество за счет скорости.
Insane (букв. – безумный) – крайне высокое качество, крайне медленная скорость кодирования; не рекомендуется для SD разрешений и ниже (минимальный прирост в качестве, но значительное падение в скорости).
Установкой фильтрации и цветокоррекции лучше не увлекаться, эти операции желательно проделать еще при редактировании, иначе время кодирования вас не обрадует.

Важным моментом является определение параметров геометрии картинки. Их придется выставить в ручную. Открываем в меню Видео-Разрешение/Аспект
Выставляем:
Аспект 4:3
Метод изменения аспектов SAR

Рядом в меню настраиваем  деинтерлейстинг:
Жмем кнопку Анализировать
Я предпочитаю Yadif
 
В Параметрах обработки звука выводим Точность на 100%
Осталось нажать кнопку Кодировать
Процесс кодирования весьма продолжителен. На моих двух ядрах кодирование полуторачасового фильма заняло 6 часов. В это время, можно развлекать себя, разглядывая степень загрузки ядер.
 
По завершения процесса мы получаем фаил с расширением MP4 
Положительными моментами программы является полный автоматизм выбора наиболее оптимального с точки зрения размер-качество параметра битрейта (в данном случае: 1516 Кбит\сек), НО размерность картинки по прежднему заточена под телевизор (PAL)

Для тех, кому предпочтительнее мультиплатформенность, полный контроль и скорость - больше придется по душе второй вариант.

DV to H.264 / MKV. Вариант 2. MeGUI

MeGUI - графическая оболочка для конвертации файлов. В качестве обязательного компонента использует, как и XviD4PSP5 использует фрейм-сервер AviSynth.
Открываем в меню Tools-AVC Script Creator 
Выбираем Video Imput исходный фаил
Выставляем Input DAP 4:3
Ставим галочки Resize и Suggest Resolution
На закладке Filters нажимаем кнопку Analyse
После завершения процесса, в случае необходимости, отмечаем Noise Filter 
Любуемся результатом нажав кнопку Preview AVS Script
Если все устраивает, нажимаем кнопку Save
Если нам нужен определенный размер выходного файла запускаем Tools-Bitrate Calculator
Битрейт записи AVCHD камер 18-25 Мбит/сек. Для перекодирования любительского видео из DV - 18 Мбит/сек - даже с избытком. Проверяем настройки кодека х.264 нажав кнопку Config напротив Encoder setting
Профиль x.264: DV AVI to MKV я создал самостоятельно. Его параметры видны на скриншоте.
Вернувшись в основное окно жмем кнопку Enqeue и переходим в раздел Audio
В строке Audio Input выбираем исходный AVI фаил.
Конфигурим параметры кодирования аудио потока. Снова нажимаем Enqeue теперь уже в этой части. Переходим на закладку Queue.
Осталось нажать кнопку  Start.
В моем случае, программа предложила подкорректировать настройки кодирования.

Кодирование того-же полутора часового файла заняло около 3-х часов. В результате получены два отдельных файла: видео MP4 и аудио AC3.
Собрать их вместе в один контейнер, прописать главы внутри контейнера можно средствами mkvtoolnix.
Осталось посмотреть скриншоты:
Изначальный DV AVI
Конвертированный по 1 варианту:
Конвертированный по 2 варианту:

9 комментариев:

  1. Спасибо большое за тщательное разжевывание! Очень помогли!

    ОтветитьУдалить
  2. Yuris5
    Отличная статья.
    Вот только надо бы еще рассказать как Тайм-код (дата-время сьемки) который есть в DV-avi портировать как субтитры (что-бы включить\выкл) в конечный MKV.
    Спасибо.

    ОтветитьУдалить
  3. Каюсь. Идею портировать дату/время в субтитры я прозевал. Решений в свое время было много начиная с плагина для 5-го Adobe Premier до отечественной платной проги DVsubtitles.
    Оптимальным и бесплатным вариантом является DV Sub Maker скачать можно отсюда http://www.videohelp.com/tools/DV_Sub_Maker

    ОтветитьУдалить
  4. вот всё же склоняюсь в преобразованию видео из формата 25i (DV-avi) не в 25p (дэинтерлэйсное), а в 50р (каждое поле в отдельный кадр) так как при этом движения более плавные (без рывков), а не "что-то среднее из двух полей одного кадра".

    ОтветитьУдалить
    Ответы
    1. Я отказался от преобразования 25і, в 25p и в 50p.
      Так как смотрю встроенным плеером телевизора Samsung 40B650 и разницу заметил на лицо, и понял лучше оставить 25і в h264, и телевизор лучше всех справился с внутренним преобразованием deinterlace. А при 25р видим "рваное" движение, если отключить функцию телевизора 100 Гц, а если включить то телевизор начинает интерполировать кадры и смотреть можно и 25p.

      Удалить
  5. Долго искал решения для сабжа, в итоге:
    1) Видео с камеры сливаю в DV-Avi.
    2) с помощью DV-Time (free и русский) выдергиваю дату-время съемки сначала в DVDT, затем (там же) в SRT субтитры.
    3) В проге Avidemux 2.5.6 (free) сжимаем в MKV: Видео в h.264 (4000kb/s, фильтр DGBOB 25i->50p), Аудио в AAC 128.
    4) В проге mkvmerge GUI 5.8.0 (free и русский) "сшиваем" MKV + SRT = MKV(с субтитрами, ктр можно отключать). Здесь же задаем пропорции видео 3х4 или 16х9. Если надо то еще и главы с названиями.
    Всё это автоматизирую в командном-файле CMD, в итоге имеем файлы MKV(читаемые телевизорами и др плеерами) и занимающие в 10 раз меньше места при том же качестве картинки.
    icq600870.

    ОтветитьУдалить
  6. "что-то среднее из двух полей одного кадра" - это оригинал, ковырять который низя. VLC плеер легко проигрывает и гребенку и Yadif x2, а вот 50p еще и не каждый комп потянет.

    ОтветитьУдалить
  7. ... кроме того, после преобразования 25i в 50p вы потеряете резкость в каждом кадре ;(((

    ОтветитьУдалить
  8. Thanks for your detail introduction. By the way, I also know three ways to convert dvd to h.264.

    ОтветитьУдалить