Воскресенье, 19.05.2024, 04:16
Приветствую Вас Гость RSS
Помощь сборщикам Аниме
Главная РегистрацияВход
Меню сайта
Разделы новостей
Аудио [3]
Видео [6]
Юмор [0]
Друзья сайта
AnimeReactor.Ru Яндекс.Погода
Главная » 2008 » Июль » 9 » Кодируем видео в домашних условиях
Кодируем видео в домашних условиях
19:37
1. Выбор Xvid, DivX, DivX 3.11 или X264

Итак, если мы хотим закодировать DVD-диск в меньший объем, то имеем выбор из четырех кодеков, которые могут использованы для этой цели. DivX 3.11 отпадает из-за того, что сейчас можно достичь значительно лучшего сжатия. Это вариант для ретроманов или больших спецов не желающих переходить на новые кодеки(99% случаев - это предубеждение). Рассмотрим более подробно все варианты, чтобы сделать обоснованный выбор.


  • DivX - обеспечивает, как правило, несколько худшее качество картинки (при всех остальных равных условиях), но большой плюс его использования - это реализация декодирования в бытовых DVD-проигрывателях, что, несомненно, очень приятно. Минусами являются худшая компрессия, "незнание" кодеком режима для сжатия рисованного видео (разница между мультом, пожатым DivX и XviD, весьма большая), его платность (есть, конечно, adware версия, но всё-таки).

  • XviD - кодек с открытыми исходниками => интенсивно развивается, точнее сказать развивался, сейчас работа существенно замедлилась - все силы брошены на развитие x264. Плюсами являются: открытость, поддержка в бытовых проигрывателях (DivX'овый декодер проигрывает весьма прекрасно), наличие режима сжатия мультфильмов.

  • H.264 - обеспечивает наилучшее качество из всех представленных здесь кодеков, но как кодирование видео, так и декодирование требуют значительно бОльших вычислительных мощностей. Минимальное требование для нормального декодирования - процессор порядка 1,5 ГГц (или Athlon XP 1700+), хотя это также в некоторой мере зависит от декодера (ffdshow, Nero, ...). Кодек является полностью открытой разработкой и постоянно (о-о-очень интенсивно - иногда по два-три раза за сутки) обновляется и совершенствуется, и при этом уже весьма достоин. Пока не реализовано проигрывание в бытовых DVD-проигрывателях, но по некоторым заявлениям, работа уже ведётся.


Вывод - для сжатия для просмотра на домашнем проигрывателе - XviD, для просмотра на компьютере - H.264. Опять-таки стоит учесть тот факт, что сжатие при использовании H.264 займёт в 2-4 раза больше времени, чем XviD'ом.


2. Инструментарий.
Все программы, с которыми мы будем работать в статье, можно скачать с сайта doom9.
Для извлечения и конвертирования используются постоянно одни и те же инструменты, поэтому собралась команда энтузиастов и в помощь нам разработала 2 очень удобных пакета инструментов - Gordian Knot Rip Pack (актуальная версия 0.35) для извлечения и монтажа, а для кодирования - Gordian Knot Codec Pack (актуальная версия 1.9), а также видеокодек x264, аудио кодеры OGG и LAME. Оба пакета GK и кодек разрабатываются группой профессионалов и распространяется целиком и полностью бесплатно - по лицензии GPL. Так что скачивать бесплатно можно даже исходники.

3. Извлечение видеоданных.
Легальное копирование DVD запрещено, хотя и обсуждается разрешение "архивного" копирования в ограниченном кол-ве, но когда окончательно DVD-Forum решит, как всё это организовать, и когда появятся первые "разрешённые" фильмы - я не знаю и ждать не собираюсь. Поэтому будем пользоваться программой "DVD Decrypter" (актуальная версия - 3.5.4.0), входящей в состав GK. Эта программа считается лучшим декриптором ("извлекатель" данных с DVD, находящихся под защитой). Итак, настраиваем DVD Decrypter - идем в Tools-Settngs…


Нажимаем на вкладку IFO Mode и выставляем в Options – File Splitting: None



Возвращаемся в главное окно Decryptera и выставляем в Mode – IFO.

Файл IFO – это файл информации о DVD диске, который хранит информацию о видео, субтитров и звуковых дорожках. Другие файлы DVD включают VOB и файлы BUP.



1. Указываем CD-ROM, где находится виртуальный диск.
2. Указываем программе место, куда поместить готовый VOB.
3. Нажимаем, чтобы программа начала работать.



4. Создание проекта и выделение звука.
Итак - извлеченные вобы имеем, далее нужно создать d2v-проект и выделить отдельно звук. Единственное, что нужно твёрдо усвоить - ВОБЫ НЕ УБИВАЕМ, ПОКА НЕ УВИДИМ ГОТОВЫЙ ФИЛЬМ!!!





Нажимаем на значок. После появления окна DGIndex(ранее применялся DVD2AVI, DGIndex является развитием DVD2AVI) обязательно проверяем, чтобы в меню Video->Field Operations стояла галка None, а в YUV->RGB PC Scale




Теперь нам нужно настроить программу чтоб звук вытащить не в ac3 а в wav.



И выбрать звук - если в исходнике было два звука, первый - русский, второй - японский, то выбираем Track 1 - это и будет русский звук.



Затем нажимаем “F2” или File - Open и выделяем vob, который мы сделали при помощи DVD Decryptora.



Если всё сделано правильно, должно появиться вот такое окно:



Нажимаем на кнопку ОК.

Переходим к окошку Information (чтоб появилось окошко Information, нужно нажать на "F6") или "File -> Play" (чтобы остановить - Esc или File -> Stop).



Здесь нас интересуют несколько параметров (их можно даже в отдельный файлик или на листик записать): Aspect Ratio (соотношение сторон), Frame Rate (кол-во кадров в секунду), Video Type (цветовое пространство, в котором записан фильм), Frame Type (наличие или отсутствие чересстрочности).
Остановимся на Frame Type и Frame Rate (ЗАПОМНИТЬ или записать ОБА параметра - они пригодятся далее).
Просто для информации: Pal всегда имеет frame rate 25 fps(25 кадров в секунду), NTSC - 29,970! Это в исходнике. Собственно, приступим - если в поле Frame Type указано Interlaced - сразу же настораживаемся и точно запоминаем, что у нас чересстрочное видео. Но, DGIndex иногда, но ошибается, и нам нужно проверить действительность его выводов. Запускаем VirtualDubMod (Пуск->Программы->Gordian Knot->Apps->VirtualDubMod), жмём File->Open video file...(Ctrl+O) и открываем один из вобов (проще всего последний - он, как правило, самый маленький и, следовательно, быстро парсится). Открыв, перетягиваем ползунок куда-нибудь в середину, останавливаемся и стрелкой клавиатуры "->" листаем вперёд следующие кадров 8-12 покадрово. Всматриваемся в картинку в местах движения на предмет присутствия горизонтальные чёрточек (эффект гребёнки).



Обведённая область наиболее заметна при движение, почти вся фигура в интерлейсинге!

Interlacing (от англ. "череcстрочность") - метод записи видео, применяющийся для упрощения прорисовки картинки на телевизорах. Заключается в разбиение картинки на чётные и нечётные поля и их чередовании. Интерлейсинг полезен в случае просмотра через бытовой проигрыватель, но является большой помехой при конвертировании. Он приводит к ухудшению картинки при просмотре на компьютере и усложняет сжатие.

Если чёрточек нет, значит, DGIndex ошибся, и материал на самом деле прогрессивный. Тогда мы ничего не делаем, радуемся и идём дальше. Если же всё-таки материал действительно интерлейсинговый, то смотрим на Video Type - PAL или NTSC, и, соответственно, 25 или 29,970fps. Если это Pal, то нужно будет делать деинтерлейсинг, а если NSTC, то Inverse Telecine(IVTC). В этих случаях никаких галок никуда не ставим, оставляем всё как есть и идём дальше.

Telecine - процесс преобразования 24p(24 прогрессивных кадра в секунду) в 30i(30 интерлейсинговых кадров), и состоит он в создание каждого 5 кадра(из 4) путём копирования полей из двух предыдущих т.е. получается последовательность - 3 прогрессивных, 2 интерлейсинговых, 3,2...
InverseTelecine(IVTC) - процесс, обратный телесину, восстановление 30i до 24p, достигается соответственно удалением дублирующихся полей и/или кадров.


Примерно так обстоят дела с интерлейсингом и телесином, бороться с ними нам предстоит применением соответствующих фильтров.

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






Теперь сохраняем проект - это делается кнопкой "F4" или File->Save Project



Далее нужно настроить Gordian Knot.

Главное окно Gordian Knot:



Тут нас интересует вот это окошко:



Нажимаем на "Open" и находим файл с расшерением ".d2v", созданный программой "DGIndex".

Скармливаем программе этот файл, после чего должно появиться вот такое окно:



Нажимаем на "Save & Encode".

В появившемся окне:



Так как видео Interlaced, нас интересует фильтр Inverse Telecine - устанавливаем галку напротив его названия и нажимаем на "Save"



Далее переходим в закладку Bitrate:



1. Выбор контейнера - avi.
2. Выбор кодека - Xvid.
3. Устанавливаем размер видео на выходе.
4. Понижаем FPS c 29.970 до 23,976.

Во вкладке Resolution:



1. Выбор формата исходника - у нас он в NTSC.
2. Выбор разрешения исходника - 4:3.
3. Растянуть левую и правую сторону, чтоб не было обрезов по бокам.

Width x Height
Обозначает разрешения видео на выходе - у нас оно будет 640 x 480.

Переходим во вкладку Encoder:



Нажимаем на кнопку Add
Появляется вот такое окно - проверяем, отмечено ли Multi passes, выбираем в нём XviD:



Здесь нас интересуют кнопки First Pass и Second pass. Нажимаем на First pass, видим:



Нажимаем напротив Profile @ Level: на more... получаем следующую картину.



А теперь подробнее:
1. Quant. type - H.263 (для более, чем 1ч на 700МБ), MPEG (для менее, чем 1ч на 700МБ).
2. Quarter Pixel - резко снижает артефакты типа "шевелящегося" фона (ИМХО самые омерзительные). Да, требует дополнительных 30% времени на обсчёт, но можно отлично сэкономить на Chroma Motion (почти вдвое).
3. Global Motion Compensation - уменьшает паразитные "шевеления" фона при панорамировании, экономит битрейт (где-то 10%, а на некоторых сценах и втрое). Само собой, GMC без QPel толком работать не будет (битрейт-то сэкономит, но зрелище может быть жалкое).
4. B-VOP несколько уменьшают накопление искажений (на длинных сценах, когда кадр перед ключевым часто сильно отличается от ключевого). Но зато на высококачественном видео при B-Vop заметно мерцание мелких деталей.
5. Эту фишку только ffdshow умеет корректно проигрывать, на других декомпрессорах эта опция вызывает глюки. Но есть мнения спецов: какие "другие"? XviD берёт правильно, DivX в жизни ничего правильно (кроме самого себя) не брал, "Nero MPEG1/2/4 decoder" (скромное такое) кошмарно портит при YV12 <-> YUY2, нечётной высоте, AQ, GMC и прочих полезных фишках... больше и не знаю-то.

Здесь хотелось бы обратить внимание, что, если вы хотите добиться максимальной совместимости с аппаратными проигрывателями, то лучше не использовать пункты 2 и 3 - QP и GMC. Это ухудшит качество картинки, но при их включении 80% плееров откажутся воспроизводить ваш файл.

Жмем Ok.

В Encoding type выбираем Twopass - 1st pass и жмём more...



Ставим галку напротив Full quality first pass



Нажимаем Ок,

Далее - Zone Options...



И ставим галку около Cartoon mode



Жмём Ок,

переходим во вкладку Quality preset



Переходим во вкладку: Quantization



Жмём Ок

Переходим во вкладку: Other Options...



1. Ставим DX50 для лучшей совместимости с железными DVD-плеерами.
2. Посмотреть, как кодит кодек, но лучше отключить - для того, чтобы быстрей кодилось.

Жмём Ок, с первым проходом у нас всё.

Далее:



Нажимаем на more... в Profile @ Level и смотрим, аналогично ли все тому, как было сделано для первого прохода.

Выставляем в Encoding type: Twopass - 2nd pass

Ниже жмём на calc...





1. Требуемый размер видео на выходе.
2. Продолжительность видео и необходимый fps.
3. Формат аудио.



Размер: 289 MB только видео,
время: эпизод 23 минуты 20 секунд
аудио: я выключаю, так как интересует только размер видео.

Время и размер посмотреть можно в Gordian Knot(е) во вкладке Bitrate.



Жмём Ок, во вкладках Zone Options, Quality preset и Other Options... должно быть указано то же самое, что и на первом проходе.

Выходим из настроек кодека нажатием на кнопку Ок.

И нажимаем




Решение проблемы с некорректным размером при кодировании видео кодеком XVid

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

Чтобы избежать данной проблемы при двухпроходовом кодировании, необходимо задать следующие параметры в XviD Configuration -> Encoding type: Twopass - 2nd pass -> More:
1. Overflow control strength: установить значение 10 или 20.
2. Max overflow improvement: установить значение 10 или 20.
3. Max overflow degradation: установить значение 10 или 20.


Автор оригинала Aprel
Информация взята с сайта http://www.animereactor.ru
Спонсор проекта http://www.animereactor.ru
Категория: Видео | Просмотров: 2618 | Добавил: -tahag-
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа

Календарь новостей
«  Июль 2008  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031

Наш опрос
Помогла-ли вам эта информация ?
Всего ответов: 18

Поиск

Статистика

Copyright MyCorp © 2024