|
<VIRUS>
Стаж: 16 лет 5 месяцев Сообщений: 7354
|
<VIRUS> ·
11-Апр-17 22:13
(7 лет 7 месяцев назад)
Nitey писал(а):
72888259Появилась нетривиальная задачка, есть видео 19 fps (для ровного счета пусть будет 20), надо, сохранив длительность, сделать из него 30 fps, т.е. интерполировать каждый 3й кадр. То, что результат будет далек от идеала, я знаю, надо попробовать и оценить возможность такого подхода. Готового решения я не нашел, может есть какие-то соображения?
Подобная тема здесь поднималась, человеку нужно было решить аналогичную проблему и ему там были даны довольно подробные инструкции.
Вот только название темы не помню.
https://rutr.life/forum/viewforum.php?f=214
https://rutr.life/forum/viewforum.php?f=23
Пробежаться по этим разделам, она наверняка еще жива.
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
11-Апр-17 22:21
(спустя 8 мин., ред. 12-Апр-17 17:19)
Nitey
Решений несколько, пробуйте :
- ChangeFPS(30.000)
- ConvertMFlowFPS(30000, 1000)
- InterFrame (GPU=false, Preset="Medium", Tuning ="Film", NewNum= 30, NewDen=1, OverrideAlgo=23, InputType="2D", Cores=1)
P.S. Тут ещё зависит от того, какой видеоряд в исходнике. Если нет пропущенных фаз в движении, можно попробовать смешанный метод в 2 этапа.
На первом этапе закодировать в lossless с ChangeFPS(30.000). Будет создан видеоряд с чистыми дублями кадров в 30 fps.
На втором этапе перекодировать lossless на скрипте GameDropFixV5. Он перерисует дубли в кадры с движением. Возможно так будет меньше блендов, чем на InterFrame .
скрытый текст
#svpflow1.dll
#svpflow2.dll
#mvtools2.dll
#masktools2.dll
#GRunT.dll
#flash3kyuu_deband.dll
#GameDropFixV5.avsi # SetMemoryMax(1024) ChangeFPS(last,last,true) # initiate a small forward buffer GameDropFixV5()# to fix dropped frames with GPU
# GameDropFixV5(myGPU=false)# to fix dropped frames with CPU
# GameDropFixV5(DblFPS=true) # to fix dropped frames with GPU and double framerate by insert interpolated frames
# GameDropFixV5(myDebug=true) # to fix dropped frames with debug info f3kdb()
|
|
Tracker35
Стаж: 16 лет 1 месяц Сообщений: 830
|
Tracker35 ·
12-Апр-17 01:19
(спустя 2 часа 58 мин., ред. 23-Апр-17 00:04)
Nitey самое лучше через SVPflow
http://www.svp-team.com/files/gpl/svpflow-4.0.0.128.zip
Цитата:
LoadPlugin("C:\svpflow1.dll")
LoadPlugin("C:\svpflow2.dll") global super_params = "{scale:{up:2},gpu:1}"
global analyse_params = "{block:{w:8,h:8},main:{search:{coarse:{distance:-10,bad:{sad:2000}}}},refine:[{thsad:65000}]}"
global smoothfps_params = "{rate:{num:3,den:2},algo:13,scene:{}}" function interpolate(clip src) {
super=SVSuper(src, super_params)
vectors=SVAnalyse(super, analyse_params, src)
SVSmoothFps(src, super, vectors, smoothfps_params, mt=6, url="www.svp-team.com")
} interpolate()
Данные настройки с учетом того, что ваша видеокарта умеет OpenCL 1.1 ( https://www.svp-team.com/wiki/Совместимость_видеокарт), настройки без использования видеокарты дают хуже качество.
Сколько кадров интерполировать меняется через num:3,den:2
Если из 19 в 30, то num:11,den:7 и в конце после interpolate()
ChangeFPS(30) или ConvertFPS(30) на выбор, они добьют 29.857 до ровных 30, но уже без интерполяции, либо дублированием, либо смешиванием.
|
|
Nitey
Стаж: 17 лет 3 месяца Сообщений: 3009
|
Nitey ·
12-Апр-17 19:44
(спустя 18 часов)
Всем спасибо. В итоге сделал через SVPflow,90% кадров у него лучше, чем у InterFrame, но некоторые кадры с большим количеством динамики сильно хуже. До 30 догнал просто через AssumeFPS.
|
|
miha2154
Стаж: 16 лет 5 месяцев Сообщений: 12092
|
miha2154 ·
12-Апр-17 22:03
(спустя 2 часа 18 мин.)
Nitey писал(а):
72894465До 30 догнал...
...и сжал по времени
|
|
Tracker35
Стаж: 16 лет 1 месяц Сообщений: 830
|
Tracker35 ·
12-Апр-17 22:17
(спустя 13 мин., ред. 12-Апр-17 22:18)
Nitey InterFrame тоже основан на svp
просто есть разные алгоритмы, в приведенном мною примере указан универсальный algo:13, а в приведенном выше примере с InterFrame указан 23ий.
Поэкспериментируйте с разными алгоритмами:
Цитата:
Rendering algorithm or "SVP shader", available values are:
1 - sharp picture without any blending, moves pixels by motion vectors from next frame to current. Requires only backward motion vectors ("analyse.vectors: 2") so it's the fastest possible method.
2 - like 1st but moves pixels from the nearest (in terms of time) frame so it uses both backward and forward vectors. Recommended for 2D animations.
11 - time weighted blend of forward and backward partial motion compensations.
13 - same as 11th but with dynamic median added. Produces minimum artifacts but with noticeable halos around moving objects.
21 - 11th plus additional cover/uncover masking to minimize halos and improve frame edges.
23 - 21th plus extra vectors from adjacent frames for further decreasing of halos, can be less smooth than 21th.
AssumeFPS изменяет продолжительность, из-за чего возможен рассинхрон со звуком, и примерно через каждые 210 секунд он будет около +1 сек расинхрона.
Используйте ChangeFPS(30) или ConvertFPS(30)
|
|
Nitey
Стаж: 17 лет 3 месяца Сообщений: 3009
|
Nitey ·
12-Апр-17 22:17
(спустя 7 сек.)
miha2154 писал(а):
72895509
Nitey писал(а):
72894465До 30 догнал...
...и сжал по времени
Знаю, в таком объеме было не принципиально.
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
13-Апр-17 00:13
(спустя 1 час 56 мин., ред. 13-Апр-17 00:13)
Nitey писал(а):
72894465В итоге сделал через SVPflow,90% кадров у него лучше, чем у InterFrame, но некоторые кадры с большим количеством динамики сильно хуже.
Не всегда вариант интерполяции даёт лучший вариант. Вот посмотрите :
- сделал исходник в 19 fps из клипа с частой сменой сцен с помощью AssumeFPS
- перекодировал его с ChangeFPS(30.000) http://multi-up.com/1149852
- на полученном файле сделал интерполяцию скриптом GameDropFixV5(myGPU=false) http://multi-up.com/1149853
Мне картинка с просто дублями нравится больше, ну подёргивается немного ...
А почему именно в 30 fps, если не меняется продолжительность ? Сделайте в 38 fps простым дублированием всех кадров, картинка будет плавная и чистая.
|
|
Tracker35
Стаж: 16 лет 1 месяц Сообщений: 830
|
Tracker35 ·
13-Апр-17 00:48
(спустя 34 мин., ред. 13-Апр-17 00:48)
busoti4444
как я говорил ранее интерполяция с использованием SVP без использования GPU дает хуже качество.
Плюс к тому-же по умолчанию в GameDropFixV5 настройки интерполяции очень и очень так-себе.
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
13-Апр-17 02:48
(спустя 2 часа, ред. 13-Апр-17 02:48)
Tracker35
У меня скрипт с видеокартой не запускается, выдаёт ошибку. Разбираться почему желания нет, я подобными вещами не занимаюсь.
А Nitey варианты скрипта я дал выше, в нём по умолчанию видеокарта подключена. Это во-первых.
Во-вторых, любая интерполяция картинку портит, поэтому я и не использую подобные скрипты. P.S. Наверное мне нужно поставить последний Catalyst Software Suite 15.7.1 с драйвером OpenCL на видеокарту AMD(ATI) HD 5470 .
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4963
|
Tempter57 ·
13-Апр-17 16:03
(спустя 13 часов, ред. 13-Апр-17 16:03)
На эту тему ведутся дискуссии http://forum.doom9.org/showthread.php?t=174410&page=4, но единого мнения во вопросу лучшего варианта скрипта нет. Когда необходимо удвоить частоту, я сторонник применения скрипта DoubleFPS.avsi. Именно он, на мой взгляд, с настройками DoubleFPS( mode=2, mopro=true, bias=128, show=false) выдаёт лучшее качество интерполированных кадров, снижая за счёт постобработки бленды интерполированных кадров. Скрипт Юшко YFRC.avsi с пост обработкой на основе ErrorMask, на мой взгляд, выдаёт хуже результат. Результат всех вариантов группы SVP тоже не вызвал с моей стороны ни восторга, ни одобрения. В принципе его задача на лету при просмотре выполнять задачу уплавления кадров, собственно с ней он замечательно справляется. Но я бы никогда не стал с помощью SVP ( или Interframe2) выполнять задачу создания дополнительных интерполированных кадров, например, при реставрировании материала 8 мм киноплёнки с частотой кадров PAL: 16.6666 или 18.75.
Но это всего лишь моё личное мнение, которое никому не собираюсь навязывать...
|
|
Tim68
Стаж: 14 лет 10 месяцев Сообщений: 712
|
Tim68 ·
13-Апр-17 22:32
(спустя 6 часов)
Tracker35
Tim68 писал(а):
51801199Частота старых 8мм кинопленок вполне прилично сочетается с сегодняшними 25 fps, что подтверждается простыми арифметическими действиями:
1.) 16.6(6)fps=50/3 => 50/3 *3/2=25fps (увеличить fps в 3 раза и продергать каждый второй кадр);
2.) 18.75fps=75/4 => 75/4 * 4/3=25fps (увеличить fps в 4 раза и продергать каждый третий кадр).
|
|
Tracker35
Стаж: 16 лет 1 месяц Сообщений: 830
|
Tracker35 ·
15-Апр-17 00:06
(спустя 1 день 1 час)
https://cloud.mail.ru/public/2iEk/CiyUARGZy
Залил еще кучу всяких HDR и их SDR аналоги.
Обратите внимание на демки и PlanetEarth2
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
15-Апр-17 03:50
(спустя 3 часа)
Tracker35 писал(а):
72910264Залил еще кучу всяких HDR
Что толку в этих файлах, если загрузить в Ависинт их нечем.
|
|
Металхэд (ОЧЕНЬ ЗЛОЙ)
Стаж: 8 лет 2 месяца Сообщений: 10
|
Металхэд (ОЧЕНЬ ЗЛОЙ) ·
15-Апр-17 11:42
(спустя 7 часов)
Привет всем гуру и учащимся.
Планирую вновь заняться рипами. Проблема в том что я ушел с ОС Виндос, а AVS так и не портировали с неё.
Всякие ДВД другими средствами фильтровать нереально. Зато на BR сигнал спокойный и не требует изощренной обработки.
Вопрос, возможно ли получить те же результаты фильтрами ffmpeg / какими-другими в рипах BR --> x264 720p ?
|
|
Tracker35
Стаж: 16 лет 1 месяц Сообщений: 830
|
Tracker35 ·
15-Апр-17 15:00
(спустя 3 часа, ред. 15-Апр-17 15:00)
busoti4444
avisynth+ нормально грузить через ffms2000, потом хоть на x264-10bit подавай через avs2yuv с указанием демюксера y4m
Добавляешь range colorprim colormatrix и transfer и воуля, madVR воспроизводит HDR не только с h265
|
|
Пупс Кочун
Стаж: 15 лет 6 месяцев Сообщений: 746
|
Пупс Кочун ·
15-Апр-17 15:47
(спустя 46 мин.)
busoti4444 писал(а):
72910899Что толку в этих файлах, если загрузить в Ависинт их нечем.
Это камент месяца!
Кроме ависинта, конечно, ничего на планете не существует...
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
15-Апр-17 23:34
(спустя 7 часов)
Tracker35
Если коротко, мне такая методика не подходит.
Жду декодера LWLibavVideoSource, который загрузит в Ависинт исходник 4k, 10 бит, HDR в виде 4k, 8 бит, SDR. Сделаю ресайз в 1920х1080 и закодирую 8-ми битным кодером х264 для своего BD плеера. На компе ничего не смотрю. Пупс Кочун
А ты, я так понял, купил себе BD плеер и телевизор с поддержкой 4k, 10 бит, HDR . Или нет ?
Или смотришь с компа через HDMI на обычном телевизоре ? Так это же извращение.
Или извращаешься ещё больше, и смотришь на компе ? Так это уже даже не извращение. Смотреть 4k, 10 бит, HDR на компе - это патология.
Так что, извините ребята, мне с вами не по пути.
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4963
|
Tempter57 ·
16-Апр-17 11:35
(спустя 12 часов, ред. 16-Апр-17 15:12)
busoti4444 писал(а):
72917633Жду декодера LWLibavVideoSource, который загрузит в Ависинт исходник 4k, 10 бит, HDR в виде 4k, 8 бит, SDR
Пробуйте L-SMASH-Works-r929-20170225-32bit . В принципе в своём архиве я уже заменил и его, и FFMS2. Для работы LWLibavVideoSource потребуется ещё загрузка 5 дополнительных плагинов в Windows\system32 или Windows\SYSWOW64 . Однако ни тот, ни другой декодер гамму и цветокоррекцию подобных исходников HDR convert to SDR на производит и вряд ли будет делать так, как это делает madVR. Вам предложили пока делать рипы, как и есть, а для просмотра рипов с HDR исходников использовать madVR, установив в настройках madVR в devices\наименование вашего монитора\hdr this display's peak hits:120.
Пока относительно неплохо получилось сделать HDRconverttoSDR в VapourSynth скриптом age, но с достаточно большой потерей детализации изображения на заднем плане. Поэтому рекомендация этим скриптом рипы фильмов не делать, для игр, а, возможно, для отдельных исходников аниме пойдёт. Tracker35
|
|
shinkiroo
Стаж: 15 лет Сообщений: 360
|
shinkiroo ·
17-Апр-17 21:40
(спустя 1 день 10 часов)
Зашел посмотреть новую версию x264 кодека, билд r2762 весит 20 метров О_О. Чего это он так скакнул в размере?
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
18-Апр-17 00:33
(спустя 2 часа 53 мин.)
shinkiroo
Не там смотрите. http://msystem.waw.pl/x265/
|
|
shinkiroo
Стаж: 15 лет Сообщений: 360
|
shinkiroo ·
18-Апр-17 18:06
(спустя 17 часов)
busoti4444
Окей, а в чем разница, кроме веса? И там в архиве, еще дополнительно лежит папка AVX-CPU-msvcr120 что это за версия?
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
19-Апр-17 01:11
(спустя 7 часов, ред. 19-Апр-17 01:11)
Tracker35 писал(а):
72910264Обратите внимание на PlanetEarth2
Обратил. И что я должен увидеть, если не секрет ? Пока я увидел следующее :
1. PlanetEarth2-2160 - контрастность и насыщенность цвета занижены, картинка выглядит мутной, бледной и невыразительной. К тому же бандинг.
2. PlanetEarth2-1080 - здесь другая крайность. Контрастность завышена, поэтому ушли полутона. Насыщенность цвета тоже завышена, в комплексе с контрастностью картинка выглядит неестественной. Бандинг в разы выше, чем на файле PlanetEarth2-2160.
3. Лично меня оба варианта не устраивают, перекодировал файл PlanetEarth2-2160 на свой вкус - https://yadi.sk/i/TikQLcQJ3H7YJK. Насколько мой вариант ближе к первоисточнику, остаётся только гадать.
От бандинга избавиться не удалось, только снизить. Возможно х264 10 бит уберёт бандинг лучше, но я его не рассматривал, т.к. мой BD плеер не поддерживает 10 бит.
На таком детальном исходнике бороться с бандингом гиблое дело. Нужно или увеличивать силу дебандера и размазать всю картинку, или засрать зерном картинку до неузнаваемости, чтобы не было видно бандинга (что делают издатели современных блюреев). Из-за нескольких секунд я не буду портить всю картинку.
А вообще, для тестов надо нормальные файлы выкладывать, а не эту порнографию. shinkiroo
В чём разница не вникал.
|
|
Гость
|
Гость ·
19-Апр-17 08:40
(спустя 7 часов, ред. 19-Апр-17 08:40)
AviSynth, QTGMC (может есть решение и в VapourSynth/прочих технологиях?)
неудачи в преобразовании interlace scan -> double frame rate progressive scan,
а именно при удвоении числа кадров, кадры дублируются - выходное видео с удвоенной частотой кадров, но соседние кадры одинаковые
конкретный пример: 1080i@25 -> 1080p@50. Результат 50p, но уникальных (не одинаковых) кадров только 25.
т.е. задача: деинтерлейс с повышением частоты кадров не решена для конкретного видео
pipeline в виде 25i -> 25p -> 50p пробовал, качество интерполяции кадров не устроило (конечно, при 25i-то имеем 50 полукадров, каждый отснят с интервалом 20мс и содержит половину полей в каждый момент времени, а при операции 25p -> 50p опорных точек нет - интерполяция уже исключительно кадров, а не всего лишь четных/нечетных полей в уже существующем кадре).
Поэтому посмотрел в сторону деинтерлейсеров и QTGMC (вроде как самого качественного) в частности. Вообще можно предложить любой софт или способ, но как-то сейчас AviSynth роднее что ли и хотелось бы в первую очередь понять можно ли с его помощью или принципиально невозможно и затем уже другие способы. Я потратил около 40 часов на поиск решения на просторах необъятного, но так и не нашел даже своей проблемы - везде что-то рядом, но именно не моя проблема задвоения кадров при попытке увеличения fps.
Ранее пробовал выжать максимум из Adobe Premiere Pro CC 2017 с обновками от янв. 2017:
результат - мильён артефактов (временная ссылка https://yadi.sk/d/dDOLHj5r3GXJFh), хотя pipeline как раз 25i -> 50p (а именно в cв-вах Sequence выставить 50p и optical flow, а при экспорте автоматом будет 50p) и крайне неэффективная расстановка I-frames. - просто не при смене сцены (смена сцены тоже страдает см. скрины по ссылке) а прямо посреди сцены I-frame.
Попробовал 25p закодировать в AviSynth x265 CLI - небо и земля. Adobe Premiere и Encoder не умеют экспортировать (нормально кодировать видео), только если в черновое качество или в картинки: настроек в CLI !в 20 раз больше!, да и свернуть окно Премьера во время кодирования можно только до появления первого любого другого окна - т.е. рабочий стол со своим окном не увидеть никогда во время долгого сохранения Премьером. Я уж молчу что в AviSynth можно параллельно кодировать другое видео, а в Премьере сиди и жди пока завершит одно кодирование и ничего с ним не сделаешь.
Вернёмся к качественному деинтерлейсу.
Исходник:
2ГБ файл выпуска 135 из раздачи https://rutr.life/forum/viewtopic.php?t=5367701 (сори, но такой уж не малый вес исходника)
временная ссылка на образец, полученный вырезкой первой минуты с пом. MKVToolNix GUI: https://yadi.sk/i/2f-L1g_U3H7r99
Окружение: движок AviSynth 2.60 x86 MT, загрузчик DSS2mod+LAVFilters, обработчик QTGMC 3.32, 3.33.
По QTGMC может что-то с зависимыми компонентами у меня стоит старое или не доустановил - не нашел чёткой инструкции по установке - в ней часть ссылок не работает, часть в новых версиях, а в сборке "все плагины разом" AVS не запускается без ошибок и устранил доустановкой компонентов в ОС и обновлением части плагинов.
Все запускается под ОС Win10 v1703 х64 (с текущими обновками).
Тестовое видео (пользователь трекера скинул HDTV 1080i@25 запись) у меня получилось интерполировать в честные 50p (т.е. каждый кадр уникальный). Т.е. казалось бы принципиально QTGMC работает.
AVS:
Код:
# LoadCPlugin("c:\Program Files (x86)\AviSynth\plugins\yadif.dll") SetMTMode(5, 2) - пробовал и без этой строки DSS2("c:\desktop\pph135ts.mkv") Trim(25*17, 25*44) AssumeTFF() - пробовал и без этой строки
ConvertToYV12(interlaced=true)
SetMTMode(2) - пробовал и без этой строки
QTGMC(Preset="Slow")
Далее подпихиваю output кодеру x265
Код:
& "c:\Program Files (x86)\AviSynth\additional\avs4x265.exe" --x265-binary "c:\Program Files (x86)\AviSynth\additional\x265_64-10bit[vc12].exe" --preset ultrafast -o "c:\desktop\pph_50.hevc" c:\desktop\pph.avs
и получаю 50fps, но просто задвоением каждого кадра.
вместо QTGMC пробовал и тоже захлебнувшийся Yadif(mode=1) - тот же самый выхлоп - задвоенные кадры.
Я вот чего понять не могу - если это проблемное видео в 25i, а другое видео 25i преобразуется в 50p "на ура", то почему деинтерлирующие фильтры его понять не могут? В чем видео особенное - как узнать его подробные св-ва помимо отображаемых одинаковыми в Media Info и как его привести к знаменателям, понятным QTGMC? Вот не нашел про то, какие виды/типы/заголовки видео принимает QTGMC - что ему на вход надо-то для получения 50p и соотв. какие преобразования впихнуть в скрипт или внешним софтом провернуть предобработку/remux-multiplex-конвертацию видео без потери качества.
Получилось ли у кого закодировать в "true" 50fps? Если да, то все советы, версии плагинов и других зависимостей были бы крайне интересны.
Может есть пользователи VapourSynth или аналогичных технологий?
|
|
Bodybill
Стаж: 9 лет 8 месяцев Сообщений: 307
|
Bodybill ·
19-Апр-17 10:14
(спустя 1 час 34 мин.)
LiveM писал(а):
72940672В чем видео особенное - как узнать его подробные св-ва помимо отображаемых одинаковыми в Media Info и как его привести к знаменателям, понятным QTGMC?
После импорта в скрипте допишите SeparateFields() и посмотрите на динамике, повторяются поля или нет. Если повторяются (с небольшим сдвигом по вертикали), значит у вас интерлейсное видео с оригинальной частотой 25 кадров. Если не повторяются, значит у вас видео 50i (50 полукадров в секунду) которое интерполируется по вертикали до полноценных 50 кадров (50р).
|
|
Гость
|
Гость ·
19-Апр-17 11:33
(спустя 1 час 18 мин., ред. 19-Апр-17 12:46)
Ставил SeparateFields() после DSS2, в след раз после Trim, затем после ConvertToYV12. Пробовал и на проблемном файле и на "хорошем".
Результат один - avs4x265.exe вылетает с ошибкой:
Код:
& "c:\Program Files (x86)\AviSynth\additional\avs4x265.exe" --x265-binary "c:\Program Files (x86)\AviSynth\additional\x265_64-10bit[vc12].exe" --preset ultrafast --pools 'none' -o "c:\desktop\pph_50.hevc" c:\desktop\
pph.avs
avs [error]: MergeLuma: Images must have same width and height!
(QTGMC-3.32.avsi, line 394)
(c:\desktop\pph.avs, line 18) (pph.avs:line 18 это инструкция QTGMC)
правильно ли я понял идею - что может быть у меня видео таково, что полноценный прогрессивный кадр, строки которого получены при съемке в один и тот же момент времени (четные и нечетные - без смещения во времени относительно друг друга), разбит на interlaced и таким образом получается 50 как бы полукадров в секунду; а настоящие 50i это когда каждый полукадр отснят в свой момент времени, т.е. при тупом слиянии соседних полукадров без обработки мы получаем "эффект гребёнки" на движущихся в кадре объектах?
только вот как проверить бы именно мой случай - что у меня за исходник такой и это корявость исходника такая - как бы на коленке слеплено или есть такой стандарт - прогрессив разбивать на идентичные полукадры? Если стандарт, то не иначе как в Китае придумали. Ещё и в св-вах MediaInfo указывается:
Scan type : Interlaced
Scan type, store method : Separated fields
Scan order : Top Field First
т.е. маскировка полная. Отличить как-то вообще возможно без перекодировки, если ли какие информационные инструменты? MPC-HC и DAUM Pot Player не указывают отличий. UPD:
один из пользователей, скачав образец, указал, что этот файл 25p (QTGMC не может решить задачу удвоения кадров, только интерполяторы полных кадров, а QTGMC решает задачу интерполяции недостающих строк/полей в кадре).
а распознать можно просто открыв в VirtualDub исходный клип и раздельно смотреть каждый полукадр, если в каждом есть движение с гребенкой (на косых движущихся линиях), то это интерлейсное видео. В моём случае будут простые резкие кадры.
Вот только мне кажется с открытием любого кадра у VirtualDub ещё старые проблемы, может ли кто посоветовать распознать исходник проще/быстрее или просто иной способ.
скачал даб с http://www.virtualdub.org/download.html скормил ему свой avs:
Код:
DSS2("c:\desktop\pph135ts.ts") Trim(25*20, 25*30)
SeparateFields()
да, от кадра к кадру картинка как бы ёрзает вверх-вниз, а после 2 кадров движение в кадре резкое - признак преобразования моего "как бы исходника" из изначального прогрессива по Бодибильному.
или
тот же AVS но без SeparateFields() и убедиться, что на движущихся горизонтально объектах отсутствует "эффект гребёнки" - тоже признак изначального прогрессива. я думаю я понял проблему - интерлейсные кадры получены из цельного прогрессива, поэтому они дополняются QTGMC-шкой до одинаковых - получены же из одного кадра - до него и восстанавливаются, т.е. QTGMC не просто так дублирует кадры - он восстанавливает каждый интерлейсный, но так как они в случае моего я бы сказал корявого исходника, изначально интерлейсные были частью одного и того же момента времени/прогрессивного кадра, то и восстанавливаются они до него.
спасибо Bodybill (в том числе и за сообщение ниже) и другим откликнувшимся пользователям
остался немного оффтопик:
- это стандарт такой или так исходник замаскирован типа под 1080@25i (50 уникальных полукадров), а на самом деле он 1080@25p?
и
- инструменты для детектирования таких ситуаций кроме VirtualDub
|
|
Bodybill
Стаж: 9 лет 8 месяцев Сообщений: 307
|
Bodybill ·
19-Апр-17 11:53
(спустя 20 мин.)
LiveM писал(а):
72941267правильно ли я понял идею
примерно так.
LiveM писал(а):
72941267Отличить как-то вообще возможно без перекодировки
Смотреть комментарий выше. Под смотреть имелось ввиду открыть скрипт в virtualdub или avsp и посмотреть, кодировать с SeparateFields() не надо.
|
|
george$t
Стаж: 14 лет 8 месяцев Сообщений: 4303
|
george$t ·
19-Апр-17 14:06
(спустя 2 часа 13 мин.)
LiveM писал(а):
72941267это стандарт такой или так исходник замаскирован типа под 1080@25i (50 уникальных полукадров), а на самом деле он 1080@25p?
Как снимать решает режиссер. Для студийных голов достаточно совмещенных полукадров. Соревнования смотрятся глаже при разнесенных по времени полях. Встречаются 720р хдтв, как правило фильмы. Там соответствие стандарту вещания достигается дублированием прогрессивных кадров, но требует издержек битрейта.
Почитайте про варианты подачи на qtgmc. http://avisynth.nl/index.php/QTGMC#Progressive_Input
Заодно выясните, что предпочтительнее для вашего исходника - интерполяция с заведомой потерей разрешения или ремонт линий / дешиммер. И так-ли они принципиально необходимы.
|
|
Bodybill
Стаж: 9 лет 8 месяцев Сообщений: 307
|
Bodybill ·
19-Апр-17 14:33
(спустя 26 мин.)
А каким боком Progressive_Input к интерлейсному видео?
|
|
george$t
Стаж: 14 лет 8 месяцев Сообщений: 4303
|
george$t ·
19-Апр-17 15:50
(спустя 1 час 17 мин., ред. 19-Апр-17 15:50)
Bodybill писал(а):
72942330А каким боком Progressive_Input к интерлейсному видео?
О каком интерлейсе речь? Тому что выше qtgmc в принципе противопоказан.
Когда альтернативы нет, qtgmc для даббинга хорош. Но на пале полно ситуаций, когда тфм + qtgmc(inputType=1) визуальное разрешение на пункт выше чем у просто qtgmc(FPSDivisor=2).
|
|
|