Topic: Просмотр телекино-видео с плавностью

Перенес сюда обсуждение плавного воспроизведения телекино-преобразованных видео.
Телекино от telecine - это преобразования кино и PAL материалов к единой частоте 30 к/сек (pulldown 3:2 для преобразования 24/сек к 30 к/сек и pulldown 2:3:2:3:2 для преобразования 25 к/сек к 30 к/сек).

Перенесено из темы: Просмотр плавного видео с выводом через HDMI на телевизор

Re: Просмотр телекино-видео с плавностью

И второй вопрос - есть ли способ нормально проиграть видео, пример которых приведён в вышеуказанных ссылках в режиме 60p с использованием SVP ? При покадровом просмотре без SVP оно выглядит примерно так : два кадра чётких, один смазанный с интерлейсной гребёнкой, потом опять два чётких и один смазанный и т.д. Таким образом, если влючать при проигрывании деинтерлейс, появляется волнообразный эффект быстрее-медленнее, быстрее-медленнее... Если без деинтерлейса - видео идёт плавно, но присутствует постоянное мерцание, вызываемое, видимо этим смазанным кадром с гребёнкой.

Re: Просмотр телекино-видео с плавностью

John_Wayne
при воспроизведении чересстрочных 30-кадровых Blu-ray на экране с прогрессивной развёрткой всегда имеет место дурацкая волнообразность
Судя по описанию первого фильма, про который сказано "1080i / 29,970 fps", можно сделать вывод, что это либо запись, сделанная на видеокамеру с частотой 60 (59,94) фаз движения в секунду, либо на кинокамеру 24 (23,976) фаз движения в секунду.
В первом случае каждое поле (полукадр) содержит независимую картнику, снятую в отдельный момент времени, а во втором применяется 3:2 pulldown. Это запись каждого кадра по 3 и по 2 раза в поля (полукадры) конечного видео.
Смотреть такие фильмы с плавностью тоже нужно по-разному.
Для первого случая SVP вообще не нужен. Все 60 фаз движения великолепно достаются при помощи DXVA-декодирования и DXVA-деинтрерлейса.
Во втором случае придется попыхтеть, чтобы получить из 60i исходные 24p, а затем применить к ним повышение плавности в SVP.
Это все касается просмотра видео на прогрессивном мониторе.

Телеки же, обладают умными чипами, которые отличают настоящую чересстрочку от pulldown'а. Им достаточно подать на вход картинку в 60i. Дальше они сами разберут что к чему и при необходимости задействуют свой уплавнитель.

Что представляют из себя эти две раздачи (чересстрочка или пулдаун) надо качать и смотреть. Судя по описанию - "два кадра чётких, один смазанный с интерлейсной гребёнкой, потом опять два чётких и один смазанный" - это самый настоящий 3:2 пулдаун.

есть ли способ нормально проиграть видео, пример которых приведён в вышеуказанных ссылках в режиме 60p с использованием SVP ?
Скачаю первую раздачу и посмотрю, что с ней можно сделать, с какими настройками смотреть.

4 (edited by John_Wayne 14-11-2011 05:36:47)

Re: Просмотр телекино-видео с плавностью

MAG79

Все 60 фаз движения великолепно достаются при помощи DXVA-декодирования и DXVA-деинтрерлейса

А как настроить этот режим ?

Телеки же, обладают умными чипами, которые отличают настоящую чересстрочку от pulldown'а. Им достаточно подать на вход картинку в 60i. Дальше они сами разберут что к чему и при необходимости задействуют свой уплавнитель.

Не замечал разницы на примере 50i (режим который поддерживают и телек и монитор) для 25-кадрового видео между монитором и телеком, за исключением того, что последний умеет как-то компенсировать дрожание текста на экране в режиме чересстрочной разёртки. При просмотре видео разницы не увидел. И видео нормально синхронизируется, кстати в этом режиме только при проигрывании через стандартный WM Player 12. Тогда видео, поданное в режиме 50i идёт плавно и не дрожит. Если проигрывать при помощи mpc-hc, естественно, без SVP в данном случае, то видео дрожит, видимо, не синхронизируясь с дисплеем.

Re: Просмотр телекино-видео с плавностью

John_Wayne wrote:

как настроить этот режим ?

Зависит от железа. Ваш профиль не заполнен, какое у Вас железо я не помню.
Общие рекомендации: включить DXVA-декодер (MPC-HC, CoreAVC, ffdShow, DivX) и DXVA-совместимый отрисовщик: EVR, например. Обычно этого достаточно.

как-то компенсировать дрожание текста на экране в режиме чересстрочной разёртки
Это и есть деинтерлейс. smile Правильный деинтерлейс повышает (восстанавливает) плавность из 50i/60i до 50p/60p.

6 (edited by John_Wayne 14-11-2011 06:01:11)

Re: Просмотр телекино-видео с плавностью

MAG79
Профиль заполнил. madvr совместим в DXVA ? Или только разновидности EVR ?
Кстати, помните видео про Нью-Йорк ? (обсуждалось в теме "Рывки при обращениях к HDD").
Там похожая песня, но видео 25 кадров, чересстрочное. На глаз эффект волнобразности тот же, но в несколько раз менее ярко выражен. Если с 30-ю кадрами она бросается в глаза, то с 25-ю она слабее заметна но тоже присутствует.

Re: Просмотр телекино-видео с плавностью

John_Wayne
Нью-Йорк помню. Скачавал. Буду смотреть это видео, заодно и Нью-Йорк повторно гляну. По результатам отпишусь.
Профиль глянул, у меня тоже GTX 260, так что рекомендации будут конкретные для нашей с Вами видеокарточки.
madVR тоже покручу (до этого на нем чересстрочку смотреть не пробовал).

Re: Просмотр телекино-видео с плавностью

Посмотрел пока только Нью-Йорк (из этой раздачи, 25 к/сек, чересстрочка). Смотрел на мониторе (на ТВ, думаю, настройки аналогичные). Применение SVP не потребовалось: только аппаратный деинтерлейс.

Как делал. Переключил режим работы видеокарты в 1920x1200 @ 50 Гц (аналогичный режим на ТВ - это 50p). Выбрал декодер CoreAVC, включил в нем галку DXVA-декодирования и аппаратный деинтерлейс.

http://www.svp-team.com/forum/misc.php?action=pun_attachment&item=723

Галка аппаратного деинтерлейса только устанавливает флаг в видео-потоке о необходимости выполнить деинтерлейс. Выполнением деинтерлейса занимается уже отрисовщик. Поэтому я проверил в MPC-HC, какие отрисовщики слушают этот флаг и выполняют деинтерлейс. Выяснил следующее.
Выполняют деинтерлейс: EVR, EVR Custom, EVR Sync, Haali, Overlay
Не выполняют деинтерлейс: madVR, VMR-7/9

Поэтому рекомендую использовать один из отрисовщиков, которые выполняют деинтерлейс. Результат: плавная картинка без подергиваний и волн при воспроизведении.

Re: Просмотр телекино-видео с плавностью

А если в madVR 0.78 соответствующую деинтерлейсную галку вручную поставить?

Re: Просмотр телекино-видео с плавностью

Noweol
Вчера пробовал только 0.77 (из комплекта SVP 3.0.5): там нет галки деинтерлейса. Скачать новый madVR не догадался. smile Спасибо за подсказку. Скачаю и погляжу на работу этой галки.

11 (edited by John_Wayne 15-11-2011 06:28:28)

Re: Просмотр телекино-видео с плавностью

MAG79
Спасибо за труды ! Сегодня вечером попробую. Может быть, EVR, EVR Custom, EVR Sync, Haali, Overlay будут с интерлейсным видео себя как-то иначе вести.
Только как быть с 30-кадровым интерлейсным видео, где применяется 3:2 pulldown ? Рекомендации будут аналогичны, только видеорежим ставить 60p ? Или здесь нужна иная схема ?
Noweol
Попробую также новый madvr 0.78 с галкой деинтерлейса

Re: Просмотр телекино-видео с плавностью

John_Wayne
как быть с 30-кадровым интерлейсным видео, где применяется 3:2 pulldown ?
Пока не знаю, сегодня к утру только докачались... Вечером буду глядеть на них.

Re: Просмотр телекино-видео с плавностью

MAG79
В раздаче "Отзвуки творения" такое ощущение, что 3 видеофайла по ~4 гб. каждый, одинакового содержания, но почему-то разного размера  smile
Так что можно было всё не качать.

Re: Просмотр телекино-видео с плавностью

Прочитал вчера фразу про синхронизацию картинки с компа на телевизоре. Понравилось.

Разговор там шел про исправление проблемы вывода видео с частотой 23,976 на готовящихся к выходу видеокартах nVidia Kepler:

Bluegem wrote:

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

цитата из сообщения: Как задействовать аппаратное ускорение (HWA) декодирования HD видео с помощью видеокарт ATI-AMD и nVidia. (часть 4), 477

Я все-таки считаю, что не все так безнадежно wink

15 (edited by MAG79 15-11-2011 13:56:48)

Re: Просмотр телекино-видео с плавностью

Поглядел madVR 0.78. Этот отрисовщик не слушает флаг в видеопотоке, а работает в зависимости от установленных галок на его вкладке deinterlacing.

http://www.svp-team.com/forum/misc.php?action=pun_attachment&item=724

Из плюсов отмечу, что теперь это первый и единственный известный мне отрисовщик, который умеет производить аппаратный деинтерлейс независимо от того, какой используется декодер. Т.е. существовавшее ограничение непокидания кадра видеопамяти теперь снято. Можно использовать программный декодер, обрабатывать кадры программно в ОЗУ, затем отправлять обратно на видеокарту и madVR выполнит аппаратный деинтерлейс, если указана соответствующая галка.

Upd: Как оказалось, деинтерлейс у madVR программный. sad

---
Теперь про две чересстрочных раздачи. Там все оказалось еще загадочней. Оба видео имеют чересстрочный формат и частоту кадров 30 fps. Но при этом содержат прогрессивный материал. Такой метод применялся раньше для трансляции кино по телевидению. Называется телекино (telecine). Производится определенным сочетанием и чередованием полукадров, называемое пулдаун (pulldown).

Отзвуки Творения (раздача). Это 3:2 pulldown. В потоке 30 к/сек чересстрочка реально содержатся 24 прогрессивных кадра. Если включить деинтерлейс и покрутить покадрово, то получим прогрессив 60 к/сек с повторением дублей кадров 3:2.

Водная жизнь (раздача). Это 2:3:2:3:2 pulldown. В потоке 30 к/сек чересстрочка реально содержатся 25 прогрессивных кадров. Если включить деинтерлейс и покрутить покадрово, то получим прогрессив 60 к/сек с повторением дублей кадров 2:3:2:3:2.

В обоих случаях преобразование телекино выполнено по стандарту, поэтому должно автоматически распознаваться телевизорами со встроенными уплавнителями. Тогда ТВ сделает такому видео обратное телекино-преобразование (inverse telecine) и к полученным 24 или 25 прогрессивным кадрам достроит промежуточные. Для этого надо подать на них телекино видео в чересстрочном режиме 60i. В обоих случаях.

Для просмотра на компьютере этих двух телекино-фильмов с повышением плавности у SVP не хватает штатного обратно-телекино-преобразователя smile
И что самое неприятное, автомата определения чересстрочка/телекино мне не встречалось. Поэтому такие раздачи для просмотра на компьютере с плавностью надо доводить до ума самостоятельно, вручную определяя тип телекино, производя обратное телекино преобразование, и сохраняя результат с исходной киношной частотой кадров и в прогрессиве. И только потом пользоваться SVP.

Зачем эти две раздачи были сделаны с телекино мне не совсем ясно. Стандарт BD поддерживает частоту кадров 24 и 25 к/сек, прогрессив. hmm

Re: Просмотр телекино-видео с плавностью

MAG79 wrote:

единственный известный мне отрисовщик, который умеет производить аппаратный деинтерлейс независимо от того, какой используется декодер

Мне, в принципе, глубоко все-равно smile, но сразу возникают вопросы:
1. где написано что он "аппаратный"?
2. что такое "аппаратный" - я думал что это то, что выполняется на UVD, и может быть подкручено через драйвер видяхи
3. применение пиксельного шейдера "deinterlace" в mpc-hc - это тоже "аппаратный деинтерлейс независящий от декодера"?
4. галка "perform deinterlacing in separate thread" не настораживает? wink

Re: Просмотр телекино-видео с плавностью

MAG79

должно автоматически распознаваться телевизорами со встроенными уплавнителями

У большинства простых смертных такого телевизора нет, у меня в том числе.

Для этого надо подать на них телекино видео в чересстрочном режиме 60i. В обоих случаях.

При выводе 60i на телек у меня намертво виснет комп, и, как видно, побороть это вряд ли удастся. Разве что, если найти какой-нибудь самодельный драйвер на телевизор, который эту задачу нормально выполнит в отличие от драйвера "универсальный монитор PNP", что тоже вряд ли удастся сделать.
На монитор же, который-таки, поддерживает режим 60i, я оба эти видео подавал, идут плавно, но только через windows media player. Через mpc-hc - жуткое двоение, вследствие рассинхрона, как я понимаю.

Зачем эти две раздачи были сделаны с телекино мне не совсем ясно. Стандарт BD поддерживает частоту кадров 24 и 25 к/сек, прогрессив

Несмотря на нелогичность сего действия, раздач подобного формата (забугорных BD-дисков) в сети до дури, более того, в них часто встречается весьма редкий, интересный материал, так что хотелось бы выработать правильный алгоритм, как довести такого рода исходник до ума и добиться столь желаемого плавного воспроизведения.
Есть ли на примете какая-нибудь прога, способная выполнить обратное telecine-преобразование, для того чтобы потом посмотреть с SVP ?

Re: Просмотр телекино-видео с плавностью

Chainik
1. где написано что он "аппаратный"?
Да. Вопрос с заковыркой smile Включил DXVA-декодер и этот деинтерлейс, получил 13% загрузки ЦП, переключил на EVR. Там загрузка ЦП 0%. Наводит на мысли, что ты прав и что деинтерлейс не аппаратный. hmm "Не аппаратный" - почти синоним слову плохой, т.к. качественный вектор-адаптивный деинтерлейс (VA-deinterlace) сейчас может делать только видеокарта. Процессору далеко до ее качества в реалтайме.

2. что такое "аппаратный" - я думал что это то, что выполняется на UVD, и может быть подкручено через драйвер видяхи
Да. Это оно самое.

4. галка "perform deinterlacing in separate thread" не настораживает?
Я как-то не придал этому значения. А теперь вижу, что и правда деинтерлейс программый. Тогда надо читать, какой там используется алгоритм.

3. применение пиксельного шейдера "deinterlace" в mpc-hc - это тоже "аппаратный деинтерлейс независящий от декодера"?
Не смотрел это, но шейдер по определению ведь не может удвоить частоту кадров и правильный VA-деинтерлейс с преобразованием "30 кадров, чересстрочка -> 60 кадров, прогрессив" он, вероятно, не сделает? hmm

Re: Просмотр телекино-видео с плавностью

John_Wayne

На монитор же, который-таки, поддерживает режим 60i, я оба эти видео подавал, идут плавно

Именно "плавно" или "равномерно", как обычные 24/25 fps видео?

При выводе 60i на телек у меня намертво виснет комп

Может драйвера? Не могу дельного ничего посоветовать, т.к. даже не представляю причину зависания.

Что там вообще может повесить комп, кроме nVidia-драйвера?
hmm

Есть ли на примете какая-нибудь прога, способная выполнить обратное telecine-преобразование, для того чтобы потом посмотреть с SVP ?

Есть вариант собрать Avisynth-скрипт с использованием плагина TIVTC.
А можно подумать головой и самому написать скрипт, который без потери качества будет собирать исходные кадры из чересстрочных полуполей. Они ведь (эти полуполя) принадлежат единому снимку, одному отсчету времени. Поэтому потребуются базовые функции SeparateFields и Weave.

Re: Просмотр телекино-видео с плавностью

MAG79

Для этого надо подать на них телекино видео в чересстрочном режиме 60i. В обоих случаях.

Посмотрел на мониторе в режиме 60i с рендерами madvr 0.78 и EVR. Видео идёт равномерно, т.е. волнообразности нет, но есть строб, т.е. неплавно.
Видео про Нью-Йорк в режиме 50p идёт как надо - плавно и равномерно, нет строба и волнообразности.

Может драйвера? Не могу дельного ничего посоветовать, т.к. даже не представляю причину зависания.
Что там вообще может повесить комп, кроме nVidia-драйвера? hmm

Есть подозрение что драйвер на монитор, потому что дрова nVidia я уже все перепробовал, причём, в обеих виндах. Но беда в том, что, в отличие от мониторов, на телеки дров нет, так что как-то иначе чем универсальный монитор PNP его определить вряд ли удастся. Вот и ищи концы... и на телек не свалишь, он ведь не зависает, а ждёт пока на него сигнал подадут. Через VGA, кстати, подключал - та же картина. А вот при подаче неприемлемого режима, которого у телека и в спецификации нет - он так и пишет: недопустимый входной сигнал. А подаёшь 60i - и комп в ступоре. Надо где-то другую видеокарту раздобыть, попробовать с ней...

Есть вариант собрать Avisynth-скрипт с использованием плагина TIVTC.

Как это сделать ?

Re: Просмотр телекино-видео с плавностью

Процесс выполнения обратного телекино-преобразования.

С применением плагина TIVTC. Потребуются две функции этого плагина: TFM и TDecimate.

Кратко по-русски:
TIVTC - tritical ivtc (inverse telecine) - плагин обратного телекино-преобразования от tritical
TFM - tritical Field Maching filter - фильтр сравнения полей кадра от tritical
TDecimate - tritical Decimation filter - фильтр выкидывания кадров от tritical

В случае преобразования 30->24 имеем повторяющиеся группы кадров из трех прогрессивных и двух чересстрочных. Первым шагом составляем из этих кадров пять прогрессивных, сравнивая поля (TFM), затем выкидываем один кадр-дубль из пяти (TDecimate), получаем 4 кадра в группе.

http://www.svp-team.com/forum/misc.php?action=pun_attachment&item=726

Скрипт:

TFM()
TDecimate(cycle=5)

В случае преобразования 30->25 имеем повторяющиеся группы кадров из четырех прогрессивных и двух чересстрочных. Также возможен случай с тремя прогрессивными кадрами и тремя чересстрочными. Первым шагом составляем из этих кадров шесть прогрессивных, сравнивая поля (TFM), затем выкидываем один кадр-дубль из шести (TDecimate), получаем 5 кадров в группе.

http://www.svp-team.com/forum/misc.php?action=pun_attachment&item=727

Скрипт:

TFM()
TDecimate(cycle=6)

Re: Просмотр телекино-видео с плавностью

MAG79

Не пост, а Шедевр.
cool

Re: Просмотр телекино-видео с плавностью

MAG79
Не пост, а Шедевр. cool

Согласен, но нельзя ли ещё, хотя бы на пальцах, объяснить, как организовать весь процесс ? Как состыковать Avi-Synth плагин TIVTC и, собственно Avisynth и, пропустив видео через весь тракт, получить на выходе желаемый результат ?

Re: Просмотр телекино-видео с плавностью

MAG79
И ещё относительно предыдущего сообщения:

Выбрал декодер CoreAVC, включил в нем галку DXVA-декодирования и аппаратный деинтерлейс.

У вас на скриншоте выбран режим DXVA и под Hardware Deinterlacing стоит галка Agressive. Для чего используются эти опции ? Опытным путём определить не удалось, т.к. и в режиме Cuda, вместо DXVA и без галки Agressive видео идёт должным образом. Смотрел, как всегда, с madvr.

Re: Просмотр телекино-видео с плавностью

John_Wayne
DXVA - опция декодирования видеокартой с сохранением кадров в видеопамяти. Оба других варианта декодирования происходят через оперативную память компьютера (ОЗУ).
Hardware Deinterlacing - опция указания флага деинтерлейса на видеокарте в видеопоток, используется отрисовщиками EVR, Haali и Overlay. Не работает для кадров, побывавших в ОЗУ.
Agressive - добавление флага деинтерлейса в видеопоток, даже если в исходном файле не был указан признак чересстрочки.
madVR - отрисовщик, на котором с версии 0.78 возможен аппаратный (?) деинтерлейс для любого видеопотока, даже прошедшего через ОЗУ и не имеющего флага деинтерлейса на видеокарте.

нельзя ли ещё, хотя бы на пальцах, объяснить, как организовать весь процесс ?
Чуть позже. Если Вам недостаточно того, что написано выше и справки SVP, то объяснять придется много и долго.