Создание видеодорожки для DVD (mpeg2) из прогрессивного HD-источника (h264) и сопутствующие моменты

Страницы :  1, 2, 3 ... 85, 86, 87  След.
Ответить
 

Mikky72

VIP (Заслуженный)

Стаж: 17 лет 9 месяцев

Сообщений: 8498

Mikky72 · 09-Май-09 18:16 (15 лет 7 месяцев назад, ред. 19-Сен-17 21:47)

Внимание!
Инструкция обновлена 12.12.2015 г.
Описан вариант кодирования музыкальных фильмов с сохранением скорости 24 к/сек.


Использование интерлейсных источников Создание видеодорожки для DVD из интерлейсного HD-источника
Создание видеодорожки для DVD (mpeg2) из прогрессивного HD-источника (h264) и сопутствующие моментыВерсия 1.3
от 12.12.2015 г.
Вместо вступленияКак следует из названия данной инструкции кодированию должен подвергаться прогрессивный материал. Какой материал (видеоряд) называют прогрессивным? Тот, в котором соседние строки кадра соответствуют одному моменту времени. Примеры этого - отсканированная фотография или кадр кинопленки. Именно такой материал обеспечит более высокое качество картинки. В интерлейсном материале соседние строки соответствуют разным моментам времени, что визуально воспринимается как гребенка на изображении. Подобный интерлейс появляется при телевизионной съемке (камера раздельно снимает четные и нечетные строки в разные моменты времени) или при повышении частоты кадров исходника, например, при переводе из киношкой частоты 24 fps в телевизионные 25 или 29,97 fps (дополнительные кадры формируются за счет четных и нечетных строк соседних кадров).
Вопросы по преобразованию интерлейсного материала в прогрессивный рассматриваются в целом ряде соседних топиков (там и следует обсуждать эти вопросы), так что данная инструкция их обходит стороной.
Но слова "интерлейс" и "прогрессив" можно встретить и в другом контексте. Так называют варианты кодирования (сжатия) видеоматериала. Это не должно сбивать с толку. Интерлейсное кодирование предполагает раздельное вычисление двух интегралов преобразования Фурье (один интеграл только по нечетным строкам, другой только по четным). Прогрессивное кодирование предполагает вычисление единого интеграла по всем строчкам кадра.
Для интерлейсного материала вычисление единого интеграла приводит к невозможности качественного устранения гребенок и двоений картинки в плеере (детали оставим в стороне). По этой причине интерлейсный материал должен кодироваться только раздельным интегрированием строк. Прогрессивный материал может кодироваться любым вариантом (парой интегралов или единым интегралом), если это особо не оговорено стандартами (например, PAL блюрэй Фулл АшДи должен быть закодирован интерлейсно, хотя сам материал - сканированная кинопленка - прогрессивный).
Итак, мы договорились, что будем кодировать прогрессивный материал, а вот метод кодирования выберем тот, который больше нравится (лично я предпочитаю не противоречить разработчикам профессиональных программ и в инструкции использую их рекомендации).
Введение
В последнее время приходится всё чаше встречаться с видеоматериалом в HD-качестве (т.е. в высоком разрешении). Тем не менее, хочется сохранить себе в коллекцию данное видео именно в DVD-формате (причины могут быть разные, не будем углубляться в этот вопрос). Наиболее часто приходится иметь дело с файлом формата MKV (контейнер «матрёшка»), содержащим видео, сжатое кодеком h264. Именно для этого типового варианта и составлена данная инструкция.
Инструкция разделена на три части, так как весь процесс преобразования формата видео можно разделить на три стадии:
а) декодирование исходного формата;
б) преобразование параметров видео (разрешение, цветовая шкала и т.п.);
в) кодирование в требуемый формат.
Существует два основных подхода к реализации данного процесса. Первый подход состоит в том, что каждая стадия для всего видеоряда должна полностью завершиться до начала следующей. Результаты каждой стадии сохраняются на жестком диске в виде файлов. Но при этом потребуются слишком большие объемы дискового пространства (особенно для хранения несжатого видео после первой и второй стадий). По этой причине рассматривается только второй подход – следующая стадия начинается, когда один кадр прошел предыдущую (т.е. происходит покадровая передача кадров по цепочке). В этой ситуации нет необходимости хранения огромных файлов с промежуточной информацией. Но для связи отдельных операций в единый процесс потребуется специальное средство – фрейм-сервер AVISynth.
Часть 1
Декодирование HD-видео

Для того, чтобы декодировать h264-видео при помощи AVISynth, необходимо воспользоваться специально предназначенным для этого плагином. Владельцы видеокарт NVidea с CUDA имеют возможность пользоваться лучшим декодером - DGDecNV (между прочим, данный декодер заточен под исходники с размером по высоте, кратным 8, если у Вас исходник с некратным размером - обратите внимание на нижние строчки декодированной картинки - там могут появиться зеркальные повторы нескольких нижних строк оригинальной картинки). Остальным придется пользоваться универсальным вариантом - бесплатным декодером FFMpegSource2.
В данном примере файлы универсального декодера скачаны с официального сайта и помещены в папку C:\Program Files\FFMpegSource2\. Сам видеоматериал (файл film.mkv) помещен в папку D:\Video\.
Рис.1
Чтобы процесс декодирования прошел успешно, видеоматериал должен быть проиндексирован, т.е. декодер должен предварительно «познакомиться» с материалом. Для этого в проводнике Windows щелкаем правой кнопкой мышки на файле film.mkv и в меню выбираем вариант «Открыть с помощью…» - «Выбрать программу» (галочку "всегда использовать эту программу" лучше снять, чтобы не терять привязку видео-файлов к любимому плееру). В появившемся окне с помощью кнопки «Обзор» указываем в качестве программы утилиту ffmsindex.exe из папки декодера.
Через пару минут в папке D:\Video\ появится служебный файл film.mkv.ffindex.
Покадровое декодирование самого видео при посредничестве фрейм-сервера AVISynth начнется при открытии в видеоредакторе или кодировщике скрипта - специального текстового файла с командами, имеющего расширение *.avs (в примере он будет называться scrypt.avs). Ниже приводится текст скрипта (скрипт можно писать стандартным Блокнотом Windows), с помощью которого можно убедится в работе декодера и посмотреть на параметры видеодорожки:
Цитата:
LoadPlugin("C:\Program Files\FFMpegSource2\ffms2.dll") # подключение декодера
FFVideoSource("D:\Video\film.mkv") #открытие видео
Coloryuv(analyze=true) #проверка, цветового диапазона
Открыв полученный скрипт scrypt.avs в программе VirtualDub, просмотрим несколько эпизодов видео, обращая внимание на показатели, которые на скриншоте обведены красной рамкой.
Рис. 2
Наблюдение за колебаниями этих параметров позволяет сделать вывод о типе яркостной шкалы: 0-255 или 16-235. В примере явно имеет место шкала 16-235, так как параметры ни разу не вышли за границы этого диапазона. Следует отметить, что единичные переходы границ на 1 пункт скорее следует воспринимать как ошибки, так как признаком шкалы 0-255 будет более существенный и стабильный выход за границы 16 вниз и 235 вверх.Часть 2
Подготовка видео к кодированию
Прежде всего, надо удалить из скрипта ненужную команду анализа видео (мы ведь не хотим любоваться значениями параметров яркости при просмотре фильма на домашнем кинотеатре в семейном кругу).
Также следует обратить внимание на размер кадра. Если размер видео-кадра по вертикали не кратен 4-м, то могут возникнуть неприятные проблемы при преобразованиях. В такой ситуации (а в примере видео имеет вертикальное разрешение 546 точек) следует сразу после открытия видеофайла обеспечить такую кратность подрезкой нижней части кадра высокого разрешения на 2 пикселя. Для этого добавим в скрипт команду:
Цитата:
crop (0,0,0,-2) # если высота не кратна 4
Далее следует произвести конверсию цветового пространства при помощи плагина AutoYUY2. В данном примере файлы плагина скачаны с официального сайта и помещены в папку C:\Program Files\AutoYUY2\. Добавляем в скрипт строки:
Цитата:
LoadPlugin("C:\Program Files\AutoYUY2\AutoYUY2.dll") #подключение плагина
AutoYUY2() # конверсия цветового пространства
Следующим этапом подготовки видео является корректировка матрицы цветовых коэффициентов с помощью плагина ColorMatrix. В данном примере файлы плагина скачаны с официального сайта разработчиков и помещены в папку C:\Program Files\ColorMatrix\. Добавляем в скрипт строки:
Цитата:
LoadPlugin("C:\Program Files\ColorMatrix\ColorMatrix.dll")
ColorMatrix(mode="Rec.709->Rec.601", inputFR=false, clamp=0) # 16-235
#ColorMatrix(mode="Rec.709->Rec.601", inputFR=true, clamp=0) # 0-255
Как видно, две строчки с Colormatrix почти одинаковые (они используются в случае, если анализ в VirtualDub показал те или иные результаты). Решеточкой отключается ненужный вариант. Для нашего исходника останется вариант с яркостью 16-235, а второй вариант превращен просто в комментарий.
Теперь поговорим о размере и пропорциях картинки. На HD-источниках используют так называемые "квадратные" пиксели, соответсвенно, отношение количества точек по вертикали и горизонтали совпадает с пропорциями самой картинки.
Высокое разрешение на подходит для DVD. Максимальным разрешением для DVD является 720х576 (для PAL) или 720х480 (для NTSC). При этом в обоих случаях используются "неквадратные" пиксели разной степени "сплющенности" - первая степень сплющенности позволяет формировать картинку с пропорциями 4:3, вторая степень - 16:9.
Так как придется считать, то введем следующие обозначения:
Ho - высота исходного видео в пикселях;
Wo - ширина исходного видео в пикселях;
AR - пропорции будущего DVD (AR=4/3 или AR=16/9);
hhh - высота полезного изображения на DVD;
www - ширина полезного изображения на DVD;
bbb - ширина каждой из 2-х (верхней и нижней) "черных полос", дополняющих полезное изображение до полного кадра на DVD.
Определение размеров для PAL:
Цитата:
www = 720
hhh = 576 * AR * Ho / Wo (округляем до ближайшего числа, кратного 8)
bbb = (576 - hhh) / 2
Определение размеров для NTSC:
Цитата:
www = 720
hhh = 480 * AR * Ho / Wo (округляем до ближайшего числа, кратного 8)
bbb = (480 - hhh) / 2
В примере исходник, имеющий после подрезки размеры Wo=1280, Ho=544, кодируется в PAL DVD, у которого AR=16/9. C учетом округлений до кратности 8 получаем: www=720, hhh = 432 пикселей, bbb = 72.
С учетом этого добавляем в скрипт scrypt.avs команды изменения размеров кадра:
Цитата:
BicubicResize(720, 432, 0, 0.5) #ресайз методом Catmull-Rom spline
AddBorders (0,72,0,72) # добавление черных полос
Немного о ресайзе
При помощи двух последних параметров функции BicubicResize(H, W, b, c) можно немного менять резкость картинки.
Два этих параметра связаны соотношением: b + 2*c = 1. Математически предел резкости метода достигается при b=0, c=0.5..
Отрицательные b недопустимы, но можно задать с>0.5. В этом случае начнется процесс "подчеркивания контуров" (crispening) за счет снижения динамического диапазона изображения.
Лично я (надеюсь, как и большинство форумчан) не одобряю псевдо-резкость, поэтому рекомендую - не увлекайтесь этим.
Также популярным и часто используемым при переводе HD в стандартное (DVD-шное) разрешение являются ресайзеры серии Ланцош - например, Lanczos4Resize. Четкость вроде немного повыше, чем у Саtmull-Rom, а особо криминальных артефактов не заметно. В любом случае знайте, что существует великое множество алгоритмов ресайза, и у каждого из них есть свои достоинства и недостатки...
Кроме того, следует учесть, что частота кадров фильма в системе PAL составляет 25 кадров в секунду (в NTSC – 23,976 кадров в секунду). Зададим нужную частоту кадров добавлением в скрипт команды:
Цитата:
AssumeFPS(25) #изменение частоты кадров под стандарт PAL 25 кадров/сек
Если бы на выходе требовалось подготовить материал в NTSC, то надо было бы вставить команду:
Цитата:
AssumeFPS ("ntsc_film") #изменение частоты кадров под стандарт NTSC
О скорости воспроизведения музыкальных фильмов
При кодировании фильмов типа фильма "Стена" А. Паркера следут избегать изменения скорости воспроизведения, которая вынуждает "портить" ускорением или замедлением музыкальные композиции. В этом случае оригинальную скорость исходника (в данном случае это 24 кадра в секунду) следует сохранить.
Поэтому вне зависимости от того, под какой стандарт DVD готовится видеодорожка, следует подтвердить частоту кадров исходника. В данном случае при помощи команды
Цитата:
AssumeFPS (24) #подтверждение кинотеатральной частоты кадров
Конечно, добавляемый при авторинге к такому видеоряду звук должен иметь аналогичную скорость воспроизведения, чтобы соблюдалась его синхронность с видео.
В итоге полный текст скрипта для PAL scrypt.avs будет выглядеть так:
Цитата:
LoadPlugin("C:\Program Files\FFMpegSource2\ffms2.dll") # подключение декодера
FFVideoSource("D:\Video\film.mkv") #открытие видео
crop (0,0,0,-2) # если высота не кратна 4
LoadPlugin("C:\Program Files\AutoYUY2\AutoYUY2.dll") #подключение плагина
AutoYUY2() # конверсия цветового пространства
LoadPlugin("C:\Program Files\ColorMatrix\ColorMatrix.dll") #подключение плагина
ColorMatrix(mode="Rec.709->Rec.601", inputFR=false, clamp=0) # 16-235
#ColorMatrix(mode="Rec.709->Rec.601", inputFR=true, clamp=0) # 0-255
BicubicResize(720, 432, 0, 0.5) #ресайз методом Catmull-Rom spline
AddBorders (0,72,0,72) # добавление черных полос
AssumeFPS(25) #изменение частоты кадров под стандарт PAL 25 кадров/сек
Этот скрипт будет использоваться для подачи подготовленного видео в кодировщик MPEG2.Часть 3 Кодируем видеодорожку
Вариант 1 - кодировщик Cinema Craft Encoder SP3
Запускаем предварительно инсталлированный кодировщик CCE SP3. В пустом поле слева (рис. 3) щелкаем правой кнопкой мышки и выбираем Add Source...
Рис. 3
Через появившийся стандартный Проводник (рис.4) показываем файл скрипта scrypt.avs (становится виден, если выбран показ «все файлы»).
Рис. 4
Выскочит окошко, предлагающее выбрать базовый тип проекта. В данном случае следует указать «PAL DVD Film» (рис. 5).
При создании видеодорожки для диска в стандарте NTSC надо выбрать вариант «NTSC DVD Film (pulldown)».
Рис. 5
В правой части главного окна кнопкой 1 (рис. 6) раскроем настройки видео и зададим нужные нам параметры: предназначение дорожки (позиция 2), телевизионную систему (позиция 3), соотношение сторон (позиция 4). В позиции 3 следует выбрать многопроходное кодирование с переменным битрейтом и задать количество таких проходов в позиции 6 (двух-трех проходов вполне достаточно).
Рис. 6
Для системы PAL характерно воспроизведение фильмов со скоростью 25 кадров в секунду (поз. 7). При кодировании фильма в NTSC следует в этой позиции выбрать 23,976 и чуть правее указать тип пуллдауна, например, 3:2 pulldown. В обоих случаях должна быть снята галочка Rate Conv.
В позиции 8 следует указать желаемый размер видеодорожки в тех или иных единицах измерения, исходя из доступного места на DVD-болванке с учетом размеров звуковых дорожек, бонусов и меню. Этот размер будет определять значение среднего битрейта (первое число в позиции 9), по этой причине надо следить, чтобы он не превысил максимально допустимого. Максимально допустимый битрейт видео (третье число в позиции 9) не может быть более 9800 кбит/сек. Также максимальный битрейт ограничивается условием нахождения суммарного битрейта фильма (видео со всеми звуковыми дорожками и субтитрами) в пределах 10 Мбит/сек. Минимальный битрейт (второе число в позиции 9) не рекомендуется ставить менее 2000 кбит/сек.
После установки этих настроек кнопкой 1 можно обратно свернуть Video settigs и приступить к настройке MPEG Settings, окно которых разворачивается соответствующей кнопкой в правой части главного окна программы.
Рис. 7
В данном окне можно оставить неизменными все настройки, кроме поля «Offset line». Для нашего прогрессивного исходника в этом окне следует выставить «0».
О кодировании в 24 кадра в секунду
В связи с отсутствием в CCE готовых пресетов для создания видеодорожки из исходника 24 к/сек даже для NTSC-DVD, способом получить дорожку 29,97 кадров в секунду является или отказ от CCE в пользу кодировщика Carbon Coder (я бы лично так и порекомендовал - он имеет вариант настроек для 24p->29,97i) или создание видео "не для DVD" стандартного разрешения (например, 720х480 с прицелом на NTSC) с такими настройками (см. спойлеер):

Для преобразования такой дорожки к совместимому с DVD виду потребуется обработать полученный после кодирования файл с помощью программы DGPulldown (комментарии по программе см. в конце инструкции). Для случая NTSC в DGPulldown следует отметить опцию 24->29,97 (см. рис. 19).
Для более тонкой настройки параметров кодирования следует переместиться в главное меню программы в пункт «Window». В этом меню выберем пункт «Picture» (рис. 8).
Рис. 8
После этого откроется окно (рис. 9) в котором следует указать настройки кодирования наилучшим образом учитывающие особенности исходного видео.
Рис. 9
Любые параметры могут быть установлены вручную, но это задача для профессионала, которому данная инструкция не нужна. Начинающим рекомендуется первым делом выбрать один из подходящих наборов параметров (пресетов) в верхней части окна. При выборе следует учесть следующее:
- пресеты группы Natural адаптированы под стандартное игровое или документальное кино;
- пресеты группы Animation заточены под рисованные мультфильмы с четкими контрастными границами объектов;
- пресеты группы CG подходят для более мягкой компьютерной графики;
- цифра в обозначении пресета говорит о степени подавления мелких деталей в изображении, чем больший номер имеет пресет в пределах группы, тем сильнее «замыливается» картинка (данная трактовка отличается от разъяснений разработчиков CCE, но более наглядно описывает результат применения пресета).
Только после выбора пресета следует в нижней части окна указать прогрессивный характер источника видео (красная стрелка на рис. 9). А самом нижнем левом углу в для прогрессивной картинки рекомендуется выбрать метод сканирования блоков "Zigzag".
В ССE SP2 в этом окне была кнопочка "Apply" (применить). Теперь её нет. Чтобы выбранные настройки сохранились для дальнейшего использования в рамках сеанса работы с программой, надо нажать кнопку SAVE в верхней части окна и сохранить настройки под адекватным именем (например, "Четкий прогрессив"). Если хотите сохранить их и на будущее, то также нажмите кнопку SAVE в нижней части окна и сохраните в файл.
Далее следует закрыть это окно и настроить параметры матрицы квантизации через меню Window – Segment (рис. 10).
Рис. 10
Как и в предыдущем случае, новичкам имеет смысл выбирать одну из предлагаемых разработчиками матриц (рис. 11). Чтобы выбор был обоснованным следует дать некоторые разъяснения.
Рис. 11
Матрица Natural 1 является предлагаемой по умолчанию матрицей и не имеет четкой ориентации – универсальная матрица «для всего». В случае игрового кино (live-action) лучший результат может показать матрица Natural 2. Если кодирование несложного видео (нет пламени, водной ряби, листвы на деревьях и быстрых движений) ведется с высоким битрейтом можно порекомендовать матрицу MPEG Standard. Матрица СG 1 подойдет для мультфильмов и компьютерной графики, а в ситуации недостаточно высокого битрейта можно воспользоваться её модификацией СG 2.
Если Вы выбрали какой-то пресет, отличный от Natural 1, или сами создали в данном окне матрицу - сохраните установки под подходящим именем (например, я выбрал матрицу Mpeg Standard и сохранил эту настройку сегмента под именем "Матрица Мпег Стандарт") - действия аналогичны описанным выше (сохранение параметров Picture).
После выбора матрицы можно закрыть данное окно.
Теперь выбранные нами настройки Picture и Segment надо привязать к самому видео. Для этого в главном окне программы надо дважды щелкнуть на маркере начала нужного фрагмента фильма (см. рис. 11+ ). Так как мы не делили фильм на фрагменты, то из двух маркеров (маркер начала и маркер конца) это будет первый (с временной меткой 00:00:00:00). В появившемся окошке надо поставить галочки в позициях Segment и Picture и в соответствующих полях выбрать сохраненные пользовательские настройки. После этого нажимаем ОК.
Рис. 11+
Как видим (рис. 11+), в главном окне возле маркера начала сегмента (фильма) появились выбранные пользовательские установки. Теперь можно приступать к кодированию. Для этого в левой части главного окна программы надо щелкнуть правой кнопкой мышки на имени скрипта и выбрать вариант «Encode» (рис. 12). Когда кодирование закончится (это очень долгий процесс), программу можно закрыть. В папке D:\Video\ появится файл видеодорожки scrypt.m2v.
Рис. 12
Вариант 2 - кодировщик Rhozet Carbon CoderПроцедура работы в Carbon Coder значительно проще. После запуска программы открываем скрипт (Source – Add).
Рис. 13
Подскажем кодировщику, что видео на входе в данном примере прогрессивное (non-interlaced), имеет пропорции 16:9 (при указании этого пункта в диалоговом окне Source Pixel Aspect Ratio должен быть выбран DV PAL или DV NTSC в зависимости от нашего материала) и не содержит аудио (рис. 14).
Рис. 14
Теперь укажем характеристики желаемого видео. Для начала укажем (рис. 15) «целевой шаблон» - DVD системы PAL наивысшего качества (или NTSC, если собираемся делать такой вариант).
Рис. 15
В появившемся окне (рис. 16) внесем изменения в настройки:
1 – укажем папку назначения;
2 – зададим пропорции изображения;
3 – включим двухпроходное кодирование;
4 – укажем средний, минимальный и максимальный битрейт (соображения по поводу битрейта аналогичны рассмотренным выше для варианта с CCE SP3;
5 – отключим работу с аудио.
Рис. 16
На рис. 17 показаны отличия в настройках для кодирования видеодорожки в стандарте NTSC (если в скрипте было принято решение подтвердить киношную скорость воспроизведения музыкального фильма, то в поле Frame Rate выбирается опция 24p->29,97i).
Рис. 17
Следует отметить, что Carbon Coder для DVD предлагает применять интерлейсное кодирование (отдельно кодируются четные строки изображения, отдельно нечетные).
Тем не менее, при кодировании прогрессивного фильма с пресетами 23,976p->29,97i и 24p->29,97i по факту кодирование получается прогрессивным (целыми кадрами). А вот c пресетом DVD-PAL результат получается закодированным полями (интерлейсное кодирование).
Для повышения качества кодиирования кинофильма в PAL (прогрессивное кодирование считается борлее качественным) данную особенность Carbon Coder-а можно обойти, выбрав вариант прогрессивного кодирования. Для этого надо (см. рис.16/17):
а) в пункте Stream Format - выбрать вариант Generic ISO Mpeg Stream;
б) в пункте Interlacing - выбрать вариант Non-Interlaced
в) выставить вручную разрешение и частоту кадров (fps = кадров в секунду) - для PAL (720x576 и 25fps).
Теперь можно запускать процесс кодирования (рис. 18).
Рис. 18
По окончании процесса кодирования в папке D:\Video появится файл видеодорожки scrypt_MPEG2_DVD_PAL(Mastering).m2v
Немного о кодировании музыкальных фильмов в PAL
PAL-издание упомянутого фильма А.Паркера "Стена" закодировано в интерлейсе методом "хард-телесин" (т.е. реальное кодирование всех дублирующих полей), причем после каждых 12 кадров добавляется дублирующее поле (один раз нижнее, в следующий раз верхнее), а оригинальное поле переносится в следующий кадр, и этот сдвиг полей повторяется и в следующих кадрах (так называемый 2:2 pulldown). В результате видеоряд представляет собой чередование цепочек из 12 кадров без "гребёнки" и из 13 кадров с "гребёнкой". С учетом того, что телевизоры по факту проводят деинтерлейс с удвоением частоты кадров (переводят 25i в 50p), то такая технология обеспечивает более плавное воспроизведение фильма, чем просто повтор каждого 24-го кадра.
Чтобы самостоятельно осуществить нечто подобное c использованием "софт-телесина" с добавлением флагов, надо закодировать видео без пресета DVD (но с правильным размером кадра в пикселях) в обычный MPEG2 c частотой 24 кадра в секунду.
Полученный видеофайл в дальнейшем стоит пропустить через утилиту DGPulldown.Интерфейс у программы простейший:
Рис. 19
Выбираем исходный файл (Source ES), указываем имя файла для сохранения (Dest ES), выбираем вариант "Custom" и указываем исходный фреймрейт 24 и конечный 25. После чего нажимаем кнопку "Convert".КонецP.S. Многопроходному кодированию может начать ставить палки в колеса антивирус! Настройте его грамотно или отключите на время кодирования... Архивная инструкция (под CCE SP2) в формате справи *.chm, предоставленная germanm2000 Версия 1.0
[Профиль]  [ЛС] 

volphil

Top User 12

Стаж: 15 лет 10 месяцев

Сообщений: 729

volphil · 11-Июн-09 08:25 (спустя 1 месяц 1 день, ред. 11-Июн-09 08:45)

Правильно ли я понимаю, что в HDTV фильмах (кодек VC-1, формат ***.m2ts, 1080p) раздражающие мелкие рывки и подергивания
при быстром движении камеры (особенно это видно на панорамных сценах) возникают из-за Pulldown?
Если да, то как лучше всего снять этот хренов Pulldown при конвертации, например, в MKV? (Т.е. по логике вроде бы перевести ~ 29,9 fps >> ~ 24,9 fps)
Я делал ремукс TSRemux-ером, затем напускал на видеопоток VC1conv, чтобы убрать Pulldown. Затем опять собирал аудио + видео TSMuxer-ом.
В итоге получался файл с правильным звуком, но вместо изображения была какая-то россыпь цветных квадратиков.
Еще я напрямую убирал Pulldown посредством TSMuxer-a. Pulldown исчез, но дерганость и рывки остались (если стало и получше, то совсем мало).
[Профиль]  [ЛС] 

tartak

VIP (Заслуженный)

Стаж: 18 лет 9 месяцев

Сообщений: 2548

tartak · 11-Июн-09 08:38 (спустя 12 мин.)

volphil писал(а):
раздражающие мелкие рывки и подергивания при быстром движении камеры (особенно это видно на панорамных сценах) возникают из-за Pulldown?
Нет, скорей это у вас проблема с плеером/компом, мощности не хватает. Пулдаун если и проявляется, то при медленном движении камеры.
Без пулдауна фильм просто не может существовать в NTSC, поскольку его частота кадров ~ 30, а у фильма - 24.
[Профиль]  [ЛС] 

volphil

Top User 12

Стаж: 15 лет 10 месяцев

Сообщений: 729

volphil · 11-Июн-09 08:55 (спустя 16 мин., ред. 11-Июн-09 08:55)

Вообще-то у меня Phenom II X4, 2 гига оперативки, стоит Win Xp Sp3. Видеокарта, правда, посредственная -- GeForce 9500, 512 Mb,
но вроде не скажешь, что совсем слабая. Кроме того, рывки и подергивания сохраняются после конвертации в MKV с меньшим разрешением,
так что вроде дело не в нехватке мощности.
По логике, при медленном движении объектов Pulldown вообще не должен проявляться (например, если все просто стоит на месте --
какие могут быть проблемы?)
К тому же, почти на всех форумах полно советов убирать Pulldown перед конвертацией в MKV и обосновывают это именно подергиваниями,
особенно на панорамах.
В общем, не знаю, что думать...
[Профиль]  [ЛС] 

tartak

VIP (Заслуженный)

Стаж: 18 лет 9 месяцев

Сообщений: 2548

tartak · 11-Июн-09 09:05 (спустя 10 мин.)

volphil писал(а):
По логике, при медленном движении объектов Pulldown вообще не должен проявляться (например, если все просто стоит на месте --
какие могут быть проблемы?)
Плохая логика. Движение отличается от стояния на месте.
volphil писал(а):
К тому же, почти на всех форумах полно советов убирать Pulldown перед конвертацией в MKV и обосновывают это именно подергиваниями, особенно на панорамах.
Ну, mkv может иметь любую частоту на компе, он к NTSC не привязан. Подергивания в самом деле слегка заметны на панорамах, но медленных и плавных.
А избавиться от пулдаун в принципе, в большинстве случаев, не так сложно. Надо писать скрипт с обратным телесином. Это интересная тема, надо бы расписать, если нигде у нас нет..
[Профиль]  [ЛС] 

Ang+

Top Loader 01* 100GB

Стаж: 16 лет 8 месяцев

Сообщений: 993

Ang+ · 14-Июн-09 23:39 (спустя 3 дня)

Mikky72, а в какую сторону лучше округлить 356 - до 352 или до 360?
[Профиль]  [ЛС] 

Mikky72

VIP (Заслуженный)

Стаж: 17 лет 9 месяцев

Сообщений: 8498

Mikky72 · 14-Июн-09 23:45 (спустя 5 мин., ред. 14-Июн-09 23:45)

Ang+
Большинство людей предпочитают быть высокими и стройными, а не маленькими и толстыми. Соответсвенно, я бы на Вашем месте округлил до 360.
[Профиль]  [ЛС] 

Ang+

Top Loader 01* 100GB

Стаж: 16 лет 8 месяцев

Сообщений: 993

Ang+ · 15-Июн-09 19:06 (спустя 19 часов)

Цитата:
N/M само выставляется (разное для PAL и NTSC)
Эх, а я исправил на 5, как на скрине, и кодировал.. Серьезная ошибка?
Цитата:
2) а вот зеленая полоса лично мне не нравится
Если она останется даже после перекодирования с N/M = 4, не подскажете, как попытаться исправить?
И что бы не гонять комп лишние 5 часов, можно-ли прокодировать CCE небольшую нарезку с помощью добавления в скрипт 3-х строчек вот отсюда?
[Профиль]  [ЛС] 

Mikky72

VIP (Заслуженный)

Стаж: 17 лет 9 месяцев

Сообщений: 8498

Mikky72 · 15-Июн-09 19:17 (спустя 10 мин., ред. 10-Окт-10 09:18)

Ang+
Лучше просто один короткий эпизодик от кадра frame1 до frame2 отобрать при помощи
Цитата:
trim(frame1, frame2)
По поводу дефектной полоски - это чудит Колорматрикс - одной из первых команд (до колорматрикса и ресайза) следует подрезать пару пикселей внизу кадра.
[Профиль]  [ЛС] 

РыбаМеч

Стаж: 17 лет 2 месяца

Сообщений: 63

РыбаМеч · 16-Июн-09 22:32 (спустя 1 день 3 часа)

Большое спасибо за такую подробную инструкцию.
А не подскажете, чем можно заменить DGAVGDecodeIndex в случае закодированного видео VC1? или Mpeg4? Кажется, он работает только с h264.....
[Профиль]  [ЛС] 

Alex Kud

Top User 02

Стаж: 18 лет 2 месяца

Сообщений: 138

Alex Kud · 11-Июл-09 21:25 (спустя 24 дня)

Хотел бы уточнить вот по этим строчкам:
Цитата:
ColorMatrix(mode="Rec.709->Rec.601", inputFR=false, clamp=0) #корректировка цветовой шкалы если проверка показывает 16-232
#ColorMatrix(mode="Rec.709->Rec.601", inputFR=true, clamp=0) #корректировка цветовой шкалы если проверка показывает 0-255
Зачем нужно конвертить в Rec.601? Судя по этой документации: http://avisynth.org.ru/docs/russian/externalfilters/colormatrix.htm
Цитата:
В случае, если Вы захватили что-либо, или Вы имеете XviD/DivX (оба кодированы с Rec.601 коэффициентами), и Вы хотите закодировать это в mpeg-2 используя CCE (который предполагает Rec.709 коэффициенты), Вы должны использовать следующий скрипт:
ColorMatrix(clip, mode="Rec.601->Rec.709")
Т.е. вроде как на вход CCE надо подавать как раз Rec.709...
[Профиль]  [ЛС] 

samsonq

Top Loader 02* 300GB

Стаж: 18 лет

Сообщений: 717

samsonq · 11-Июл-09 22:51 (спустя 1 час 26 мин.)

Alex Kud
Пояснения к этому можно прочитать вот здесь и здесь. А вообще можете по всей той странице пробежаться, если есть желание немного загрузить мозг.
[Профиль]  [ЛС] 

sk1987

Top Loader 04* 1TB

Стаж: 17 лет 7 месяцев

Сообщений: 1319

sk1987 · 01-Сен-09 01:18 (спустя 1 месяц 20 дней)

У меня вопрос: имею видео mkv 23,976 , хочу сделать ДВД. Какую частоту кадров мне выбрать, чтоб видео не дёргалось?
[Профиль]  [ЛС] 

Mikky72

VIP (Заслуженный)

Стаж: 17 лет 9 месяцев

Сообщений: 8498

Mikky72 · 01-Сен-09 16:53 (спустя 15 часов)

sk1987
Советовать не стану, но лично я предпочитаю PAL (там нет дублей).
[Профиль]  [ЛС] 

sk1987

Top Loader 04* 1TB

Стаж: 17 лет 7 месяцев

Сообщений: 1319

sk1987 · 01-Сен-09 17:32 (спустя 39 мин.)

Но если ставить ПАЛ, то, как я понимаю, звуковую дорожку прийдётся вздрючить? Это единственный "минус" конвертации 23.976 в 25 или есть ещё что-то? Меня больше интересует сохранение плавности движения в видео...
[Профиль]  [ЛС] 

Mikky72

VIP (Заслуженный)

Стаж: 17 лет 9 месяцев

Сообщений: 8498

Mikky72 · 01-Сен-09 19:49 (спустя 2 часа 16 мин.)

sk1987 писал(а):
Но если ставить ПАЛ, то, как я понимаю, звуковую дорожку прийдётся вздрючить? Это единственный "минус" конвертации 23.976 в 25 или есть ещё что-то? Меня больше интересует сохранение плавности движения в видео...
Придется "вздрючить" звук. Переделать NTSC-шные меню (либо сделать с нуля). Ну, и если Ваш DVD-плеер куплен в США, то он PAL может и не показывать. А вообще, сделайте сначала NTSC - будет раздражать отсутсвие плавности - переделаете в PAL.
[Профиль]  [ЛС] 

sk1987

Top Loader 04* 1TB

Стаж: 17 лет 7 месяцев

Сообщений: 1319

sk1987 · 01-Сен-09 20:13 (спустя 23 мин.)

Ладно, буду экспериментировать. Поставил конвертиться в НТСЦ - 12 часов будет 6 проходов делать. Причём я ставил 5 проходов, а оно какого-то лешего начало в 6...
[Профиль]  [ЛС] 

tartak

VIP (Заслуженный)

Стаж: 18 лет 9 месяцев

Сообщений: 2548

tartak · 01-Сен-09 20:32 (спустя 19 мин.)

Mikky72 писал(а):
если Ваш DVD-плеер куплен в США
Я бы вообще начал с того, что определил бы возможности плеера и телика (ну, или компа и т.д.) Что он конвертирует, как и т.д. Без этого все наши советы теряют ценность.
Кстати, есть плееры и телики, которые выдают и принимают 24 fps. Идеальный вариант.
[Профиль]  [ЛС] 

sk1987

Top Loader 04* 1TB

Стаж: 17 лет 7 месяцев

Сообщений: 1319

sk1987 · 01-Сен-09 20:42 (спустя 9 мин.)

У меня самые стандартные плееры, сертифицированные для СНГ. И телеки тоже. Все диски и ПАЛ и НТСЦ играют хорошо.
[Профиль]  [ЛС] 

ilbilb

Стаж: 16 лет 1 месяц

Сообщений: 29

ilbilb · 03-Сен-09 07:41 (спустя 1 день 10 часов)

Приветствую всех!
Столкнулся с такой проблемой. В Инструкции ничего не сказано про выставление Таймкода, стоит по умолчанию 01 00 00 00
Рис.
При конвертации в PAL позволяет выставить 00 00 00 00, и тайм код получается "нормальным". А при NTSC - не дает изменять, при этом получаем длительность + 1 час (по таймкоду).
Не подскажите, как это побороть?
И второй вопрос. Конвертация NTSC->NTSC. Какой нужно выставлять Пулдаун? По умочанию стоит 2:3.
Конвертируется видео с f=23.976
С уважением.
[Профиль]  [ЛС] 

Mikky72

VIP (Заслуженный)

Стаж: 17 лет 9 месяцев

Сообщений: 8498

Mikky72 · 03-Сен-09 21:47 (спустя 14 часов)

ilbilb
1) не знаю
2) Я обычно ставлю 3:2.
[Профиль]  [ЛС] 

sk1987

Top Loader 04* 1TB

Стаж: 17 лет 7 месяцев

Сообщений: 1319

sk1987 · 03-Сен-09 22:09 (спустя 22 мин.)

У меня получилось! Переделал в ПАЛ - никаких дёрганий не появилось, всё гладко и красиво
ilbilb писал(а):
При конвертации в PAL позволяет выставить 00 00 00 00, и тайм код получается "нормальным". А при NTSC - не дает изменять, при этом получаем длительность + 1 час (по таймкоду).
Не подскажите, как это побороть?
Хз, я эту опцию не трогал и у меня что в NTSC что в PAL всё было хорошо.
[Профиль]  [ЛС] 

LireLin

Стаж: 15 лет 9 месяцев

Сообщений: 3298

LireLin · 06-Сен-09 11:57 (спустя 2 дня 13 часов)

Цитата:
В отденом окошке (поз. 7) следует задать требуемый размер видеодорожки (в данном примере я задал размер в десятичных килобайтах (1 KB = 1000 B), аналогичный размеру оригинальной видеодорожки (VideoFile.m2v).
В каких разумных пределах можно уменьшать/увеличивать этот размер? Если исходник .avi размером 410 863 kB, CCE предлагает размер файла
3 261 090 kB - это нормально?
[Профиль]  [ЛС] 

Mikky72

VIP (Заслуженный)

Стаж: 17 лет 9 месяцев

Сообщений: 8498

Mikky72 · 06-Сен-09 12:39 (спустя 42 мин., ред. 06-Сен-09 12:39)

asp1r1n
Разумные пределы - это свободное место на болванке. Лично мне хватает качества, которое обеспечивается при полном заполнении болванки DVD5 (4,7 GB) без бонусов, без DTS и со статичным меню. По умолчанию CCE предлагает размер, исходя из среднего битрейта 6000 кбит/с - это вполне адекватно понятию "качественная картинка".
[Профиль]  [ЛС] 

LireLin

Стаж: 15 лет 9 месяцев

Сообщений: 3298

LireLin · 06-Сен-09 13:12 (спустя 32 мин.)

Mikky72
Спасибо, все получилось. Из avi-шки, мягко говоря, не очень хорошего качества, получилось вполне приличное DVD. Пойдем учиться дальше: 2 DVD5 на DVD9 и хотелось бы потом еще соответственно переделать меню. Этих ссылок будет достаточно или посоветуете еще что-нибудь к прочтению...
https://rutr.life/forum/viewtopic.php?t=445160
https://rutr.life/forum/viewtopic.php?t=548982
[Профиль]  [ЛС] 

DENnv

Стаж: 16 лет 11 месяцев

Сообщений: 1004

DENnv · 11-Сен-09 10:28 (спустя 4 дня)

Спасибо за инструкцию!
У меня вот такой вопрос:
Цитата:
В поз. 1 следует выбрать алгоритм ресайза картинки (например, Catmull-Rom) и поставить галочку в окошке "progressive frame". В конце надо нажать ОК (поз. 3).
Цитата:
Для исходника из примера я посчитал целесообразным пресет Natural 2 (чуть-чуть приглаживаютя шумы, но картинка остается достаточно чёткой). Также в нижней части окна ставим галочку "Progressive frame" и нажимаем кнопку "Apply".
Всегда ли нужно выставлять галки на progressive frame? Есть ли какие-то исключения? Если я кодирую из 1920x1040 NTSC 23,98 в 720x480 NTSC 23,98, нужны ли эти функции?
Дело в том, что на получившемся результате при панорамировании камеры оператора иногда встречается лёгкая "дрысь" заднего плана. Такое ощущение, что это может быть результат прогрессива... или я ошибаюсь?
[Профиль]  [ЛС] 

Mikky72

VIP (Заслуженный)

Стаж: 17 лет 9 месяцев

Сообщений: 8498

Mikky72 · 11-Сен-09 19:19 (спустя 8 часов)

DENnv писал(а):
ставим галочку "Progressive frame"
В моем примере источник 720p.
Если Вы грузите в ССE интерлейсные кадры, то её надо снять.
[Профиль]  [ЛС] 

AgniAtman

Стаж: 16 лет 2 месяца

Сообщений: 7

AgniAtman · 12-Сен-09 23:18 (спустя 1 день 3 часа, ред. 12-Сен-09 23:18)

Здравствуйте, спасибо за подробную инструкцию. Понимаю вопросы простые, но с поиском в Гугле что-то туплю...
1. Хочу сохранить скорость воспроизведения (всё-таки это как-то неправильно её менять). Меня вполне устроит NTSC. В источнике 23.976 (при этом появляются неактивные галки Pulldown). Хочу её сохранить. Ставлю. Кодирую. В результате получаю 29.97. Это как - требование стандарта?
Тогда какой способ без изменения времени будет менее заметным? Добавление кадров? 2:3 или 3:2? Смешение? Switch-mode?
И я так понимаю 23.976 fps и 720x576 не позволяет стандарт?
2. У вас хитрая формула для пересчёта размеров кадра из-за того что пиксель не 1:1 или что? Мне тупо надо 1280x720p втиснуть без обрезания в 720x480 16:9. По вашей формуле получается 480 и происходит обрезание.
И SAR: Unspecified в оригинале может из-за этого что не так...
[Профиль]  [ЛС] 

sk1987

Top Loader 04* 1TB

Стаж: 17 лет 7 месяцев

Сообщений: 1319

sk1987 · 13-Сен-09 00:31 (спустя 1 час 13 мин., ред. 13-Сен-09 00:32)

AgniAtman писал(а):
1. Хочу сохранить скорость воспроизведения (всё-таки это как-то неправильно её менять). Меня вполне устроит NTSC. В источнике 23.976 (при этом появляются неактивные галки Pulldown). Хочу её сохранить. Ставлю. Кодирую. В результате получаю 29.97. Это как - требование стандарта?
Угу. Но если в настройках кодека поставите сразу 29.97 - получится зверски ускоренное видео :)))
AgniAtman писал(а):
2. У вас хитрая формула для пересчёта размеров кадра из-за того что пиксель не 1:1 или что? Мне тупо надо 1280x720p втиснуть без обрезания в 720x480 16:9.
Если в HD-rip -е уже есть чёрные полоски сверху и снизу, то не надо никакими формулами ничего считать.
... отредактировано Mikky72
Кстати, забавный момент: занялся я перекодировкой ХД-версий фильма "Назад в будущее". Всю ночь комп трудился и в итоге выдал совершенно неприемлемый результат. Местами в видео начали возникать розоватого цвета "тянучки". Долго я бился с настройками и всё же, как всегда методом тыка, решил в файле-скрипте прописать deblock=true, вместо false - и всё стало нормально Вот так вот...
[Профиль]  [ЛС] 

Mikky72

VIP (Заслуженный)

Стаж: 17 лет 9 месяцев

Сообщений: 8498

Mikky72 · 13-Сен-09 00:42 (спустя 10 мин., ред. 01-Мар-10 12:40)

sk1987 писал(а):
AgniAtman писал(а):
2. У вас хитрая формула для пересчёта размеров кадра из-за того что пиксель не 1:1 или что? Мне тупо надо 1280x720p втиснуть без обрезания в 720x480 16:9.
Если в HD-rip -е уже есть чёрные полоски сверху и снизу, то не надо никакими формулами ничего считать.
И даже, если черных полос в рипе нет, а он просто полноразмерный (картинка не 2.4:1, а 16:9), то тоже никакая формула не нужна. Ресайз в скрипте до 720х480 и вперед (не забыв поставить в кодировщике галку на 16:9).
По поводу перехода 24->30 fps. Кикакого смешивания и интерполяции. Комбинируйте из полукадров по методу 2:3 или 3:2.
По поводу фильтра-деблокера. По идее просто надо проверять исходник. Если с отключенным деблокером картинка при просмотре фильма нормальная, то и включать его не надо. Его надо включать, если без него в исходнике присутсвуют всякие "квадраты" и "тянучки".
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error