|
| | |
| Главная » 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-
|
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
| |
| | |
|
Календарь новостей |
« Июль 2008 » | Пн | Вт | Ср | Чт | Пт | Сб | Вс | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|
Наш опрос |
Помогла-ли вам эта информация ?
Всего ответов: 18
|
Статистика |
|
|