|
Мазизов
Стаж: 7 лет 8 месяцев Сообщений: 1134
|
Мазизов ·
01-Июл-18 21:26
(6 лет 6 месяцев назад)
Dtd8N писал(а):
75605674пиджак синий, на бд был сиренивый, то есть мало красного, что и видно по губам тоже
Конвертация HDR->SDR вообще не должна трогать тон цвета, только яркость, контрастность и насыщенность цвета.
Чтобы править тон цвета, тем более на фильме, нужен большой опыт в этом вопросе. Если править ориентируясь на пиджак и губы, в конечном итоге можно получить вообще х.з. что.
|
|
Dtd8N
Стаж: 8 лет 2 месяца Сообщений: 254
|
Dtd8N ·
01-Июл-18 21:47
(спустя 20 мин.)
Мазизов писал(а):
75605923Конвертация HDR->SDR вообще не должна трогать тон цвета, только яркость, контрастность и насыщенность цвета.
должна, но имеем что имеем...
значит 4к настолько кривой
|
|
Мазизов
Стаж: 7 лет 8 месяцев Сообщений: 1134
|
Мазизов ·
01-Июл-18 22:04
(спустя 17 мин.)
Dtd8N
Загрузите в скрипт 8 бит, подключите один ресайз (показал в этом посту), и попробуйте подвигать ползунки в окне цветокоррекция (тон не трогать !!!).
Изменения сразу видно в превью. Будет примерное представление, как меняется картинка при изменении этих параметров.
|
|
Tempter57
Стаж: 16 лет 3 месяца Сообщений: 4963
|
Tempter57 ·
02-Июл-18 15:04
(спустя 16 часов, ред. 17-Авг-19 08:33)
Учёл все предложения и фантазии. Окончательный пресет конвертации исходника YUV420P10 HDR to SDR 10bit будет выглядеть так:
скрытый текст
#DGTonemap.dll
#avsresize.dll
#RGTools.dll
#masktools2.dll
#dither.dll
#SmoothAdjust.dll
#flash3kyuu_deband.dll
#dither.avsi
#O16mod.avsi
#SmoothYlevels16.avs ConvertFromDoubleWidth(bits=10)
W = Width()/2
H = Height()/2 z_Spline36Resize(W,H) z_ConvertFormat(pixel_type="RGBPS",colorspace_op="2020ncl:st2084:2020:l=>rgb:linear:2020:l", dither_type="none") # ===== Tonemap ====
DGReinhard(contrast=0.2, bright=5.0) # variant=1
# DGHable(exposure=0.9, a=0.15, b=0.5, c=0.1, d=0.2, e=0.02, f=0.3, w=11.2) # variant=2 z_ConvertFormat(pixel_type="YUV420P16",colorspace_op="rgb:linear:2020:l=>709:709:709:l", dither_type="ordered")
ConvertToStacked() DB = last.f3kdb(16, 52, 32, 32, 0, 0, sample_mode=2,dynamic_grain=true,keep_tv_range=true,dither_algo=3, input_mode=1, output_mode=1) #DeBanding f = last.DitherPost (mode=-1)
s = f.Sharpen(0.2)
s16 = s.Dither_convert_8_to_16 () # 8 -> 16
DB.Dither_limit_dif16 (s16, thr=1.0, elast=2.0) # Dither_resize16(W, H, kernel="spline36")
SmoothYlevels16(gamma=1.0) OUTPUT_BIT_DEPTH = 10 # изменить 10 на 8 при отладке или установить 16 без обрезания верхних битов скриптом (OUTPUT_BIT_DEPTH == 16) ? Eval("""
Dither_convey_yuv4xxp16_on_yvxx() # 16-бит
""") : (OUTPUT_BIT_DEPTH == 10) ? Eval("""
Down10(10, stack=false, dither=-2) # 10-бит
""") : Down10(8) # 8-бит /*
Для конвертации HDR to SDR в 10 bit ###### ПРЕДУПРЕЖДЕНИЕ ######
Требуется установить AviSynth +
В качестве декодера применить LWLibavVideoSource("D:\my file.2160p.mkv", format="YUV420P10", stacked=false)
Удалить в скрипте строку ConvertYV12()
Штатный ресайзер конвертора отключить и задать в скрипте необходимые значения W и H
Выбрать в настройках кодека AVC profile:
High 10 Profile для Х264
HEVC Profile: Main 10b для Х265
*/
Результат http://multi-up.com/1203318 и ещё один http://multi-up.com/1203324
Пресет конвертации исходника YUV420P10 HDR to SDR 10bit с псевдо Chroma subsampling 4:4:4 будет выглядеть так:
скрытый текст
#DGTonemap.dll
#avsresize.dll
#RGTools.dll
#masktools2.dll
#dither.dll
#SmoothAdjust.dll
#flash3kyuu_deband.dll
#dither.avsi
#O16mod.avsi
#SmoothYlevels16.avs ConvertFromDoubleWidth(bits=10) W = Width()/2
H = Height()/2 z_Spline36Resize(W,H) z_ConvertFormat(pixel_type="RGBPS",colorspace_op="2020ncl:st2084:2020:l=>rgb:linear:2020:l", dither_type="none") # ===== Tonemap ====
DGReinhard(contrast=0.2, bright=5.0) # variant=1
# DGHable(exposure=0.9, a=0.15, b=0.5, c=0.1, d=0.2, e=0.02, f=0.3, w=11.2) # variant=2 z_ConvertFormat(pixel_type="YUV420P16",colorspace_op="rgb:linear:2020:l=>709:709:709:l", dither_type="ordered")
ConvertToStacked() Dither_convert_yuv_to_rgb (matrix="709", output="rgb48y", lsb_in=true)
Dither_y_gamma_to_linear (tv_range_in=false, tv_range_out=false, curve="709", sigmoid=true)
Dither_resize16(W, H, kernel="spline36")
Dither_y_linear_to_gamma (tv_range_in=false, tv_range_out=false, curve="709", sigmoid=true)
r = SelectEvery (3, 0)
g = SelectEvery (3, 1)
b = SelectEvery (3, 2)
Dither_convert_rgb_to_yuv (r, g, b, matrix="709", output="YV24",lsb=true) DB=last.f3kdb(16, 52, 32, 32, 0, 0, sample_mode=2,dynamic_grain=true,keep_tv_range=true,dither_algo=3, input_mode=1, output_mode=1) #DeBanding f = last.DitherPost (mode=-1)
s = f.Sharpen(0.2)
s16 = s.Dither_convert_8_to_16 () # 8 -> 16
DB.Dither_limit_dif16 (s16, thr=1.0, elast=2.0) # Dither_resize16(W, H, kernel="spline36")
SmoothYlevels16(gamma=1.0) OUTPUT_BIT_DEPTH =10 # изменить 10 на 8 при отладке или установить 16 без обрезания верхних битов скриптом (OUTPUT_BIT_DEPTH == 16) ? Eval("""
Dither_convey_yuv4xxp16_on_yvxx() # 16-бит
""") : (OUTPUT_BIT_DEPTH == 10) ? Eval("""
Down10(10, stack=false, dither=-2) # 10-бит
""") : Down10(8) # 8-бит /*
Для конвертации HDR to SDR в 10 bit 444 ###### ПРЕДУПРЕЖДЕНИЕ ######
Требуется установить AviSynth +
В качестве декодера применить LWLibavVideoSource("D:\my file.2160p.mkv", format="YUV420P10", stacked=false)
Удалить в скрипте строку ConvertYV12()
Штатный ресайзер конвертора отключить и задать в скрипте необходимые значения W и H
Выбрать в настройках кодека AVC profile:
High 10 Profile и --output-csp i444 для Х264
HEVC Profile: Main 444 10b для Х265
*/
Результат http://multi-up.com/1203319
Дебандер хотите подключайте, хотите нет. Ресайзер тоже выбирайте по своему вкусу.
Пресет конвертации HDR to SDR 8 bit будет выглядеть так:
скрытый текст
#DGTonemap.dll
#avsresize.dll
#SmoothAdjust.dll
#flash3kyuu_deband.dll ConvertFromDoubleWidth(bits=10)
W = Width()/2
H = Height()/2
z_Spline36Resize(W,H).sharpen(0.2) z_ConvertFormat(pixel_type="RGBPS",colorspace_op="2020ncl:st2084:2020:l=>rgb:linear:2020:l", dither_type="none") # DGReinhard(contrast=0.2, bright=5.0) # variant=1
DGHable(exposure=0.9, a=0.15, b=0.5, c=0.1, d=0.2, e=0.02, f=0.3, w=11.2) # variant=2 z_ConvertFormat(pixel_type="YUV420P16",colorspace_op="rgb:linear:2020:l=>709:709:709:l",dither_type="ordered")
ConvertToStacked() f3kdb(16, 52, 32, 32, 0, 0, sample_mode=2,dynamic_grain=true,keep_tv_range=true,dither_algo=3, input_mode=1, output_mode=0) #DeBanding
SmoothLevels(0,1.0,255,0,255) /*
Для конвертации HDR to SDR в 8 bit ###### ПРЕДУПРЕЖДЕНИЕ ######
Требуется установить AviSynth +
В качестве декодера применить LWLibavVideoSource("D:\my file.2160p.mkv", format="YUV420P10")
удалите в начале скрипта штатные кроп и ресайзер конвертора и строку ConvertoYV12(), иначе бандинг и радужность возрастут
*/
Результат http://multi-up.com/1203320
Пресет конвертации на основе плагина HDRTools,dll
скрытый текст
#HDRTools.dll
#avsresize.dll
#SmoothAdjust.dll
#flash3kyuu_deband.dll ConvertFromDoubleWidth(bits=10)
W = Width()/2
H = Height()/2
z_Spline36Resize(W,H).sharpen(0.2) Exposure=1.0
Whitescale=66
ConvertYUVtoXYZ(Color=0, OutputMode=2, HDRMode=0, fullrange=true) ConvertXYZ_Hable_HDRtoSDR(exposure_X=Exposure, exposure_Y=Exposure, exposure_Z=Exposure, whitescale_X=Whitescale, whitescale_Y=Whitescale, whitescale_Z=Whitescale)
#ConvertXYZ_Scale_HDRtoSDR(Coeff_X=18,Coeff_Y=18,Coeff_Z=18) # variant 2
#ConvertXYZ_Mobius_HDRtoSDR(exposure_X=18) # variant 3
#ConvertXYZ_Reinhard_HDRtoSDR(exposure_X=12.0, contrast_X=0.6) # variant 4 ConvertXYZtoYUV(pColor=0, OutputMode=2)
ConvertToStacked() f3kdb(16, 52, 32, 32, 20, 0, sample_mode=2,dynamic_grain=true,keep_tv_range=true,dither_algo=3, input_mode=1, output_mode=0) #DeBanding SmoothLevels(0, 1.0, 255, 0, 255, useopt=0, HQ=true, useMT=1) /*
Для конвертации HDR to SDR в 8 bit ###### ПРЕДУПРЕЖДЕНИЕ ######
Требуется установить AviSynth +
В качестве декодера применить LWLibavVideoSource("D:\my file.2160p.mkv", format="YUV420P10", stacked=false)
Удалить в скрипте строку ConvertYV12()
Штатные ресайзер и кроп конвертора отключить и задать в скрипте необходимые значения W и H
*/
Результат http://multi-up.com/1203326 и ещё http://multi-up.com/1203325
Параметры в скриптах, требующие подбора под конкретный исходник, выделены красным цветом.
Из недостатков данного метода: DGTonemap всё же добавляет едва заметную радужность изображения и цветовой шум на тёмных сценах.
Все пресеты и плагины есть уже в обновлённом архиве (второй пост темы XviD 4PSP 5.0).
Пробовал в скриптах подключать ещё ColorYUV(autogain=true,levels="PC->TV") или ColorYUV(autogain=true), к сожалению, последний не справляется с обработкой, вызывая мерцание. Короче старыми плагинами autolevels и autogain не стоит пользоваться. Смотрите на новые AutoAdjust.dll и SmoothAdjust.dll и их функции, пробуйте подбирать внутренние параметры.
|
|
Мазизов
Стаж: 7 лет 8 месяцев Сообщений: 1134
|
Мазизов ·
02-Июл-18 16:40
(спустя 1 час 35 мин., ред. 02-Июл-18 16:40)
Tempter57 писал(а):
75607048DGTonemap всё же добавляет едва заметную радужность изображения и цветовой шум на тёмных сценах.
Наверное это неизбежно при поднятии гаммы на такой уровень.
Цветовые шумы добавляют все плагины, которые увеличивают насыщенность цвета, и с auto levels, и вручную, например Tweak(). Я пробовал убирать шумы до поднятия гаммы, шумодав их не видит, видит только после поднятия, но тут их уже и глаз видит.
Возможно этого можно избежать при конвертации внутри декодера и загрузки в Ависинт уже готовой картинки с нужной битностью ...
А если убрать шарп в конец скрипта ? Он хоть и небольшой по умолчанию, но всё равно акцентирует шумы. А бесцветные шумы в последствии становятся цветными.
Вот придумали головную боль этот долбанный HDR, да ещё Н265 к нему в придачу. Комп еле шевелится.
Толку от них нихера, а мороки с ними дохера.
|
|
Tempter57
Стаж: 16 лет 3 месяца Сообщений: 4963
|
Tempter57 ·
02-Июл-18 18:04
(спустя 1 час 23 мин., ред. 02-Июл-18 18:04)
Мазизов
Я , конечно, мог присобачить MDegarainN в качестве шумодава или fft3dfilter и давить шумы по chroma, но это уже жесть для такого разрешения, нужен проц на 32 ядра Хотя может Cnr2 или hqdn3d попробовать... хотя бы в конце 8-битного скрипта в конце.
|
|
Мазизов
Стаж: 7 лет 8 месяцев Сообщений: 1134
|
Мазизов ·
02-Июл-18 18:06
(спустя 2 мин.)
Tempter57
Так шумодав будет работать на разрешении 1920х1080, а может и на 1280х720. Даже я на своём дохлом компе позволяю себе подключать скрипт по пляшущим шумам на 1280х720.
Ну а те, кто кодирует в исходное разрешение 4k, пусть покупают новые процы на 32 ядра. За удовольствие надо платить.
Смогли же они купить телевизор с диагональю под такое разрешение. А если эти рипы планируется смотреть на компе, то глупее занятия не придумаешь.
|
|
Tempter57
Стаж: 16 лет 3 месяца Сообщений: 4963
|
Tempter57 ·
02-Июл-18 18:15
(спустя 8 мин., ред. 03-Авг-19 19:53)
Мазизов
Оказалось, что плохо отрабатывает с радужностью на темных участках функция DGReinhard, а DGHable вполне нормально, только gamma надо снижать до 0.98. В скриптах оставил по умолчанию DGHable.
P.S. Даже не так, дело не в функциях tonemap, а в строгой последовательности фильтров и особенно ресайзеров, иначе бандинг и радужность:
скрытый текст
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\LSMASHSource.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\SplineResize.dll") LWLibavVideoSource("E:\AVI_DVD\JohnWick-2160.mkv", stream_index=-1, cache=true, dr=false, format="YUV420P8", stacked=true).AssumeFPS(23.976) ###[FILTERING]###
XviD4PSPPluginsPath = "C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\"
LoadPlugin(XviD4PSPPluginsPath + "DGTonemap.dll")
LoadPlugin(XviD4PSPPluginsPath + "avsresize.dll")
LoadPlugin(XviD4PSPPluginsPath + "SmoothAdjust.dll")
LoadPlugin(XviD4PSPPluginsPath + "AutoAdjust.dll")
LoadPlugin(XviD4PSPPluginsPath + "flash3kyuu_deband.dll") W = Width()/2
H = Height()/2 z_ConvertFormat(pixel_type="RGBPS",colorspace_op="2020ncl:st2084:2020:l=>rgb:linear:2020:l", dither_type="none") # DGReinhard(contrast=0.2, bright=5.0) # variant=1
DGHable(exposure=1.1, a=0.15, b=0.5, c=0.1, d=0.2, e=0.02, f=0.3, w=11.2) # variant=2
# DGHable(exposure=0.9, a=0.22, b=0.3, c=0.1, d=0.2, e=0.01, f=0.3, w=11.2) # variant=3 z_ConvertFormat(pixel_type="YV12",colorspace_op="rgb:linear:2020:l=>709:709:709:l",dither_type="ordered")
z_Spline36Resize(W,H) SmoothLevels(gamma=0.5)
Sharpen(0.2)
SmoothLevels(gamma=2.0) f3kdb(16, 52, 32, 32, 0, 0, sample_mode=2,dynamic_grain=true,keep_tv_range=true,dither_algo=3, input_mode=0, output_mode=0) #DeBanding #ColorYUV(levels="PC->TV")
#AutoAdjust(auto_gain=true,high_quality=true,gain_mode=1,avg_safety=1.0,auto_balance=false,threads_count=1,asm_opt=0) /*
Для конвертации HDR to SDR в 8 bit ###### ПРЕДУПРЕЖДЕНИЕ ######
Требуется установить AviSynth +
В качестве декодера применить LWLibavVideoSource("D:\my file.2160p.mkv", format="YUV420P8", stacked=true)
удалите в начале скрипта штатные кроп и ресайзер конвертора и строку ConvertoYV12(), иначе бандинг возрастёт
*/
Так, что ваш любимый spline144resize в начале скрипта, как впрочем и любой другой убивает изображение, в конце будет лучше ему, но почему-то с z_Spline36Resize(W,H) бандинг пропадает, а обычными ресайзерами заметен.
Вариант второй при 8 битном конвертировании заключается в том , чтобы сохранять 10 бит до последнего, как в последнем варианте в посту выше.
|
|
Мазизов
Стаж: 7 лет 8 месяцев Сообщений: 1134
|
Мазизов ·
02-Июл-18 18:29
(спустя 14 мин., ред. 03-Июл-18 14:35)
Tempter57
Первая проба в этом посту сделана с DGHable, в ней и оттенков цвета больше и детализация лучше, почти как в моей пробе.
Цитата:
только gamma надо снижать до 0.98
Это на этом исходнике, на другом возможно нужно будет поднять выше 1.0 .
Цитата:
spline144resize в начале скрипта, как впрочем и любой другой убивает изображение, в конце будет лучше ему
Я ещё подумал, что конвертацию возможно лучше делать на исходном разрешении, т.к. по сути это новый мастеринг .
Вопрос лишь в скорости обработки. А лично для меня дело даже не в скорости. У меня система х32, и 3гб памяти явно не хватает работать на таком разрешении.
Поэтому я и не начинаю.
Цитата:
почему-то с z_Spline36Resize(W,H) бандинг пропадает, а обычными ресайзерами заметен.
Думаю, Graft не случайно выбрал avsresize . Ещё выяснится, что и от декодера DGDecodeNV что-то зависит. Например, он может в своём индексе прописывать HDR метадату, и подавать её на плагин DGTonemap, как подаёт LAVFilters на madvr :
Цитата:
LAVFilters 0.68.0 - 2016/03/08
LAV Video
- ...
- NEW: HEVC HDR streams export the HDR metadata to the video renderer (requires madVR 0.89.18 or newer)
|
|
торрент иваниваныч
Стаж: 15 лет 1 месяц Сообщений: 1154
|
торрент иваниваныч ·
02-Июл-18 18:37
(спустя 7 мин.)
Напомните, как менять цветовую температуру. Не могу найти то обсуждение.
|
|
Tempter57
Стаж: 16 лет 3 месяца Сообщений: 4963
|
Tempter57 ·
02-Июл-18 19:19
(спустя 41 мин., ред. 02-Июл-18 19:19)
торрент иваниваныч
ShiftCCT(6650) # подобрать значение цветовой температуры внутри скобок
Плагины в пресете VHS RemoveDirt
Мазизов писал(а):
75610020Первая проба в этом посту сделана с DGHable, в ней и оттенков цвета больше и детализация лучше, почти как в моей пробе.
Там я ещё протупил и снизил битность до 8 выходом в цветовое пространство YV24 , а потом конвертировал в 16. Забыл про ConvertToStacked(), когда надо было стыковать YUV420P16 с 16 битным дизером. Так, что тот скрипт не совсем был логически правильным ... сжульничал
|
|
торрент иваниваныч
Стаж: 15 лет 1 месяц Сообщений: 1154
|
торрент иваниваныч ·
02-Июл-18 19:35
(спустя 16 мин.)
|
|
Мазизов
Стаж: 7 лет 8 месяцев Сообщений: 1134
|
Мазизов ·
02-Июл-18 21:02
(спустя 1 час 26 мин., ред. 03-Июл-18 14:55)
Tempter57 писал(а):
75610224тот скрипт не совсем был логически правильным
Какая разница, главное конечный результат. Если результат есть, значит он возможен.
P.S. Сегодня новая версия Avisynth+ вышла - https://github.com/pinterf/AviSynthPlus/releases
Ну и очевидно для пользователей XviD4PSP 5 где-то нужно дописать, чтобы AviSynth.dll меняли в системе вместе с DevIL.dll, которая идёт с ним в комплекте.
И наверное нужно забросить плагины из комплекта Avisynth+ в папку C:\Program Files\AviSynth 2.5\plugins, иначе, например строка "ConvertToStacked()" не будет работать.
Кстати, смотрю обновился декодер DSS, и по размеру стал в 2 раза больше. Надо будет попробовать, что он может с LAVFilters 0.72.0 .
Не исключаю также, что в него внесли какие-то новшества и по поводу HDR .
|
|
Dtd8N
Стаж: 8 лет 2 месяца Сообщений: 254
|
Dtd8N ·
02-Июл-18 23:44
(спустя 2 часа 41 мин.)
Мазизов писал(а):
75609857Tempter57
Так шумодав будет работать на разрешении 1920х1080, а может и на 1280х720. Даже я на своём дохлом компе позволяю себе подключать скрипт по пляшущим шумам на 1280х720.
я все бд1080 кодирую с шумодавом MCompensate, бывает правда бандинг в темных сценах вылезает (
|
|
bob2
Стаж: 14 лет 11 месяцев Сообщений: 268
|
bob2 ·
06-Июл-18 01:19
(спустя 3 дня, ред. 06-Июл-18 01:19)
Возможно кто-то знает как поступить в такой ситуации... прошу подсказать, как решить задачу:
Есть исходник 29.970 fps: http://sendfile.su/1429201
В нём каждый пятый кадр-дубль, который нужно выбросить.
В обычном случае эта проблема решается при помощи: TDecimate(cycle=5)
Но в данном случае в видео периодически внизу появляется "бегущая строка", которая, очевидно, распознается как движение и из-за этого TDecimate(cycle=5) в этих моментах местами ошибается и оставляет дубли + выбрасывает полезные кадры.
Перечитал справку по TDecimate, но не нашёл ни как подстроить чувствительность (хотя я уже понял, что настройка чувствительности тут всё равно не поможет, т.к. ошибочные выбрасывания полезных кадров происходят только когда в кадре не очень большое движение и поэтому движение бегущей строки распознается как более значимое и приводит к таким нехорошим результатам), ни тем более, как задать только нужную область кадра по которой детектить дубли (т.е. если бы можно было задать только нужную площадь кадра за пределами бегущий строки, то проблемы бы не было).
|
|
Мазизов
Стаж: 7 лет 8 месяцев Сообщений: 1134
|
Мазизов ·
06-Июл-18 15:57
(спустя 14 часов, ред. 06-Июл-18 15:57)
bob2
В таком случае, Вам нужно не дубли искать, а задать удаление каждого пятого кадра.
Попробуйте так - http://aeclub.net/forums/index.php?showtopic=8098
В Ависинте есть функция SelectRangeEvery - http://avisynth.org.ru/docs/russian/index.htm - Базовые фильтры - Монтажа .
|
|
Harry Palmer
Стаж: 16 лет 9 месяцев Сообщений: 3723
|
Harry Palmer ·
06-Июл-18 16:18
(спустя 21 мин., ред. 06-Июл-18 16:18)
bob2, занимался некогда чем-то подобным, но без бегущей строки. Сначала в XviD4PSP 5 применял деинтерлейс TDecimate to 25.000, но потом от него отказался из-за не очень хорошего результата.
Сейчас в подобных случаях сначала прогоняю файл через скрипт, который проверяет на "похожесть" каждый соседний кадр и на выходе выдаёт статистический файл. Его и подставляю потом в программу при кодировании. Не знаю, может и вам что-то подобное надо делать...
|
|
george$t
Стаж: 14 лет 9 месяцев Сообщений: 4335
|
george$t ·
06-Июл-18 16:22
(спустя 3 мин.)
Мазизов
Там непостоянный порядок дублей, задай цикл поширше.
скрытый текст
Trim(34,0) # потому как образовалась мешанина при нарезке сэмпла
Crop(0,0,-0,-90)
TDecimate(cycleR=60, cycle=300,display=true)
Harry Palmer писал(а):
75627303но без бегущей строки.
В ней весь подвох.
bob2 писал(а):
75624960как задать только нужную область кадра по которой детектить дубли
Обрезать строку, шоб не мешала, вывести в метрики
Код:
#DGSource("L:\E02.160306.dgi")
MPEG2Source("L:\E02.160306.d2v", cpu=0, info=3)
Trim(34,0)
Crop(0,0,-0,-90)
TDecimate(cycleR=60, cycle=300, mode=4, output="L:\metrics.txt")
Потом метрики скормить дециматору без кропа.
Код:
#DGSource("L:\E02.160306.dgi")
MPEG2Source("L:\E02.160306.d2v", cpu=0, info=3) Trim(34,0)
TDecimate(input="L:\metrics.txt")
Это если вас не смущает прерывистость в воспроизведении строки, которая возникнет после децимации. Потому как строка живет своей плавной жизнью в 29.97 фпс. Если же смущает, возможно что-то полезное по ее обработке сможете почерпнуть у Турбопаскаля.
http://tp7.ruanime.org/IVTC/index.html
|
|
bob2
Стаж: 14 лет 11 месяцев Сообщений: 268
|
bob2 ·
06-Июл-18 16:42
(спустя 19 мин., ред. 06-Июл-18 16:42)
Спасибо, но это подойдет только если материал идеально однородный без стыков (к примеру, на месте вырезанных фрагментов ТВ-рекламы), где последовательность может быть нарушена. Вручную проверять и учитывать все такие "переходные места" - не вариант. TDecimate хорош именно своей универсальностью.
Может всё-таки кто-то знает более гибкий аналог TDecimate, где можно задать по какой части кадра нужно проводить анализ-поиск дублей?
Harry Palmer писал(а):
75627303занимался некогда чем-то подобным, но без бегущей строки. Сначала в XviD4PSP 5 применял деинтерлейс TDecimate to 25.000, но потом от него отказался из-за не очень хорошего результата.
Сейчас в подобных случаях сначала прогоняю файл через скрипт, который проверяет на "похожесть" каждый соседний кадр и на выходе выдаёт статистический файл. Его и подставляю потом в программу при кодировании. Не знаю, может и вам что-то подобное надо делать...
Спасибо, но, увы, не подойдет. Т.к. бегущая строка - это полноценное быстрое движение, которое превращает дубли в сильно отличающиеся кадры. Здесь ничего не получится, если как-то не сообщить алгоритму сравнения, что движение в нижней части кадра не нужно учитывать (идеальным было бы задание координат, если такое возможно). update:
george$t, спасибо огромное! Именно от таком я и мечтал (даже мысль была, что было бы хорошо откропить перед поиском дублей, но как потом вернуть отрезанное назад... и вот как такое реализовать был вообще без понятия).
Сейчас будет практиковаться.
george$t писал(а):
75627324Это если вас не смущает прерывистость в воспроизведении строки, которая возникнет после децимации
Да, я об этом уже думал. Прерывистость строки не особо критична, чтобы углубляться и заморачиваться ради этой строки. Впрочем, если у кого-то есть готовое решение, как ещё и бегущую строку сделать плавной, то буду рад.
|
|
Мазизов
Стаж: 7 лет 8 месяцев Сообщений: 1134
|
Мазизов ·
06-Июл-18 17:46
(спустя 1 час 4 мин., ред. 06-Июл-18 17:46)
bob2 писал(а):
75627356Впрочем, если у кого-то есть готовое решение, как ещё и бегущую строку сделать плавной, то буду рад.
Варианты есть, но лучше не мудрить на эту тему и не портить картинку.
Прерывистость в воспроизведении строки будет минимальной потерей, если остальное всё получится.
Кстати, посмотрел сэмпл, строка и в исходнике не такая уж и плавная. george$t
Насчёт метрики идея хорошая.
скрытый текст
налей себе стакан
|
|
Dtd8N
Стаж: 8 лет 2 месяца Сообщений: 254
|
Dtd8N ·
06-Июл-18 19:04
(спустя 1 час 18 мин.)
Tempter57 писал(а):
75607048
#SmoothYlevels16.avs
не подскажите где скачать?
икал в гугле и не нашел
|
|
bob2
Стаж: 14 лет 11 месяцев Сообщений: 268
|
bob2 ·
06-Июл-18 20:14
(спустя 1 час 9 мин., ред. 06-Июл-18 20:14)
george$t
А не подскажете каким софтом и плагинами пользуетесь?
А то у меня на 2-м этапе:
george$t писал(а):
Потом метрики скормить дециматору без кропа.
Код:
#DGSource("L:\E02.160306.dgi")
MPEG2Source("L:\E02.160306.d2v", cpu=0, info=3) Trim(34,0)
TDecimate(input="L:\metrics.txt")
возникает ошибка:
Цитата:
TDecimate: crc32 in input file does not match that of the current clip (0x74eeabf1 vs 0xbd97ed0c)!
После этого специально даже поставил из соседней теме рекомендуемый XviD4PSP 5 + набор плагинов и всё равно та же самая ошибка.
Гуглил, несколько упоминаний с такой ошибкой есть, но нигде решения я так и не увидел. За 3 часа перепробовал всё что мог, теперь даже не знаю, что ещё можно попробовать.
|
|
george$t
Стаж: 14 лет 9 месяцев Сообщений: 4335
|
george$t ·
06-Июл-18 20:49
(спустя 34 мин.)
bob2
Виноват, забыл предупредить.
Контрольная сумма не совпадает, потому что подопытный клип мы сначала подавали подрезанным. Но это и неважно, т.к. нас интересует только алгоритм прореживания. Просто в текстовом файле предварите контрольную сумму знаком комментария.
Код:
#TDecimate v1.0.3 by tritical
#crc32 = 6716f8c0, blockx = 32, blocky = 32, chroma = T
blockx = 32, blocky = 32, chroma = T стоят на дефолте и уже были учтены при подсчете разностей.
|
|
bob2
Стаж: 14 лет 11 месяцев Сообщений: 268
|
bob2 ·
06-Июл-18 21:06
(спустя 17 мин.)
george$t писал(а):
75628522Виноват, забыл предупредить.
Контрольная сумма не совпадает, потому что подопытный клип мы сначала подавали подрезанным. Но это и неважно, т.к. нас интересует только алгоритм прореживания. Просто в текстовом файле предварите контрольную сумму знаком комментария.
А, блин, зря 3 часа голову ломал. Спасибо.
george$t писал(а):
75628522Контрольная сумма не совпадает, потому что подопытный клип мы сначала подавали подрезанным.
У меня было такое предположение, но я не был уверен. А вот просто закомментировать строку с контрольной суммы я действительно не сообразил даже попробовать. И вместо этого начал копать в сторону обновления плагинов (даже попробовал модифицированный TIVTC v1.0.11).
george$t писал(а):
75628522blockx = 32, blocky = 32, chroma = T стоят на дефолте и уже были учтены при подсчете разностей.
Понятно, спасибо за пояснение.
|
|
Мазизов
Стаж: 7 лет 8 месяцев Сообщений: 1134
|
Мазизов ·
06-Июл-18 21:14
(спустя 8 мин.)
Dtd8N
Для кого Tempter57 посты пишет ?
Tempter57 писал(а):
75607048Все пресеты и плагины есть уже в обновлённом архиве (второй пост темы XviD 4PSP 5.0).
|
|
Dtd8N
Стаж: 8 лет 2 месяца Сообщений: 254
|
Dtd8N ·
06-Июл-18 23:15
(спустя 2 часа, ред. 06-Июл-18 23:15)
Мазизов писал(а):
75628618Dtd8N
Для кого Tempter57 посты пишет ?
Tempter57 писал(а):
75607048Все пресеты и плагины есть уже в обновлённом архиве (второй пост темы XviD 4PSP 5.0).
ох сори, у меня видимо старая версия этого архива
продолжаем эксперименты
дюнкерк, хоть и пишут что реальное 4к, по факту 2к
1080бд - 4к вариант скрипта 2ой,
настройки DGHable(exposure=0.6, a=0.15, b=0.5, c=0.1, d=0.2, e=0.02, f=0.3, w=11.2) # variant=2
картинка уже неплохо сходится с бд1080
что не нравится, скрипт почему то сжимает диапазон, что видно по гистограмме
что бы поднять диапазон, нужно увеличить exposure=1.0, но тогда и картинка становится слишком светлая
а может это сам бд4к такой?
при этом разные версии скрипта, 2ая и 3ая выдают разную картинку даже на одинаковых настройках
в 3ей версии скрипта пришлось выставить
DGHable(exposure=1.0, a=0.15, b=0.5, c=0.1, d=0.2, e=0.02, f=0.3, w=11.2) # variant=2
а иначе картинка уж слишком темная
фиг с ним, подобрал exposure=1.5, гистограммы сравнялись, но картинка слишком светлая
пока так
|
|
Tracker35
Стаж: 16 лет 2 месяца Сообщений: 830
|
Tracker35 ·
07-Июл-18 00:34
(спустя 1 час 19 мин., ред. 07-Июл-18 00:34)
Dtd8N
для проверки на "годность" HDR'a, нужно смотреть еще и в madVR'e при 100-150 nits DGTonemap и z.lib хоть и позволяют делать конвертацию, но все еще вееесьма далеки от "правды".
Например без реализации альтернативы madVR'овской опции "restore details in commpressed highlights", такие моменты (с засветкой) как на 3м и 4м скрине будут всегда.
Что-уж говорить про динамику HDR'a и необходимость (авто)коррекции настроек от сцены к сцене ...
|
|
Dtd8N
Стаж: 8 лет 2 месяца Сообщений: 254
|
Dtd8N ·
07-Июл-18 10:26
(спустя 9 часов, ред. 07-Июл-18 10:26)
Tracker35 писал(а):
75629407Dtd8N
для проверки на "годность" HDR'a, нужно смотреть еще и в madVR'e при 100-150 nits DGTonemap и z.lib хоть и позволяют делать конвертацию, но все еще вееесьма далеки от "правды".
Например без реализации альтернативы madVR'овской опции "restore details in commpressed highlights", такие моменты (с засветкой) как на 3м и 4м скрине будут всегда.
Что-уж говорить про динамику HDR'a и необходимость (авто)коррекции настроек от сцены к сцене ...
1 почему на 100-150? я думал нужно выставлять яркость дисплея, например монитор 250, ТВ - 400
2 засветы есть и в бд1080, возможно это именно так снято и информация потеряна? или она просто не влезает в 8бит
тут или засветы или все будет темное, а компрессить до 8 бит получим неприятнуюглазу картинку
или я неправильно понимаю?
и я проверил еще раз, в этих скринах нет пересветов
во многих картах наоборот недосвет и выбивает в 0,0,0
1080бд - мадвр 250нит
ну... как и я настраивал, гистограмма все равно уже, такая же как и через хvid4psp
мне кажется это так в 4к изначально, диапазон сжали, а динамический шире,
хотя зачем так сделали, я не понимаю
Tracker35 писал(а):
75629407Dtd8N DGTonemap и z.lib хоть и позволяют делать конвертацию, но все еще вееесьма далеки от "правды".
учитывая что 4к фильмов как не было так и нет, то у разработчиков есть время на доведения продукта до ума
|
|
Tempter57
Стаж: 16 лет 3 месяца Сообщений: 4963
|
Tempter57 ·
07-Июл-18 10:38
(спустя 11 мин., ред. 03-Авг-19 19:56)
Dtd8N писал(а):
75628723а иначе картинка уж слишком темная
Растяните диапазон в конце 8 битного скрипта и станет светлее, а exposure=2.0 оставьте по умолчанию
скрытый текст
#SmoothLevels(0, 2.0, 255, 0, 255, useopt=0, HQ=true, useMT=1)
SmoothLevels(0, 2.0, 255, 16, 235, useopt=0, HQ=true, useMT=1)
Эта операция идентична ColorYUV(levels="PC->TV"). Обидно даже слышать, ведь в скрипте есть эти строки, пусть закрытые, но вы их даже не пытались открыть. Понимаю теперь, что ждать помощи по корректировке скрипта просто неоткуда: собрались одни критики, реальных людей с навыками работы в AviSynth нет, печально... или пока не приходили сюда.
Точки тональной кривой в строке
Код:
DGHable(exposure=1.0, a=0.15, b=0.5, c=0.1, d=0.2, e=0.02, f=0.3, w=11.2) # variant=2
от самого автора JOHN HABLE.
Точки тональной кривой в строке
Код:
DGHable(exposure=1.0, a=0.22, b=0.3, c=0.1, d=0.2, e=0.01, f=0.3, w=11.2) # variant=3
один из экспериментальных вариантов пользователя age. Поэтому не стоит особо на этом варианте заострять внимание. Я привёл вам данный вариант только для тестирования.
|
|
Dtd8N
Стаж: 8 лет 2 месяца Сообщений: 254
|
Dtd8N ·
07-Июл-18 11:14
(спустя 35 мин., ред. 07-Июл-18 11:14)
Tempter57 писал(а):
75630515Эта операция идентична ColorYUV(levels="PC->TV"). Обидно даже слышать, ведь в скрипте есть эти строки, пусть закрытые, но вы их даже не пытались открыть.
а зачем ее открывать? тыкать пальцами в небо?
я видел эту строку, просто не понял а зачем сводить все в обрезанный диапазон 16-235?
поэтому и не трогал
или это как то связано что плеер неправильно считывает TV\PC?
просто обычно плеер корректно распознает диапазон и сам подправляет картинку
Tempter57 писал(а):
75630515
Код:
DGHable(exposure=2.0, a=0.15, b=0.5, c=0.1, d=0.2, e=0.02, f=0.3, w=11.2) # variant=2
от самого автора JOHN HABLE.
Точки тональной кривой в строке
Код:
DGHable(exposure=2.0, a=0.22, b=0.3, c=0.1, d=0.2, e=0.01, f=0.3, w=11.2) # variant=3
один из экспериментальных вариантов пользователя age. Поэтому не стоит особо на этом варианте заострять внимание. Я привёл вам данный вариант только для тестирования.
не совсем понял что вы имеете в виду, не заострят на чем? на 3ем варианте?
я использовал вариант 2, который вы и назвали "сейчас используется"
а exposure=2.0 оставьте по умолчанию
16-235
2,0 слишком светло
уменьшил exposure, картинка стала потемнее, НО... диапазон из-за 16-235 стал уже
опять я что то не то сотворил )
|
|
|