MAG79
Создать AVS-скрипт
Установить приоритет LAV CUVID выше, чем ffdshow, чтобы AviSynth использовал при выполнении скрипта декодер LAV CUVID
В LAV CUVID включить аппаратный деинтерлейс
В mpc-hc выставить внешним фильтром ffdshow raw video filter
Включить SVP
Запустить скрипт проигрывателем.
Можно в скрипт сразу вписать строки, которые генерит SVP, но я этого не делал. Разницы-то нет.

MAG79

Рассказывайте как делать.

Ещё раз:

Делал так:
Установил ffdshow приоритет поменьше, LAV CUVID - побольше, используя прогу GSpot. Теперь AviSynth использует LAV CUVID при выполнении скрипта.
В LAV CUVID выставил аппаратный деинтерлейс.
В скрипте прописал:
DSS2("I:\uTorrent\00000.m2ts",fps=30)
TDecimate(cycle=6)
Функция TFM() не требуется.
Теперь при запуске этого скрипта проигрывателем получается нормальное 25 fps видео, остаётся только в проигрывателе поставить внешним фильтром ffdshow raw video filter и включить SVP, чтобы получить плавное, равномерное воспроизведение с 60 fps.

С учётом вашей последней рекомендации здесь можно только заменить:
DSS2("I:\uTorrent\00000.m2ts",fps=30)
на
DirectShowSource("I:\uTorrent\00000.m2ts", fps=30, convertfps=true, pixel_type="YV12")
Если после этого и звук появится - будет радость.

MAG79

Снова "здорово" smile Аппаратный VA-деинтерлейс ПОЛНОСТЬЮ восстанавливает вертикальное разрешение. Если Вы наблюдаете потерю вертикальной резкости, то это не VA-деинтерлейс, а какой-нибудь простейший Bob.

Полностью восстановить вертикальное разрешение, возможно, не даёт исходный косяк видео. По крайней мере, Arcsoft Total Media Theatre с включенной опцией аппаратного деинтерлейса даёт один в один такой же результат. Я так понимаю, что если мы на выходе с кодека получаем видео с выполненным обратным телекино-преобразованием, то это по-любому аппаратный деинтерлейс. А в настройках LAV CUVID у меня выставлены опции Deinterlacing - Adaptive и HQ DXVA processing. И откуда при этом берётся bob ? Тем более, что с видео, имеющим 24 исходных кадра, такой проблемы не наблюдается.

Нафига? hmm
Ну что за логика?
Может тогда три раза будем деинтерлейс делать? А лучше четыре - вообще качество станет "зашибись" lol

Большого счастья это не даст, но от режущей глаз гребёнки избавит. А замыленность, на мой взгляд, гораздо меньше заметна.

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

Есть какие-то иные соображения, как этого достичь ?

Ну такое и мне удалось.

В 60 fps. Я не смог их достичь в реальном времени.

Так вам удалось или нет ? Судя по второй фразе, мы имеем в виду разный результат. У меня, как я уже напислал выше, на выходе 60 fps в реальном времени, гладко, плавно и без волн. Вы видимо, не до конца поняли. Не 25 fps, а 60 ! И то, что осталось подключить ffdshow raw video filter и запустить SVP, чтобы получить "smooth" видео - это я имел в виду не теорию, это реально работает при приведённых мной настройках и подтверждено практикой. Попробуйте сами.

Вы сперва без звука добейтесь плавности c SVP без подергиваний, тогда можно будет проблему со звуком решать.

Плавности с SVP без подёргиваний я добился, о чём и речь, давайте теперь про звук думать  smile

MAG79
А вот теперь как нельзя более актуальным стал вопрос - как пропустить звуковую дорожку через скрипт AVS, или придумать какой-то обходной путь как её проиграть параллельно выполнению скрипта, потому что мне удалось-таки запустить плавное воспроизведение телесиненного видео "на лету".
Делал так:
Установил ffdshow приоритет поменьше, LAV CUVID - побольше, используя прогу GSpot. Теперь AviSynth использует LAV CUVID при выполнении скрипта.
В LAV CUVID выставил аппаратный деинтерлейс.
В скрипте прописал:
DSS2("I:\uTorrent\00000.m2ts",fps=30)
TDecimate(cycle=6)
Функция TFM() не требуется.
Теперь при запуске этого скрипта проигрывателем получается нормальное 25 fps видео, остаётся только в проигрывателе поставить внешним фильтром ffdshow raw video filter и включить SVP, чтобы получить плавное, равномерное воспроизведение с 60 fps. Осталась последняя проблема - как при этом проигрывать звуковую дорожку ?
Ну и, конечно, потеря вертикального разрешения никуда не делась, но это, видимо, не лечится. Хотя, можно с горем пополам сгладить этот косяк включением деинтерлейса в SVP.

MAG79

Отлично! Значит, виноват все-таки исходный материал в "Водной жизни".

Может быть, эта проблема возникает при обратном телекино-преобразовании видео с 25 исходными кадрами ? Я за последние пару дней переделывал несколько видео с исходными 24 кадрами, как и в "отзвуках творения" - там всё хорошо. А с 25 пока новых видео не попадалось, а это прояснило бы ситуацию.

Возможно. Надо попробовать через формирование и открытие DS-графа из AVS-скрипта.

Можно поподробнее описать процесс ?

MAG79
Скачал "Отзвуки творения", пережал со скриптом. В этом видео, действительно, гребёнки не замечено и потери вертикальной резкости тоже.
Попытался заставить кодировщики использовать LAV CUVID, запретив прочие .264 кодеки с помощью GSpot. Но толкового ничего не вышло. Отключал все, где в описании упоминался стандарт AVC или .264.
Microsoft DTV-DVD Video Decoder не захотел отключаться, GSpot выдаёт ошибку: Function failed. DllUnregisterServer failed
Cyberlink Video Decoder
Emuzed
CoreAVC
FFdshow
Nokia
Других не нашёл. Но пользы это не принесло. Может, проги для кодирования свои, встроенные декодеры используют ?
Теперь отключенные кодеки пропали вообще из списка GSpot и хрен знает как их включить. Хотелось бы включить FFdshow и CoreAVC, чтобы не переустанавливать. Можно ли это сделать?
Сейчас AViSynth использует для декодирования ffdshow перед подачей в программу - кодировщик. Можно ли, прописав что-нибудь в скрипте, заставить его использовать LAV CUVID ? Что-то мне сдаётся, отключение всех остальных кодеков в системе здесь не поможет, да и не все кодеки, как выяснилось, отключаются, по крайней мере, при помощи GSpot.
Ещё заметил, что обычный windows media player тоже умеет производить процесс обратного телекино-преобразования.
И что ещё можно придумать, чтобы избежать зависания программы-кодировщика на 99 % процесса конвертирования ? В процессе, кроме всего, участвуют, Avisynth, TIVTC.dll, avss.dll, ffdshow. Какой из компонентов может так повлиять ? Проблема наблюдается в двух разных виндах, с разными версиями Avisynth, той что в комплекте с SVP 3.05 и 2.60.

MAG79
Я "Отзвуки Творения" уже удалил, но, раз такое дело, скачаю снова и посмотрю на результат.

Rimsky
спасибо !

sergioleon
C WMV дело до конца не довёл, так как не удалось удалить файлы из винды, отвечающие за DMO ни загрузившись из текущей винды, ни из другой. А прибегать к более хитрым методам, таким как загрузка с какого-нибудь Live CD, поленился. Интерес к wmv был больше чисто теоретический, так как с этим форматом сталкиваюсь раз в год, чего не скажешь о DVD.

P.S. Мне удалось-таки запустить DVD через SVP и результат на выходе прекрасный, намного обходит всякие WinDVD. А всего-то надо было установить libavcodec в разделе "кодеки" ffdshow напротив всего, что касается mpeg2 и внизу поставить галочку DVD.

MAG79

Как раз декодер LAV CUVID надо использовать для сохранения видео с аппаратным VA-деинтерлейсом

А для проигрывания с его помощью в онлайне, декодируя и выполняя правильное телекино-преобразование с LAV CUVID до 30 fps, а затем передавая в SVP для удвоения кадров ? Так и не получилось ?

1. Попробовать сохранить видео с использованием аппаратного VA-деинтерлейса вместо TIVTC. Есть вероятность, что VA-деинтерлейс корректно обрабатывает такие телекино-преобразованные кадры.

Подскажите метод, как это сделать. Проиграть-то понятно, а вот сохранить... Тоже через AviSynth ? Тогда, помогите, пожалуйста, со скриптом.

MAG79

Еще возможно, виновата некорректная работа библиотеки TIVTC

Использовал последнюю версию библиотеки 1.05, других нет, и более новых, видимо, не будет. Могло ли сюда внести свою лепту пережатие ? Это ведь скрин с пережатого фрагмента. Нужно ли всё-таки использовать деинтерлейс после выполнения обратного теле-кино преобразования перед сжатием ?

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

Какими прогами это можно сделать ?
Кстати, замечено, что при проигрывании телесиненного видео при помощи CoreAVC с настройкой hardvare deinterlace, agressive на выходе получается качественная картинка, равномерное воспроизведение без волн и гребёнки с 30 fps. Только плавности недостаёт. И тут остаётся один из двух вариантов, Или смотреть без уплавнения, 30 к/сек, но с хорошим качеством и без геморроя, или плясать с бубном, прогоняя через TIVTC, пережимая на куде, а потом уплавняя с SVP, при этом значительно теряя в качестве.
Не появилось ли новых идей с использованием LAV CUVID ?

MAG79
Привожу один и тот же кадр, с разными настройками.
без деинтерлейса
http://s017.radikal.ru/i438/1111/13/5a90528db0cdt.jpg
5-точечный фнч
http://s005.radikal.ru/i210/1111/18/f110452b035ct.jpg
yadif
http://s017.radikal.ru/i418/1111/b1/43611f606160t.jpg
Как я уже описывал выше, это серия 0000 из раздачи "водная жизнь" после переконвертации через скрипт.

MAG79
Данные Mediainfo: Размер 6,46 Гб, контейнер mp4, формат видео h.264
Кодек-паков у меня не стоит, только ffdshow. Проблемы у прог по сжатию возникают только при использовании скрипта, без него процесс сжатия завершается успешно. Может здесь и надо копать ? Декодируется видеопоток всегда при помощи ffdshow.
По поводу скриншотов - до сих пор пытался сделать скрин в режиме видео полного экрана, а картинка получалась сжатой по горизонтали, с чёрными полями по краям шириной где-то 1/6 экрана. После такого искажения на этом скриншоте гребёнка видна очень плохо, поэтому диагностировать по нему проблему вряд ли удалось бы. Сейчас накопал метод, как снять скриншот правильно. Вечером выложу.

MAG79
Прога медиаинфо не выдаёт никаких данных, кроме размера и названия кодека. Видимо файл совершенно испорченный.
Жал в h.264 с применением cuda, без звука, битрейт постоянный, 40000, разр. full hd, соотн. сторон, частота кадров оригинал.
Текст ошибки, который выдаёт mpc-hc:

  • I:\uTorrent\Посмотрен\00003.mp4::Output

    Media Type 0:
    --------------------------
    Unknown

    AM_MEDIA_TYPE:
    majortype: MEDIATYPE_Stream {E436EB83-524F-11CE-9F53-0020AF0BA770}
    subtype: Unknown GUID Name {08E22ADA-B715-45ED-9D20-7B87750301D4}
    formattype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
    bFixedSizeSamples: 1
    bTemporalCompression: 0
    lSampleSize: 1
    cbFormat: 0


    Media Type 1:
    --------------------------
    Unknown

    AM_MEDIA_TYPE:
    majortype: MEDIATYPE_Stream {E436EB83-524F-11CE-9F53-0020AF0BA770}
    subtype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
    formattype: TIME_FORMAT_NONE {00000000-0000-0000-0000-000000000000}
    bFixedSizeSamples: 1
    bTemporalCompression: 0
    lSampleSize: 1
    cbFormat: 0

А дело было так:
Конвертировал видео из раздачи "Водная жизнь" при помощи Freemake video converter. Он понимает скрипты Avisynth. Из 3-х серий 2 сконвертировал хорошо, на 1 завис на 99%, файл нечитаем.
Сделал бутафорский avi файл для каждой из серий и конвертировал их в Movavi и Xilisoft. Обе эти проги скрипты сами по себе не принимают.
Результат - обе зависают/выдают ошибку на 99 % на любой из 3-х серий, но после Xilisoft видеофайл получается работоспособный, а с того, что выдаёт Movavi, даже mediainfo не снять. При этом и Xilisoft и Movavi при конвертировании всех 3-х серий напрямую, без скрипта Avisynth и содержащего его avi файла, успешно завершают конвертацию и видеофайлы читаются. Значит какая-то у них нестыковка со скриптом. Пробовал в Xilisoft и Movavi устанавливать опцию "делить на части по 100 Мб" при конвертировании со скриптом - первые выходные видеофайлы по 100 Мб нормально воспроизводятся.
И ещё прошу вашего комментария насчёт моего предыдущего сообщения про гребёнку в файле после десимации и методы избавления от неё.

MAG79
Кстати, попробовал из AVS файла сделать AVI и перекодировать в movavi. Перекодировалось как будто бы как положено, но при запуске любым проигрывателем получившегося файла - ошибка и всё тут, хотя в процессе перекодирования даже предпросмотр шёл нормально.

sergioleon wrote:

QTGMC

А так все советуют QTGMC

Им, я так понимаю, надо в оффлайне обрабатывать ? Пишут, что очень ресурсоёмкий.

MAG79
Что-то не могу понять: делаю скриншот в полноэкранном режиме, причём видео растянуто на весь экран и чёрных полей нет, а картинка получается сжатой по горизонтали с чёрными полями по краям. Причём этот скриншот уже значительно хуже может продемонстрировать лесенку. Попытаюсь объяснить на пальцах: это очень хорошо заметно на птицах, или листьях деревьев, стеблях возле листьев. Классическая горизонтальная лесенка.
При воспроизведении с деинтерлейсом без SVP лесенка есть
При воспроизведении без деинтерлейса без SVP лесенка есть
При воспроизведении с SVP без галки деинтерлейса лесенка есть
Но при воспроизведении с SVP с галкой деинтерейлса, выставленной в SVP, лесенки нет !
Проматывал в том числе и по кадрам. Отсюда вопрос: SVP использует деинтерлейс от ffdshow или какой-то свой ?
И какой, с вашей точки зрения метод деинтерлейса качественнее: yadif или 5-точечный ФНЧ ? Оба неплохи, я разницы не замечаю.

MAG79
Деинтерлейс всё-таки нужен после пропускания через IVTC. Потому что видео становится плавным и равномерным, но гребёнка остаётся. Пробовал на примере первой серии раздачи про воду. Даже если после перекодирования к получившемуся видео применить фильтр деинтерлейса уже при проигрвывании, гребёнка исчезает.

MAG79
А что нужно прописать в скрипте Avi-synth, чтобы кроме обратного теле-кино преобразования производился деинтерлейс каким-нибудь качественным алгоритмом, тем же yadif ? А то получается переконвертация с обратным теле-кино преобразованием интерлейсного видео. А после конвертирования в прогрессив деинтерлейс хорошо не сделаешь. И ещё такой вопрос. Бывает видео в PAL 25 кадров, которое растягивают с 24 до 25, а бывает, когда вставляют лишний кадр. Это видео следует обрабатывать так ?
tfm()
tdecimate(cycle=25)

http://market.yandex.ru/model.xml?model … 3221364012
Покупал по принципу "самые дешёвые". Купил, послушал, и заказал ещё 8 пар. Себе про запас, знакомым, родственникам  smile  Но надо брать осторожно. Пишут, что бывает брак.

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

Rimsky
Да ладно уж про аудиофильство. Я раньше тоже над этим вопросом запаривался. Сначала Корветы всякие советские выискивал - выискал. Потом забугорный усилок дорогой купил, колонки сам сделал, динамики датские заказывал...  Потом добился нужного звука и переболел. Что касается железа - меня всё устраивает. После этого перестал гнаться за самым качественным форматом звука. Не поверите, но на нормальной технике даже более-менее приличное mp3 вполне можно слушать, и всякие присвисты и искажения некачественной записи не особо режут слух. А на каких-нибудь Свенах или S-90 хоть lossless, хоть не lossless... А вообще тут вопрос не в деньгах. Недавно наткнулся на наушники-затычки panasonic за 270 рублей - лучше звука не бывает. Возьми затычки хоть за 10К - если и будут отличаться, только в худшую сторону  smile  Прошу прощения за оффтоп.

MAG79
В-общем, всё, что вы перечислили относительно звука, для меня не критично. Во-первых, усилок у меня стерео, одно преобразование на слух почти неотличимо, а дополнительные ресурсы - процессор всё равно не полностью загружен, а видео жмётся видеокартой. При всём этом потом не надо тратить время на приклеивание дорожки. Для временного преобразования перед просмотром вполне прокатит, если, конечно, можно одну конкретную аудиодорожку выбрать, так как идёт обычно или одна английская, или русская и несколько иностранных. Создал бутафорский avi файл из avs, запустил в movavi - вроде, пошло. Что нужно дописать в скрипт, чтобы аудиодорожка обрабатывалась ?

Вопрос ещё - а нельзя ли в скрипте и аудиодорожку прописать, чтобы потом отдельно не склеивать. Я же не в GDSMux хочу конвертить, а, к примеру, в movavi.