Re: Просмотр телекино-видео с плавностью
John_Wayne
Да, правильно, ооочень - поэтому о его качестве знаю только на словах.
You are not logged in. Please login or register.
SmoothVideo Project → Эксплуатация SVP → Просмотр телекино-видео с плавностью
John_Wayne
Да, правильно, ооочень - поэтому о его качестве знаю только на словах.
MAG79
Кстати, попробовал из AVS файла сделать AVI и перекодировать в movavi. Перекодировалось как будто бы как положено, но при запуске любым проигрывателем получившегося файла - ошибка и всё тут, хотя в процессе перекодирования даже предпросмотр шёл нормально.
sergioleon разница есть потому что алгоритм деинтерлейса куёвый, задача деинтерлейса убрать гребёнку и минимизорать дрожание, но это в идеале. Под каждый тип видеорада нужно самому подстраивать деинтерлей, такое мона сделать в плагинах для avisynth, в прогах в большистве алгоритм не меняется и уже зшиты усреднённые настройки. Заюзай плагин TDeint и разберись в его настройках - получишь идеальный результат. вот для начала http://cgtalk.ru/forum/showthread.php?t=21117
John_Wayne
при запуске любым проигрывателем получившегося файла - ошибка
1. Перечислить характеристики файла. Лучше привести полный отчет MediaInfo.
2. Привести текст ошибки полностью.
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 Мб нормально воспроизводятся.
И ещё прошу вашего комментария насчёт моего предыдущего сообщения про гребёнку в файле после десимации и методы избавления от неё.
John_Wayne
Прога медиаинфо не выдаёт никаких данных, кроме размера и названия кодека
Где? Я же просил привести.
При сжатии нужно выбрать 3 вещи: формат контейнера (avi/mkv/mp4), формат видео (h.264/avc), формат звука (mp3/aac/ac3). В скобках указал предпочитаемые широкораспространенные форматы. С другими возможны вот такие проблемы, как Вы описываете.
По данной проблеме в теме на iXBT ответа нет, а на ру-борде проблема решилась переустановкой кодекпака.
прошу вашего комментария насчёт моего предыдущего сообщения про гребёнку в файле после десимации и методы избавления от неё.
Только после предоставления скриншотов. Жду скриншоты.
MAG79
Данные Mediainfo: Размер 6,46 Гб, контейнер mp4, формат видео h.264
Кодек-паков у меня не стоит, только ffdshow. Проблемы у прог по сжатию возникают только при использовании скрипта, без него процесс сжатия завершается успешно. Может здесь и надо копать ? Декодируется видеопоток всегда при помощи ffdshow.
По поводу скриншотов - до сих пор пытался сделать скрин в режиме видео полного экрана, а картинка получалась сжатой по горизонтали, с чёрными полями по краям шириной где-то 1/6 экрана. После такого искажения на этом скриншоте гребёнка видна очень плохо, поэтому диагностировать по нему проблему вряд ли удалось бы. Сейчас накопал метод, как снять скриншот правильно. Вечером выложу.
John_Wayne
Отлично.
Приведу увеличенный фрагмент из трех изображений.
Видно, что на выходе TIVTC яркость многих вертикальных пар точек одинаковая. Местами пара точек идет через одну. Откуда взялась такая потеря вертикального разрешения - не понятно. Сперва я думал, что это очень похоже на CUE (chroma upsamling error). Но характер искажений все же другой.
Еще возможно, виновата некорректная работа библиотеки TIVTC. Для проверки надо вручную взять два соседних чересстрочных кадра, собрать из их полей этот кадр и сравнить результат.
MAG79
Еще возможно, виновата некорректная работа библиотеки TIVTC
Использовал последнюю версию библиотеки 1.05, других нет, и более новых, видимо, не будет. Могло ли сюда внести свою лепту пережатие ? Это ведь скрин с пережатого фрагмента. Нужно ли всё-таки использовать деинтерлейс после выполнения обратного теле-кино преобразования перед сжатием ?
Для проверки надо вручную взять два соседних чересстрочных кадра, собрать из их полей этот кадр и сравнить результат.
Какими прогами это можно сделать ?
Кстати, замечено, что при проигрывании телесиненного видео при помощи CoreAVC с настройкой hardvare deinterlace, agressive на выходе получается качественная картинка, равномерное воспроизведение без волн и гребёнки с 30 fps. Только плавности недостаёт. И тут остаётся один из двух вариантов, Или смотреть без уплавнения, 30 к/сек, но с хорошим качеством и без геморроя, или плясать с бубном, прогоняя через TIVTC, пережимая на куде, а потом уплавняя с SVP, при этом значительно теряя в качестве.
Не появилось ли новых идей с использованием LAV CUVID ?
John_Wayne
Какими прогами это можно сделать ?
Я бы сделал в фотошопе
На мелком фрагменте вроде того, что на скриншоте.
замечено, что при проигрывании телесиненного видео при помощи CoreAVC с настройкой hardvare deinterlace, agressive на выходе получается качественная картинк
О! Спасибо! А это идея, даже две.
1. Попробовать сохранить видео с использованием аппаратного VA-деинтерлейса вместо TIVTC. Есть вероятность, что VA-деинтерлейс корректно обрабатывает такие телекино-преобразованные кадры.
2. Вероятно причина потери вертикальной четкости в ошибочно включенном деинтерлейсе при при отркытии скрипта перед выполнением обратного телекино.
новых идей с использованием LAV CUVID ?
Как раз декодер LAV CUVID надо использовать для сохранения видео с аппаратным VA-деинтерлейсом.
MAG79
Как раз декодер LAV CUVID надо использовать для сохранения видео с аппаратным VA-деинтерлейсом
А для проигрывания с его помощью в онлайне, декодируя и выполняя правильное телекино-преобразование с LAV CUVID до 30 fps, а затем передавая в SVP для удвоения кадров ? Так и не получилось ?
1. Попробовать сохранить видео с использованием аппаратного VA-деинтерлейса вместо TIVTC. Есть вероятность, что VA-деинтерлейс корректно обрабатывает такие телекино-преобразованные кадры.
Подскажите метод, как это сделать. Проиграть-то понятно, а вот сохранить... Тоже через AviSynth ? Тогда, помогите, пожалуйста, со скриптом.
John_Wayne
LAV CUVID до 30 fps, а затем передавая в SVP для удвоения кадров ? Так и не получилось ?
Скажу честно, уделил настройке только один вечер. Тогда не получилось. Снова к этому вопросу пока не возвращался.
А дальше просто открыть файл в программе кодирования и сохранить с перекодированием видеопотока. Видеопоток при открытии должен проходить через LAV CUVID, чтобы в программу кодирования приходить уже с VA-деинтерлейсом.
если умудришься скомпилить
оно только под линух компилится
там папочка есть win32
с проектами под визуал студию
но не компилится и с ошибками
а с линем я на вы и шепотом
интересно как там скорость? сравнимо с процем или в десятки раз?
и результат попиксельно одинаков с софтверным кодированием?
John_Wayne
Поглядел как работает аппаратный VA-деинтерлейс вместо TIVTC на предложенных видео.
Отзвуки Творения (раздача). 3:2 pulldown. Частота кадров увеличивается до 60 fps. На выходе группы кадров в каждой 5-ке кадров 2 исходных. Повторяются по 3 раза и по 2 раза. Есть некоторая пульсация резкости, но потери вертикальной резкости нет.
Водная жизнь (раздача). 2:3:2:3:2 pulldown. Частота тоже получается 60 fps. Группы кадров уже длиннее: 12 кадров содержат 5 исходных. Шаблон повторения: 2:3:2:3:2. Но вот тут, именно на этом видео вертикальная резкость плохая: даже при просмотре на обычной скорости видны ступенчатость и местами даже зазубрены. Пауза на месте с аистами (скриншот выше) дал практически такую же картинку, что и на выходе TIVTC.
Прошу сообщить, видна ли разница в вертикальной резкости на этих двух видео после сохранения с TIVTC?
MAG79
Я "Отзвуки Творения" уже удалил, но, раз такое дело, скачаю снова и посмотрю на результат.
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.
John_Wayne
"Отзвуки творения"... действительно, гребёнки не замечено и потери вертикальной резкости тоже
Отлично! Значит, виноват все-таки исходный материал в "Водной жизни".
Может, проги для кодирования свои, встроенные декодеры используют ?
Бывает, но если на вход кодировщику подается AVS-скрипт, то всегда используется системный DS-декордер с наивысшим приоритетом (merit'ом).
отключенные кодеки пропали вообще из списка GSpot и хрен знает как их включить
Вот это плохо. Надо было отключать, а не деинсталировать.
Можно ли, прописав что-нибудь в скрипте, заставить его использовать LAV CUVID ?
Возможно. Надо попробовать через формирование и открытие DS-графа из AVS-скрипта.
заметил, что обычный windows media player тоже умеет производить процесс обратного телекино-преобразования
Да. По-умолчанию он использует MS DTV-DVD декодер и отрисовщик EVR. Такое сочетание обычно имеет включенный VA-деинтерлейс и как теперь выяснилось, этот VA-деинтерлейс не плохо справляется с первой частью работы ivtc: получение прогрессивных кадров из смешанных прогрессивных и чересстрочных. Для полноценного ivtc остается вторая часть: выкидывание дублей.
что ещё можно придумать, чтобы избежать зависания программы-кодировщика на 99 % процесса конвертирования ?
Потренироваться на мелких файлах. Для начала выяснить причину зависания. Затем переносить этот опыт на большие файлы. Я пока не знаю в чем причина зависаний.
MAG79
отключенные кодеки пропали вообще из списка GSpot и хрен знает как их включить
Вот это плохо. Надо было отключать, а не деинсталировать.
если именно отключил - Direct Show Filter Manager
MAG79
Отлично! Значит, виноват все-таки исходный материал в "Водной жизни".
Может быть, эта проблема возникает при обратном телекино-преобразовании видео с 25 исходными кадрами ? Я за последние пару дней переделывал несколько видео с исходными 24 кадрами, как и в "отзвуках творения" - там всё хорошо. А с 25 пока новых видео не попадалось, а это прояснило бы ситуацию.
Возможно. Надо попробовать через формирование и открытие DS-графа из AVS-скрипта.
Можно поподробнее описать процесс ?
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.
John_Wayne
В LAV CUVID выставил аппаратный деинтерлейс...
потеря вертикального разрешения никуда не делась...
Снова "здорово" Аппаратный VA-деинтерлейс ПОЛНОСТЬЮ восстанавливает вертикальное разрешение. Если Вы наблюдаете потерю вертикальной резкости, то это не VA-деинтерлейс, а какой-нибудь простейший Bob. Настройте так, чтобы не было потери разрешения.
Хотя, можно с горем пополам сгладить этот косяк включением деинтерлейса в SVP
Нафига?
Ну что за логика?
Может тогда три раза будем деинтерлейс делать? А лучше четыре - вообще качество станет "зашибись"
Проблему нужно исправлять на ранней стадии, получая из исходника качественную картинку еще на входе скрипта. Если же на вход скрипта придет уже говно-картинка, то хоть сто раз деинтерлейсом проходите получите то же говно, только замыленное.
мне удалось-таки запустить плавное воспроизведение телесиненного видео "на лету"
Ну такое и мне удалось.
остаётся только в проигрывателе поставить внешним фильтром ffdshow raw video filter и включить SVP, чтобы получить плавное, равномерное воспроизведение с 60 fps
Вот именно в этом и заключается проблема. В 60 fps. Я не смог их достичь в реальном времени. Вы сперва без звука добейтесь плавности c SVP без подергиваний, тогда можно будет проблему со звуком решать.
Про граф: поподробнее описать процесс ?
Ну это я про две программы GraphEdit и GraphStudio. Они позволяют составлять цепочку DS-фильтров и сохранять ее в файл. Avisynth как-то умеет это дело открывать. Сам ни разу не пробовал, только слышал об этой возможности.
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 без подёргиваний я добился, о чём и речь, давайте теперь про звук думать
SmoothVideo Project → Эксплуатация SVP → Просмотр телекино-видео с плавностью
Powered by PunBB, supported by Informer Technologies, Inc.