[не удалять] XviD4PSP - универсальный медиаконвертер [архив №3]

Страницы :   Пред.  1, 2, 3 ... 43, 44, 45 ... 98, 99, 100  След.
Тема закрыта
 

Olte

Стаж: 15 лет 6 месяцев

Сообщений: 183

Olte · 21-Май-11 14:44 (13 лет 7 месяцев назад, ред. 21-Май-11 14:44)

Пресет работает, на чистых источниках вероятно будет отлично, но на моем шумном, странно, если всё таки кодировать в два этапа: сперва в MPG 8000 kb(`DVD_SAT RemoveDirtMC MT+DeHalo`), затем в х264(`DVD Median1 MT`), то получается лучше одноэтапного, благодаря уменьшенному количеству паразитного шума, вот на семплах видно на небе и темных объектах :?. Впрочем, возможно это проблема не связана с Avisynth, а виновен х264, так при одноэтапном кодинге в XviD, в отличие от х264, сразу получается нормально.
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 21-Май-11 14:52 (спустя 7 мин., ред. 21-Май-11 14:52)

Olte
Попробуйте повозится с предварительными фильтрами, выбрав лучший из трёх вариантов:
Код:
filtered = source.RemoveDirt(false,23)
# filtered = RemoveDirtMC(source,40)
# filtered = source.TemporalSoften(3,255,255,25,2).Repair(source,9).MinBlur(1)
Ну и разумеется я не намерен вводить в состав XviD 4PSP подобный каскад фильтровых скриптов, который вы предлагаете. Но вы можете повысить уровень временнОго шумоподавления в скрипте, изменяя значение thSAD и thSCD1 на более высокое(500...700), а также включить обработку chroma, изменив в векторном анализе chroma=false на chroma=true и в MDegrain2 применить plane=4. Можно снизить и значение добавляемого яркостного шума в функции GradFun2DBmod до str=0.3
[Профиль]  [ЛС] 

Vamana

Стаж: 15 лет 4 месяца

Сообщений: 38

Vamana · 21-Май-11 23:42 (спустя 8 часов)

Tempter57
Уважаемый, подскажите, плиз. Кодирую непростой DVD :
скрытый текст
исходник без фильтров :

Мой скрипт :
Код:
DGDecode_mpeg2source("G:\VTS_03_1.d2v", cpu= ? ) # перепробовал все значения cpu, не устроило.
MT("""
QTGMC( Preset="Slow" )
""",threads=2,splitvertical=true)
srestore()
crop( 0, 60, 0, -62)
FillMargins(2,0,1,0)
Много квадратов в динамике. Нужно убрать блочность, не убив детали. Но как работает cpu в DGDecode мне не нравится - кроме блоков убивает много лишнего. Вернее ценного. Да и блоки при этом оставляет. Не посоветуете приличный деблокер, который сделает всё нежно, "узкоспециализированно", не повредив структуру шума? И где его лучше поставить в скрипте? Заранее спасибо.
[Профиль]  [ЛС] 

Ang+

Top Loader 01* 100GB

Стаж: 16 лет 9 месяцев

Сообщений: 993

Ang+ · 22-Май-11 00:07 (спустя 25 мин.)

Vamana писал(а):
MT("""
QTGMC( Preset="Slow" )
""",threads=2,splitvertical=true)
Хм, а как же примечание из топика:
Цитата:
Notes
You can only use QTGMC with SetMTMode(...), do not use MT(...).. There are occasional instabilities with multi-threading, because AviSynth and the way it interfaces with plugins is not quite thread-safe. These instabilities affect different users in different ways: some report no issues, others can barely get multi-threading to work at all. But do try it as the speed increase can be considerable.
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 22-Май-11 09:06 (спустя 8 часов, ред. 22-Май-11 13:31)

Vamana
Ang+ вас уже предупредил о том, что скрипт деинтерлейса QTGMC нельзя применять в режиме MT, а только в режиме SetMTMode(2) поскольку дентерлейс выполняется неверно. Теперь о применении функции Srestore(): функция черезвычайно медлена, применяется для устранения кадров-дублей или трансфера из одной системы телевидения в другую с заданием конкретной частоты кадров. Применять её в вашем случае дурь несусветная, достаточно было прописать SelectEven() и, вы получите на выходе чётные кадры с частотой 25 fps, не нужно вам усложнять скрипт, поскольку вы имеете дело не с природным интерлейсным видео камкодеров, где каждое поле несёт свою информацию о движении, а с обычным телесином. Обычно для интерлейсного DVD с фильмами применяется деинтерлейс Yadif или лучше YadifModEdi для PAL и TIVTC для NTSC, а дальше любой подходящий фильтр для улучшения сжатия видеоряда в случае кодирования кодеком XviD\DivX или возможно без фильтрации кодеком х264.
В конвертере имеется достаточное количество пресетов Deblock..., но прежде чем их применять убедитесь, что блочит не исходник, возможно причина вашей блочности на выходе в неверном выборе параметров настройки кодека: недостаточном выбранном битрейте, малом количестве b-frames, применении однопроходного кодирования и прочих. Иногда при кодировании проблемных исходников приходится повышать минимальные кванты до 3, ограничивать максимальные 5 и за счёт такого перераспределения понижать средние значения квантов и не допускать использование квантов с высокими значениями.
[Профиль]  [ЛС] 

Vamana

Стаж: 15 лет 4 месяца

Сообщений: 38

Vamana · 22-Май-11 14:49 (спустя 5 часов, ред. 22-Май-11 14:49)

Tempter57
скрытый текст
Tempter57 писал(а):
Теперь о применении функции Srestore(): функция черезвычайно медлена, применяется для устранения кадров-дублей или трансфера из одной системы телевидения в другую с заданием конкретной частоты кадров. Применять её в вашем случае дурь несусветная, достаточно было прописать SelectEven() и, вы получили на выходе чётные кадры с частотой 25 fps поскольку вы имеете дело не с природным интерлейсным видео камкодеров, где каждое поле несёт свою информацию о движении, а с обычным телесином. Примените деинтерлейс Yadif или лучше YadifModEdi для PAL и TIVTC для NTSC.
Что-то как-то после слов "дурь несусветная" особого уважения не осталось. Лучше бы проигнорировал моё сообщение и не отвечал вовсе. Посмотри сэмпл - http://multi-up.com/494868 , извинись и возьми свои слова обратно. И не считай всех вокруг заведомо идиотами, это обычно чревато двумя сценариями... будет желание - расскажу о них.
Это видео переведено из PAL в NTSC для продаж в США, такого добра немало. Все эти TIVTC и селектевены были опробованы сразу и отброшены. Никакие деинтерлейсы, включая перечисленные сами по себе не избавят от гхостинга (блендинга) в данном конкретном случае. И мне по барабану, насколько медленна Srestore(), мне нужен приемлемый результат, и "задание конкретной частоты кадров" в ней здесь не нужно, она её сама прекрасно определяет автоматом. Об этом можно почитать в этом топике - http://forum.doom9.org/showthread.php?t=95924
Ну то есть буквально весь этот твой спич мимо кассы.
Tempter57 писал(а):
убедитесь, что блочит не исходник, возможно причина вашей блочности на выходе в неверном выборе параметров настройки кодека: недостаточном выбранном битрейте, малом количестве b-frames, применении однопроходного кодирования и прочих. Иногда при кодировании проблемных исходников приходится повышать минимальные кванты до 3, ограничивать максимальные 5 и за счёт такого перераспределения понижать средние значения квантов и не допускать использование квантов с высокими значениями.
Опять всё мимо кассы.. Спросонья что ли? Я не хочу гнуть пальцы и рассказывать как давно я кодирую, что я в курсе и т.д. и т.п. Но на всякий случай отнёсся бы с уважением и посмотрел внимательно моё сообщение перед написанием всего этого надменного опуса. Написано же над скринами чёрным по серому : "исходник без фильтров" Я вообще не кодировал ещё это видео, я лишь подбираю фильтры и просматриваю результаты в avsp. Повторюсь - не стоит заведомо смотреть на всех как на кретинов.
Tempter57 писал(а):
скрипт деинтерлейса QTGMC нельзя применять в режиме MT, а только в режиме SetMTMode(2) поскольку дентерлейс выполняется неверно.
Ну вот за это пожалуй, можно наконец и спасибо сказать. Поверю на слово, поскольку при сравнении в avsp и в том и в другом режиме никаких отличий не увидел.
Tempter57 писал(а):
В конвертере имеется достаточное количество пресетов Deblock...
Я не пользуюсь конвертерами и их пресетами, я кодирую в командной строке. Я просто по-человечески спросил про конкретный фильтр для конкретного случая. Но в общем, чувствую после этого базара я про приличный деблокинг ничего конкретного не услышу. Ладно, спрошу в другом месте. Но пользуясь случаем, скажу спасибо за обновляемую сборку фильтров. Если конечно, я по адресу.
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 22-Май-11 17:37 (спустя 2 часа 47 мин., ред. 22-Май-11 17:37)

Vamana
скрытый текст
1. Надо было сразу сэмпл предоставить , от недостатка информации такие и рекомендации, хотя предупредил
Цитата:
Srestore(): функция черезвычайно медлена, применяется для устранения кадров-дублей или трансфера из одной системы телевидения в другую с заданием конкретной частоты кадров
Мне откуда было знать, что тут как раз такой случай?
Да, в данном случае можно обойтись без указания frate=25.000, но где гарантия, что не найдётся умник и увидя, что исходник NTSC не поставит к примеру frate=23,976 или 29.97 ? Руки не отсохнут лично у меня, если прописать частоту.
2. Далее на QTGMC свет клином не сошёлся, поскольку данный скрипт вносит довольно большую лепту в обработку сигнала, включая и шумодав. Так что утверждение
Цитата:
"исходник без фильтров"
по меньшей мере выглядит, как лёгкое заблуждение. Достаточно взглянуть на скрипт, выбранный вами пресет QTGMC( Preset="Slow" ) и убедиться в выбранных настройках обработки.
Можно легко применить любой двойной боб-деинтерлейс, например,
ConvertToYV12(interlaced = true)
YadifMod(order=0, mode=1, edeint=nnedi3(field=2))
srestore(frate=25.00)

таким образом можно убрать бленды при этом уже с лёгкой оговоркой "практически без шумоподавления", поскольку всё же в srestore.avs применяется removegrain c mode=0, 12 & 19 помимо масок, а значит тоже имеет место обработка, но это уже более слабый уровень
Vamana писал(а):
Ну то есть буквально весь этот твой спич мимо кассы.
Tempter57 писал(а):
убедитесь, что блочит не исходник, возможно причина вашей блочности на выходе в неверном выборе параметров настройки кодека: недостаточном выбранном битрейте, малом количестве b-frames, применении однопроходного кодирования и прочих. Иногда при кодировании проблемных исходников приходится повышать минимальные кванты до 3, ограничивать максимальные 5 и за счёт такого перераспределения понижать средние значения квантов и не допускать использование квантов с высокими значениями.
Опять всё мимо кассы.. Спросонья что ли? Я не хочу гнуть пальцы и рассказывать как давно я кодирую, что я в курсе и т.д. и т.п. Но на всякий случай отнёсся бы с уважением и посмотрел внимательно моё сообщение перед написанием всего этого надменного опуса. Написано же над скринами чёрным по серому : "исходник без фильтров" Я вообще не кодировал ещё это видео, я лишь подбираю фильтры и просматриваю результаты в avsp. Повторюсь - не стоит заведомо смотреть на всех как на кретинов.
Здесь я говорил вообще-то о настройках кодека XviD и ни слова о фильтрах. Вы собственно о чём?
Ну, а дальше после устранения блендов, ваше дело: использовать ли какую-либо фильтрацию для обработки вашего видеоматериала, чтобы улучшить сжимаемость видеоряда или нет... Но на исходнике особой блочности не проявляется, а вот сжимаемость материала скверна, отсюда и блочность изображения на выходе. Честно, я бы не применял к этому исходнику пресет Deblock, скорее бы что-то типа DVD MDgrain3 mask6 DLS с thSAD около 500 или DVD RFK2 MT. В скрипте QTGMC тоже есть MDegrain3, но там по умолчанию thSAD не слишком высок, так что если надумается остановиться на варианте QTGMC + srestore(), значение thSAD надо прописать повыше да и пресет внутренний стоит сменить на Placebo or Very Slow
На счёт того, чтобы спросить о деблокинге в другом месте даже не рассмотрев ни одного пресета(скрипта), применяемого в данном конвертере,- так нет проблем, пройдитесь по другим техническим форумам...
[Профиль]  [ЛС] 

Vamana

Стаж: 15 лет 4 месяца

Сообщений: 38

Vamana · 22-Май-11 21:16 (спустя 3 часа, ред. 22-Май-11 21:16)

Tempter57
скрытый текст
Ну вот, это нормальный человеческий разговор без "дураков". С удовольствием вернусь к вежливому обращению.
Tempter57 писал(а):
1. Надо было сразу сэмпл предоставить , от недостатка информации такие и рекомендации
Srestore()
Если внимательно прочесть моё первое сообщение, то можно увидеть, что там и речи нет о Srestore(), то есть нет вопросов, с ним связанных. Есть только вопрос о деблоке. Скрипт с Srestore() я привёл просто для того, чтобы понять, куда лучше ставить этот теоретический деблокер.
Tempter57 писал(а):
утверждение "исходник без фильтров" по меньшей мере выглядит, как лёгкое заблуждение.
Если я утверждаю, что скрины исходника без фильтров, значит это так и есть. Единственный "фильтр", который был на скринах в первом сообщении - это кроп, может, он вас ввёл в заблуждение. Сначала я показал скрины исходника с кропом и без фильтров, сделанные в avsp, а потом уже привёл скрипт, которым я собираюсь этот исходник фильтровать. Я не знаю как ещё мне объяснить вам, что это были скрины исходника без фильтров. Может, вот так :
Tempter57 писал(а):
2. Далее на QTGMC свет клином не сошёлся, поскольку данный скрипт вносит довольно большую лепту в обработку сигнала, включая и шумодав.
Можно легко применить любой двойной боб-деинтерлейс, например,
YadifMod
За совет про YadifMod спасибо, но я уже перепробовал кучу вариантов, включая и YadifMod, что-то меня не устраивало, остановился на QTGMC. Наверное, попробую ещё. Поверьте, сижу над этим видео уже не один день.
Но повторюсь, мой вопрос был и не про деинтерлейс. Он был про деблок.
Tempter57 писал(а):
убедитесь, что блочит не исходник, возможно причина вашей блочности на выходе в неверном выборе параметров настройки кодека: недостаточном выбранном битрейте, малом количестве b-frames, применении однопроходного кодирования и прочих. Иногда при кодировании проблемных исходников приходится повышать минимальные кванты до 3, ограничивать максимальные 5 и за счёт такого перераспределения понижать средние значения квантов и не допускать использование квантов с высокими значениями.
Здесь я говорил вообще-то о настройках кодека XviD и ни слова о фильтрах. Вы собственно о чём?
Ну, а дальше после устранения блендов, ваше дело: использовать ли какую-либо фильтрацию для обработки вашего видеоматериала, чтобы улучшить сжимаемость видеоряда или нет... Но на исходнике особой блочности не проявляется.
Как я уже говорил выше, я не кодировал этот исходник ни в XviD ни в x264 ни в VC1 и никуда бы то ни было ещё. Это вообще другая тема. Об этом также не было и речи в моём первом сообщении. Вернее, я написал, что "кодирую сложный DVD", но кодирование - многоступенчатый процесс, сначала идёт анализ исходника, подготовка скрипта, а потом уже тесты и собственно, кодирование. Я нахожусь на стадии подготовки скрипта.
Спасибо за лекцию по кодированию в XviD, но вопрос был исключительно про фильтр деблока для скрипта avisynth, позволю себе повторить в десятый раз. "на исходнике особой блочности не проявляется" - да нет же, проявляется и будь здоров как проявляется, именно на исходнике, в сотый раз повторю. Немереная блочность проявляется на самом что ни на есть исходном, девственном MPEG2 материале без каких-бы то ни было фильтров, преобразований, кодирования и прочих издевательств :

И я изначально, в первом же сообщении хотел просто спросить у вас про конкретный фильтр деблокинга , чтобы только лишь ради него не устанавливать вашу прекрасную программу и не вникать в суть её работы. К сожалению, мы не поняли друг друга - бывает. Спасибо ещё раз за все дельные советы.
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 22-Май-11 23:09 (спустя 1 час 53 мин., ред. 22-Май-11 23:09)

Vamana
1. Включите деинтерлейс YadifModEdi(x2)
2. В начале пресетов Deblock_Deen MT, Deblock_Qed FFT MT, Deblock_Qed MT, Deblock dfttestMC и Deblock MDMC2 MT впишите, но обязательно перед MT(""" строку sresrore(frate=25.00) и подключите в плагины #srestore.avs:
Код:
#srestore.avs
sresrore(frate=25.00)
MT("""
Подберите себе наиболее подходящий. Не надейтесь, что смаза не будет, детализация конечно пропадёт, но в меньшей степени чем при задании cpu=4 или cpu=6. Но повторяю, лично я бы не применял подобные пресеты, скорее всего выбрал нечто на базе RemoveDirt.avs:
скрытый текст
#RemoveGrainSSE3.dll
#RemoveGrainTSSE3.dll
#RemoveDirt.dll
#RepairSSE3.dll
#Warpsharp.dll
#mvtools2.dll
#mt_masktools-25.dll
#MT.dll
#HQdn3D.dll
#Gradfun2db.dll
#AddGrainC.dll
#RemoveDirtMC_03.avs
#Ylevels.avs
#srestore.avs
#GrainFactory3.avs
#LimitedSharpenFaster Mod.avs
srestore(frate=25.00)
setmemorymax(768)
MT("""
# ColorYUV(gain_y=0,cont_y=7,cont_u=5,cont_v=5,gain_v=0,gain_u=-0,off_u=-0,off_v=-0)
source=last.tweak(sat=1.1)
filtered = source.RemoveDirt(false,23)
# filtered = RemoveDirtMC(source,40)
dark = 32
bright = 196
mask1 = mt_lut(source,"x "+string(dark)+" < 255 x "+string(bright)+" > 255 0 ? ?",U=1,V=1).removegrain(19,-1,-1)
min = 16
max = 255
mask2 = mt_lutxy(source,filtered,"x y - abs "+string(min)+" < 0 x y - abs "+string(max)+" > 0 255 ? ?",U=1,V=1).removegrain(19,-1,-1)
rdr = mt_merge(source,filtered,mt_logic(mask1,mask2,"min"),luma=true)
spat = rdr.HQdn3D(0,0,5,4)
spatD = mt_makediff(source,spat)
preNR_super = filtered.MSuper(pel=2, sharp=2, rfilter=2)
rdr_super = rdr.unsharpmask(40,3,0).MSuper(pel=2, sharp=2, levels=1)
vb2 = MAnalyse(preNR_super, isb=true, truemotion=true, delta=2, blksize=8, overlap=4, dct=5)
vb1 = MAnalyse(preNR_super, isb=true, truemotion=true, delta=1, blksize=8, overlap=4, dct=5)
vf1 = MAnalyse(preNR_super,isb=false, truemotion=true, delta=1, blksize=8, overlap=4, dct=5)
vf2 = MAnalyse(preNR_super,isb=false, truemotion=true, delta=2, blksize=8, overlap=4, dct=5)
NR1 = rdr.MDegrain2(rdr_super,vb1,vf1,vb2,vf2,thSAD=320)
NR1D = mt_makediff(rdr,NR1)
DD = mt_lutxy(spatD,NR1D,"x 128 - abs y 128 - abs < x y ?")
NR1x = NR1.mt_makediff(DD,U=2,V=2)
NR1x_super = NR1x.unsharpmask(30,2,0).MSuper(pel=2, levels=1, chroma=true)
den = NR1x.MDegrain2(NR1x_super,vb1,vf1,vb2,vf2,thSAD=256).unsharpmask(20,1,0)
# PROTECTING
threshold = 16
cutoff = 64
maxdiff = 4
rg17 = den.removegrain(17,-1)
iOB = source.mt_lut("x "+string(cutoff)+" >= x 0 ?",U=1,V=1)
mB = mt_makediff(iOB,rg17,U=1,V=1).mt_binarize(128+threshold,upper=false,U=1,V=1).removegrain(5,-1)
lB = mt_lutxy(den,source,"x y - abs "+string(maxdiff)+" <= x x y - 0 < y "+string(maxdiff)+" - x ? ?",U=1,V=1)
smB = mt_merge(den,lB,mB,U=2,V=2)
# EDGECLEANING
mP = mt_edge(smB,"prewitt",0,255,0,0,V=1,U=1)
mS = mP.mt_expand(mode=mt_square(radius=4),U=1,V=1).mt_inflate(U=1,V=1)
mD = mt_lutxy(mS,mP.mt_inflate(U=1,V=1),"x y - "+string(24)+" <= 0 x y - ?",U=1,V=1).mt_inflate(U=1,V=1).removegrain(20,-1)
mt_merge(smB,Eval("smB." + "Removegrain(2,2)"),mD,luma=true,U=3,V=3)
LSFmod(defaults="fast", preblur="ON", strength=90)
Gradfun2db(1.41).GrainFactory3(3,3,5,60,66,80,1.1,0.9,0.7,0,0,0,0,0,24,56,128,160)
""",threads=4,overlap=16,splitvertical=false) # or threads=2
А по поводу фильтрации... вот это чей скрипт?
Цитата:
DGDecode_mpeg2source("G:\VTS_03_1.d2v", cpu= ? ) # перепробовал все значения cpu, не устроило.
MT("""
QTGMC( Preset="Slow")
srestore()
crop( 0, 60, 0, -62)
FillMargins(2,0,1,0)
""",threads=2,splitvertical=true)
Не воспринимайте QTGMC.avs, как обычный фильтр деинтерлейса. Это далеко не так. Перед вами довольно мощный комбайн видеообработки.
[Профиль]  [ЛС] 

Vamana

Стаж: 15 лет 4 месяца

Сообщений: 38

Vamana · 23-Май-11 00:34 (спустя 1 час 24 мин.)

Tempter57
1. Спасибо за ответ про деблок наконец, буду пробовать. Это главный вопрос, который меня интересовал с самого начала.
2. Это мой экспериментальный скрипт. Я уже всё изложил досконально в предыдущих постах, в чём вопрос?
Я не воспринимаю QTGMC.avs "как обычный фильтр деинтерлейса". В QTGMC v3.32 аж 72кб кода. Я не знаток кодов, но имею глаза. Я прекрасно вижу, как он влияет на картинку и вижу, что в данном конкретном случае QTGMC справляется с задачей на отлично в сравнении с другими. YadifMod к примеру, который вы советовали, оставляет гребёнку и бленды, по крайней мере с теми настройкам, которые я перепробовал, включая ваши -
YadifMod(order=0, mode=1, edeint=nnedi3(field=2))
srestore(frate=25.00)

Единственное, чем я возможно займусь в отношении QTGMC, так это поизучаю его настройки, чтобы минимизировать ненужную фильтрацию. Хотя он практически не мылит и лишь совсем слегка шарпит исходник и с таким пресетом. Для данного исходника весьма неплохо.
[Профиль]  [ЛС] 

Olte

Стаж: 15 лет 6 месяцев

Сообщений: 183

Olte · 23-Май-11 04:40 (спустя 4 часа, ред. 23-Май-11 11:34)

Vamana
Деинтерлейс QTGMC чуть мылит, и возится слишком долго. Мне SmoothDeinterlace больше понравился
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 23-Май-11 07:28 (спустя 2 часа 47 мин., ред. 23-Май-11 11:11)

Vamana
Тогда просто воспользуйтесь пресетом QTGMC( основа деинтерлейса в нём практически та же Input.NNEDI3( field=-2, nsize=NNSize, nns=NNeurons, qual=EdiQual, threads=EdiThreads, U=CEed,V=CEed ), откройте в нём подходящий вам вариант, откройте строку srestore(25.00), можно позаимствовать из пресетов DeBlock какой-то вариант, например,
Код:
# Деблокинг с частичным восстановлением резкости контуров
dbl=last.deblock_qed(uv=3) #deblocking
dblD = mt_makediff(last,dbl,U=3,V=3)
shrpD = mt_makediff(dbl,dbl.removegrain(11),U=3,V=3) # или removegrain(20)
DD = shrpD.repair(dblD,13)
dbl.mt_adddiff(DD,U=3,V=3)
добавить шарпер в конце скрипта и Debanding и попробовать произвести кодировку.
А пока я получил такой результат http:// СПАМ без всяких деблокингов на вашем исходнике.
[Профиль]  [ЛС] 

Olte

Стаж: 15 лет 6 месяцев

Сообщений: 183

Olte · 23-Май-11 18:39 (спустя 11 часов, ред. 23-Май-11 18:39)

Tempter57 писал(а):
Olte
Попробуйте повозится с предварительными фильтрами, выбрав лучший из трёх вариантов:
Код:
filtered = source.RemoveDirt(false,23)
# filtered = RemoveDirtMC(source,40)
# filtered = source.TemporalSoften(3,255,255,25,2).Repair(source,9).MinBlur(1)
Ну и разумеется я не намерен вводить в состав XviD 4PSP подобный каскад фильтровых скриптов, который вы предлагаете.
Каскад не нужно, на моем шумном источнике с ним так и не удалось повторить результаты двуэтапной схемы.
А вот этот МегаШарп все таки предлагаю в сборку внести, чудесный получился :
Tempter57 писал(а):
вариант с DeHalo
#ccd_sse2.vdf
#vdf_arguments:CamCD:0
#RemoveGrainTSSE3.dll
#RemoveGrainSSE3.dll
#RepairSSE3.dll
#mvtools2.dll
#mt_masktools-25.dll
#RemoveDirt.dll
#MT.dll
#Warpsharp.dll
#Gradfun2db.dll
#AddGrainC.dll
#Fluxsmooth.dll
#Soothe.avs
#Ylevels.avs
#RemoveDirtMC_03.avs
#DeHalo_alpha.avs
#Gradfun2dbmod.avs
#LimitedSharpenFaster mod.avs
setmemorymax(768)
MT("""
#ColorYUV(gain_y=0,cont_y=0,cont_u=0,cont_v=0,gain_v=0,gain_u=-0,off_u=-0,off_v=-0)
dha = last.DeHalo_alpha(rx=3.0,ry=2.5,darkstr=0.7,brightstr=1.7,ss=1.5) # значения darkstr и brightstr подбирать
dhaD = mt_makediff(last,dha,U=3,V=3)
shrpD = mt_makediff(dha,dha.removegrain(11),U=3,V=3)
DD = shrpD.repair(dhaD,13)
d=dha.mt_adddiff(DD,U=3,V=3)
Soothe(d,dha) # успокоение, если не нужно, можно убрать
ConvertToRGB32().CamCD(12,1).converttoyv12()
source = last
filtered = source.RemoveDirt(false,10)
# filtered = RemoveDirtMC(source,40)
dark = 32
bright = 196
mask1 = mt_lut(source,"x "+string(dark)+" < 255 x "+string(bright)+" > 255 0 ? ?",U=1,V=1).removegrain(19,-1,-1)
min = 16
max = 255
mask2 = mt_lutxy(source,filtered,"x y - abs "+string(min)+" < 0 x y - abs "+string(max)+" > 0 255 ? ?",U=1,V=1).removegrain(19,-1,-1)
rdr = mt_merge(source,filtered,mt_logic(mask1,mask2,"min"),luma=true)
preNR_super = filtered.MSuper(pel=2, sharp=2, rfilter=2)
sharp = rdr.unsharpmask(40,3,0).unsharpmask(30,2,0)
sharp_super = sharp.MSuper(pel=2, sharp=2, levels=1)
vb2 = MAnalyse(preNR_super, isb=true, truemotion=false, delta=2, blksize=16, overlap=8) # при мерцании по яркости ввести dct=5 или dct=1
vb1 = MAnalyse(preNR_super, isb=true, truemotion=false, delta=1, blksize=16, overlap=8)
vf1 = MAnalyse(preNR_super,isb=false, truemotion=false, delta=1, blksize=16, overlap=8)
vf2 = MAnalyse(preNR_super,isb=false, truemotion=false, delta=2, blksize=16, overlap=8)
den = rdr.MDegrain2(sharp_super,vb1,vf1,vb2,vf2,thSAD=550).FluxSmoothST(5,5).unsharpmask(20,1,0)
# EDGECLEANING
mP = mt_edge(den,"prewitt",0,255,0,0,V=1,U=1)
mS = mP.mt_expand(mode=mt_square(radius=4),U=1,V=1).mt_inflate(U=1,V=1)
mD = mt_lutxy(mS,mP.mt_inflate(U=1,V=1),"x y - "+string(24)+" <= 0 x y - ?",U=1,V=1).mt_inflate(U=1,V=1).removegrain(20,-1)
mt_merge(den,Eval("den." + "Removegrain(2,2)"),mD,luma=true,U=3,V=3)
# SHARPENING
LSFmod(defaults="fast", strength=60)
# ENHANCING
GradFun2DBmod(thr=1.4,thrC=1.8,mode=2,str=0.8,strC=0.0,temp=70,adapt=64)
YlevelsS(0,1.0,255,0,255,false)
""",threads=4,overlap=16,splitvertical=false) # or threads=2
Из сильно размытых исходников делает почти HD! И лишь в случае очень шумного источника, кому надо можно вторым этапом пропустить через любой стандартный шумодав.
[Профиль]  [ЛС] 

LonerD

Top Loader 02* 300GB

Стаж: 16 лет 11 месяцев

Сообщений: 3612

LonerD · 23-Май-11 20:47 (спустя 2 часа 7 мин., ред. 23-Май-11 21:07)

Подскажите, пожалуйста, каким термином называется белое сияние вокруг контуров и какими фильтрами с ним проще и эффективней бороться?

Первый скрин - исходный вариант, второй - после обработки HQDering(). Вижу, что HQDering в пресетах почти не используется. Какие-то негативные эффекты даёт или заменено чем-то более эффективным?
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 23-Май-11 21:06 (спустя 19 мин.)

LonerD писал(а):
Подскажите, пожалуйста, каким термином называется белое сияние вокруг контуров и какими фильтрами с ним проще и эффективней бороться?
Называется halo(ореолами). Для ликвидации ореолов применяются скрипты DeHalo_alpha.avs(наиболее применяем), BlindDeHalo3.avs, DeHalo_alpha_2BD.avs, DeHaloH.avs(один из наиболее эффетивных), DeHalo_2.avs, в меньшей степни YAHR.avs и частично упомянутый вами HQDering.avs. Последний в большей степени применяется для ликвидации звона(мелкой блочности на контурах), но скорость обработки с ним очень низка, хотя результат конечно превосходный. Чаще применяется для ликвидации звона на контурах в аниме EdgeCleaner.avs и AdaptiveEdgeCleaner2.avs из состава DeHaloH.avs, для фильмов применяется вариант:
Код:
# EDGECLEANING
mP = mt_edge(smB,"prewitt",0,255,0,0,V=1,U=1)
mS = mP.mt_expand(mode=mt_square(radius=4),U=1,V=1).mt_inflate(U=1,V=1)
mD = mt_lutxy(mS,mP.mt_inflate(U=1,V=1),"x y - "+string(24)+" <= 0 x y - ?",U=1,V=1).mt_inflate(U=1,V=1).removegrain(20,-1)
smE = mt_merge(smB,Eval("smB." + "Removegrain(2,2)"),mD,luma=true,U=3,V=3)
с разными значениями radius и string, а также режимами Removegrain.
[Профиль]  [ЛС] 

LonerD

Top Loader 02* 300GB

Стаж: 16 лет 11 месяцев

Сообщений: 3612

LonerD · 23-Май-11 22:38 (спустя 1 час 31 мин.)

Tempter57
Спасибо за пояснения, буду пробовать.
На первом скрине ореолы - это результат работы шарпера в vmToon плюс последующего EdgeCleaner
Код:
vmToon(sharpen=true,thinning=24,strength=36,luma_cap=203,threshold=8)
EdgeCleaner(smode=1,strength=20)
На втором скрине - после EdgeCleaner дописал еще HQDering().
HQDering понравился, результат хороший - устраняется и звон и ореолы, но очень уж медленный, и иногда появляются артефакты на ровном месте.
Наверное, в данном случае оптимальный вариант - отказаться от шарпера.
[Профиль]  [ЛС] 

agz

Старожил

Стаж: 17 лет 7 месяцев

Сообщений: 1446

agz · 24-Май-11 01:18 (спустя 2 часа 39 мин.)

Хм, так я не понял. До ресайза диапазон ТВ (16-232), после него - PC (0-255). Это баг или фича?
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 24-Май-11 08:18 (спустя 6 часов, ред. 24-Май-11 08:18)

LonerD
зачем отказываться от vmToon? в нём самом можно и шарпер отключить, хотя можно и нейтральный toon включить, а можно и в EdgeCleaner включить mode=2, подключив тем самым более сильный Repair(c.Deen("a3d",4,12,0),c,15).RemoveGrain(21) в сравнении removegrain(17) и ещё больше снизить значение strength=8(кстатити такое там по умолчанию и определяет параметр depth фильтра резкости awarpsharp2: depth=strength/2). Возможно, включив по умолчанию EdgeCleaner, вы получите более приемлемый для своего случая результат.
[Профиль]  [ЛС] 

LonerD

Top Loader 02* 300GB

Стаж: 16 лет 11 месяцев

Сообщений: 3612

LonerD · 24-Май-11 18:05 (спустя 9 часов)

Tempter57 писал(а):
зачем отказываться от vmToon?
Не от vmToon, а от шарпера в нём sharpen=false. Куда копать понятно - буду пробовать разные варианты.
В фильтре QTGMC есть пункт "Частичная стабилизация изображения".
Если просто раскомментировать все строки в этом блоке - то получится ошибка "I don't know what "saturation" means".
[Профиль]  [ЛС] 

kakaze

Стаж: 14 лет 10 месяцев

Сообщений: 512

kakaze · 24-Май-11 19:22 (спустя 1 час 17 мин., ред. 24-Май-11 19:22)

Почему при кодировании из mp4 в avi при двухпроходном кодировании прога паталогически встревает в конце 1 прохода, когда остается 1 сек. Это же видео перепаковываю из mp4 в mkv, и кодируя из mkv в avi ничего не зависает.
Что это за фигня? Косяк проги?
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 24-Май-11 20:57 (спустя 1 час 34 мин., ред. 24-Май-11 20:57)

LonerD
Задайте конкретное значение, например, было tweak(sat=saturation) стало tweak(sat=1.15), это последняя строка частичной стабилизации изображения. Там будет дальше вопрос по W и H, надо будет открыть необходимые в скрипте в верху или убрать после tweak этот ресайзер #.spline36resize(W, H).
[Профиль]  [ЛС] 

Dason989

Стаж: 14 лет 5 месяцев

Сообщений: 150


Dason989 · 24-Май-11 21:14 (спустя 16 мин.)

подскажите пожалуйста,при кодировании в XviD галку лучше поставить на 1.3.0 версию в настройках?Или что 1.2.1 и 1.3 разницы нет?
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 24-Май-11 21:37 (спустя 23 мин.)

Dason989
Если честно, то там уже версия XviD 1.3.1 и она мне больше нравится новой метрикой, человеческая кожа стала выглядеть естественнее и включайте там ещё ChromaOptimizer. Багов нет.
[Профиль]  [ЛС] 

agz

Старожил

Стаж: 17 лет 7 месяцев

Сообщений: 1446

agz · 25-Май-11 06:55 (спустя 9 часов)

Tempter57, чет я не удосужился протестить ChromaOptimizer в 1.3.х. Там багу с зеленью на темном пофиксили? Я когда-то сюда скрины постил, где явно можно было наблюдать этот баг.
На многих рипах LostFilm'а эта зелень так-же наблюдается, видать используют ChromaOptimizer...
[Профиль]  [ЛС] 

AkvenJan

Стаж: 15 лет 6 месяцев

Сообщений: 584

AkvenJan · 25-Май-11 10:16 (спустя 3 часа, ред. 25-Май-11 10:16)

Tempter57, помнится в своё время ты мне скидывал образцы пресетов, которыми можно отфильтровать видео с ютуба (убирание артефактов кодирования, недостаточного битрейта оригинала и прочее)
Типа такого
скрытый текст
#plugin_files
#gradfun2db.dll
#RemoveGrain.dll
#Repair.dll
#mvtools2mod.dll
#Deblock.dll
#AddGrainC.dll
#dctfilter.dll
#MaskTools.dll
#mt_masktools-25.dll
#fft3dgpu.dll
#fft3dfilter.dll
#MT.dll
#NoiseGenerator.dll
#Dither.avs
#Deblock_QED_MT2.avs
#minblur.avs
#Soothe.avs
#minblur.avs
setmtmode(2)
setmemorymax(768)
# Деблокинг с восстановлением резкости контуров
dbl=last.deblock_qed(uv=3).gradfun2db(2.3) #deblocking and debanding
dblD = mt_makediff(last,dbl,U=3,V=3)
shrpD = mt_makediff(dbl,dbl.removegrain(11),U=3,V=3)
DD = shrpD.repair(dblD,13)
d=dbl.mt_adddiff(DD,U=3,V=3)
soothe(d,dbl) # успокоение, если не нужно, можно убрать
# Шумоподаление
source = last
preNR = source.fft3dgpu(sigma=6,sigma2=2.51,sigma3=1.51,sigma4=1,bw=16,bh=16,ow=8,oh=8,bt=3,plane=4)
#preNR = source.fft3dfilter(sigma=6,sigma2=2.51,sigma3=1.51,sigma4=1,bw=16,bh=16,ow=8,oh=8,bt=3,plane=4)
preNR_super = preNR.MSuper(pel=2, sharp=2, rfilter=2)
source_super = source.MSuper(pel=2, sharp=2, levels=1)
vb2 = MAnalyse(preNR_super, isb=true, truemotion=true, delta=2, blksize=16, overlap=4)
vb1 = MAnalyse(preNR_super, isb=true, truemotion=true, delta=1, blksize=16, overlap=4)
vf1 = MAnalyse(preNR_super,isb=false, truemotion=true, delta=1, blksize=16, overlap=4)
vf2 = MAnalyse(preNR_super,isb=false, truemotion=true, delta=2, blksize=16, overlap=4)
NR = source.MDegrain2(source_super,vb1,vf1,vb2,vf2,thSAD=320,lsb=true)
w = NR.width ()
h = NR.height () / 2
c_msb = NR.Crop (0, 0, w, h)
c_lsb = NR.Crop (0, h, w, h)
den = DitherPost (c_msb, c_lsb)
### EDGECLEANING
mP = mt_edge(den,"prewitt",0,255,0,0,V=1,U=1)
mS = mP.mt_expand(mode=mt_square(radius=2),U=1,V=1).mt_inflate(U=1,V=1)
mD = mt_lutxy(mS,mP.mt_inflate(U=1,V=1),"x y - " string(32) " <= 0 x y - ?",U=1,V=1).mt_inflate(U=1,V=1).removegrain(20,-1)
mrg = mt_merge(den,Eval("den." "Removegrain(2,2)"),mD,luma=true,U=3,V=3)
s = mrg.minblur(1,1)
allD = mt_makediff(source,mrg)
ssD = mt_makediff(s,s.removegrain(11,-1))
ssDD = ssD.repair(allD,1)
ssDD = ssDD.mt_lutxy(ssD,"x 128 - abs y 128 - abs < x y ?")
mrg.mt_adddiff(ssDD,U=2,V=2)
или такого
скрытый текст
#plugin_files
#Addgrain.dll
#FFT3DFilter.dll
#FFT3dgpu.dll
#RepairSSE3.dll
#RemoveGrainSSE3.dll
#mvtools2.dll
#MaskTools.dll
#TTempsmooth.dll
#EEDI2.dll
#Deblock.dll
#DctFilter.dll
#Sangnom.dll
#MT.dll
#Gradfun2db.dll
#WarpSharp.dll
#mt_masktools-25.dll
#Gradfun2db.dll
#AddGrainC.dll
#Deblock_QED_MT2.avs
#Gradfun2dbmod.avs
#LimitedSharpenFaster MOD.avs
#MCTemporalDenoise.avs
Setmtmode(2)
setmemorymax(768)
#ColorYUV(levels="TV->PC")
#ColorYUV(gain_y=0,cont_y=0,gain_v=0,gain_u=-0,off_u=-0,off_v=-0).levels(0,1.0,255,0,255)
#MCTemporalDenoise(settings="low", enhance=true, GFthr=2.2,AGstr=1.0,temp=80,gpu=false)
#MCTemporalDenoise(settings="very low", enhance=true,GFthr=2.2,AGstr=10,temp=80, gpu=false)
MCTemporalDenoise(settings="very high",twopass=true,useTTmpSm=true,deblock=true,useQED=true,edgeclean=true, enhance=true,gpu=false)
#MCTemporalDenoise(settings="medium", enhance=true, GFthr=2.2,AGstr=1.2,temp=80,gpu=false)
#MCTemporalDenoise(settings="high", bwbh=8, owoh=4, overlap=4, blksize=8, enhance=true,GFthr=1.4,AGstr=2.0,temp=80, gpu=false)
#MCTemporalDenoise(settings="very high", enhance=true, GFthr=2.2,AGstr=1.3,temp=90,gpu=false)
# Назначение: Для очень качественной обработки DVD и BD
# Тип предварительного шумоподавителя: fft3dfilter
# Тип основного шумоподавителя: на основе векторного анализа оценки движения на базе скрипта MCTemporalDenoise
# Тип шарпера: LSFmod
# Наличие фильтра DeBanding по умолчанию: включен
# Скорость обработки: медленная
или такого
скрытый текст
#plugin_files
#RemovegrainSSE3.dll
#Repair.dll
#degrainmedian.dll
#HQdN3D.dll
#Deblock.dll
#dctfilter.dll
#Warpsharp.dll
#degrainmedian.dll
#dfttest.dll
#fft3dfilter.dll
#mvtools2.dll
#MT.dll
#MaskTools.dll
#mt_masktools-25.dll
#AddGrainC.dll
#Deblock_QED_MT2.avs
#Soothe.avs
#Gradfun2db.dll
#sbr.avs
#LimitedSharpenFaster mod.avs
#Gradfun2dbmod.avs
SetMTMode(2)
setmemorymax(768)
# Деблокинг с восстановлением резкости контуров
dbl=last.deblock_qed(uv=3).gradfun2db(2.3) #deblocking and debanding
dblD = mt_makediff(last,dbl,U=3,V=3)
shrpD = mt_makediff(dbl,dbl.removegrain(11),U=3,V=3)
DD = shrpD.repair(dblD,13)
d=dbl.mt_adddiff(DD,U=3,V=3)
soothe(d,dbl) # успокоение, если не нужно, можно убрать
source = last
preNR = source.degrainmedian(mode=2,limity=5,limituv=6)
#preNR = source.HQdN3D(3,2,4,2)
preNR_super = preNR.MSuper(pel=2, sharp=2, rfilter=2)
source_super = source.MSuper(pel=2, sharp=2, levels=1)
b2v = MAnalyse(preNR_super, isb=true, truemotion=true, delta=2, blksize=8, overlap=4, search=5, searchparam=3)
b1v = MAnalyse(preNR_super, isb=true, truemotion=true, delta=1, blksize=8, overlap=4, search=5, searchparam=3)
f1v = MAnalyse(preNR_super,isb=false, truemotion=true, delta=1, blksize=8, overlap=4, search=5, searchparam=3)
f2v = MAnalyse(preNR_super,isb=false, truemotion=true, delta=2, blksize=8, overlap=4, search=5, searchparam=3)
sadb1=source.mmask(b1v, ml=450, kind = 1, Ysc = 255, gamma = 0.999, thSCD1 = 450) # маска1 SAD назад
sadb2=source.mmask(b2v, ml=450, kind = 1, Ysc = 255, gamma = 0.999, thSCD1 = 450) # маска2 SAD назад
sadf1=source.mmask(f1v, ml=450, kind = 1, Ysc = 255, gamma = 0.999, thSCD1 = 450) # маска1 SAD вперед
sadf2=source.mmask(f2v, ml=450, kind = 1, Ysc = 255, gamma = 0.999, thSCD1 = 450) # маска2 SAD вперед
tsadb = mt_lutxy(sadb1,sadb2,"x 255 < y 255 < x y 2 / x ? y ?") # вычисляют заданную функцию для каждого пиксела изображения по маскам назад
tsadf = mt_lutxy(sadf1,sadf2,"x 255 < y 255 < x y 2 / x ? y ?") # вычисляют заданную функцию для каждого пиксела изображения по маскам вперёд
tmask = mt_lutxy(tsadb,tsadf,"x 255 < y 255 < x y 2 / x ? y ? 32 - 255 * 223 /") # комбинированная маска оценки движения SAD
den = source.MDegrain2(source_super,b1v,f1v,b2v,f2v,thSAD=400,thSCD1=450) # шумоподавитель
mrg = mt_merge(source, den, tmask, luma=true, U=3, V=3) # наложение клипа с шумоподавлением на клип исходника по маске tmask
mrg_super = mrg.Msuper(pel=2, sharp=2) # создание обработанного суперклипа
fc2 = MCompensate(mrg,mrg_super,f2v,thSCD1=400)
fc1 = MCompensate(mrg,mrg_super,f1v,thSCD1=400)
bc2 = MCompensate(mrg,mrg_super,b2v,thSCD1=400)
bc1 = MCompensate(mrg,mrg_super,b1v,thSCD1=400)
interleave(fc2, fc1, mrg, bc1, bc2)
#NR1 = fft3dfilter(bw=32,bh=32,ow=16,oh=16,bt=5,sigma=2.4,sigma2=1.3,sigma3=1.5,sigma4=1.0,plane=0).selectevery(5,2)
NR1 = dfttest(Y=true,U=false,V=false,sigma=4.0,ftype=1,tbsize=5).selectevery(5,2)
#NR1 = Temporalsoften (2,3,5,10,2).selectevery(5,2)
NR2 = Temporalsoften (2,1,1,6,2).selectevery(5,2)
rem = mrg.removegrain(2)
maski = rem.mt_inpand().mt_inpand().mt_inpand()
maske = rem.mt_expand().mt_expand().mt_expand()
maskc = mt_lutxy(maski,maske,"255 y x - " string(8) " - " string(16) " / 255 * -").Blur(1.5).Blur(1.5)
merg = mt_merge(mrg, NR1, maskc, luma=true, U=3, V=3)
mt_merge(merg, NR2, tmask, U=3,V=3)
LSFmod(defaults="slow", preblur="ON", strength=90)
Gradfun2dbmod(thr=1.51,thrC=2.0,str=0.8,temp=80,adapt=64) # сглаживает градиенты цветовых переходов, но излишне расходует битрейт
Не подскажешь, может что-нибудь новое появилось или можно какой-нибудь из уже написанных в твоём архиве фильтров использовать?
----------------------------------------------------------------------------------
Обновилась программа до RC20.1
XviD4PSP 5.10.234.0 (2011-05-25) RC20.1
Чейнджлог
скрытый текст
25.05.2011
========== rc20.1
MediaInfo обновлён до 0.7.44
MKVToolnix - обновлён до 4.8.0
AvsPmod обновлен до 2.1.6
x264 - обновил до rev1995 vanilla
Переписаны пресеты для Blu-Ray
ffmpeg ревизия r28532 (собран Procrustean'ом, утянуто с сайта http://ge.tt/#2gBFf0x)
QTGMC - обновил на версию 3.32
VSFilter.dll обновлён на версию 1.5.2.3093
FFMS2 - обновил до версии r460 (http://megui.org/auto/)
Интегрирован новый набор фильтров и плагинов от Tempter57
Обновился ряд модифицированных под QTGMC плагинов: fftw3, libfftw3f-3, AddGrainC, dfttest, EEDI2, EEDI3, FFT3DFilter, mt_masktools-25, mt_masktools-26, mvtools2, nnedi, nnedi2, nnedi3, RemoveGrainSSE2, RepairSSE2, SSE2Tools, TDeint, VerticalCleanerSSE2, yadif
Ссылки:
http:// СПАМ
http://ge.tt/#8krQiW4
[Профиль]  [ЛС] 

ItarTass

RG Мультфильмы

Стаж: 17 лет 2 месяца

Сообщений: 1414

ItarTass · 25-Май-11 10:46 (спустя 30 мин., ред. 25-Май-11 10:46)

Olte писал(а):
Пресет работает, на чистых источниках вероятно будет отлично, но на моем шумном, странно, если всё таки кодировать в два этапа
Tempter57
Я уже спрашивал, но повторюсь, нет ли какого-то способа для многоэтапного кодирования?
То есть первым этапом в Uncompressed RGB/YCbCr. Ну или в какой-нибудь профессиональный кодек практически без сжатия.
Желательно понимаемом другими программами, особенно виртуалдаб.
То есть я хочу деинтерлейс и стабилизацию сделать в этой программе, а шум чистить Neat Video в дабе.
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 25-Май-11 13:39 (спустя 2 часа 52 мин., ред. 25-Май-11 14:48)

AkvenJan писал(а):
Tempter57, помнится в своё время ты мне скидывал образцы пресетов, которыми можно отфильтровать видео с ютуба (убирание артефактов кодирования, недостаточного битрейта оригинала и прочее)
Забыл или был пьяным.
Что можно сказать: в качестве предварительного фильра мы выбираем fft3dfilter, гауссовское размытие по типу TGMC или более усовершенствованное в QTGMC с последующим ReSharp, RemoveDirt и RemoveDirtMC. Выбор в применении зависит сильно от исходника. Всё остальное-принцип сходный и повторяющийся. Исключение представляет тип шарпера: 1) непосредственно шарпим замыленный исходник, 2)Careful (когда шарпер прикладывается к предварительному фильтру) и 3)типовое, когда шарпер включен после всех этапов шумоподавления. Особняком стоит повышение резкости заведомо размытого исходника с помощью unsharpmask, особенно, когда в качестве предварительного фильтра был задействован скрипт RemoveDirt или RemoveDirtMC. Обычно такой вариант применяют для очень убитых видеоматериалов, когда надо из пропасти вытащить приличное для просмотра изображение: реставрация старых 8 мм киноплёнок, материалов камкодеров VHS, старых убитых материалов DVD 60-70 годов с кучей артефактов и вдобавок с замыленным изображением. Теперь о тонкостях: если вам попал в руки исходник с сильным мерцанием по яркости, то ваш выбор должен быть обращён на пресет DVD Deflicker, если у вас видеоматериал, в котором после применения деинтерлейса наблюдается флюктация строк, что особо раздражает и напрягает, то лучшего варианта убрать подобный артефакт, чем задействовать QTGMC, а конкретно пресет DVD_SAT QTGMC MT, предназначенный как раз для обработки прогрессивного материала, в котором вам необходимо устранить эту злополучную флюктацию(шевеление) строк - не найти. Если ваш материал интерлейсный, выполните предварительный деинтерлейс, например, YadifModEdi, если у вас материал наш фильм-трансфер в NTSC(рассматривался на предыдущей страничке ветки), то вам необходимо применить для подобного видеоматериала двойной боб-деинтерлейс YadifModEdi(x2) и открыть строку srestore(). Вообще пресет DVD_SAT QTGMC MT довольно универсален по своему применению, как никакой другой. С помощью его можно вытащить многие безнадёжные ситуации при обработке любого типа исходника. Не удивляйтесь, что там задействован режим МТ поскольку на вход данного скрипта нам необходимо подать уже предварительно прогрессивный материал, а предварительный деинтерлейс, как я уже заметил, можно выполнить средствами конвертера. Думаю. на сегодня пока хватит...
ItarTass
Обычно для кодирования видео с тяжёлым скриптом обработки лучше кодировать на первом этапе в режиме lossless кодеком х264, а дальше на втором этапе уже по вашему усмотрению каким кодеком, в какой формат, в какой размер, с каким битрейтом.
[Профиль]  [ЛС] 

ItarTass

RG Мультфильмы

Стаж: 17 лет 2 месяца

Сообщений: 1414

ItarTass · 25-Май-11 15:24 (спустя 1 час 44 мин., ред. 25-Май-11 15:24)

Да это я пробовал. Что-то даб у меня не хочет этот losless есть.
P.S FFV1 нашел в программе - он подойдет?
[Профиль]  [ЛС] 

Tempter57

Стаж: 16 лет 3 месяца

Сообщений: 4963

Tempter57 · 25-Май-11 16:12 (спустя 48 мин.)

ItarTass
Сравнение lossless-кодеков
[Профиль]  [ЛС] 

ItarTass

RG Мультфильмы

Стаж: 17 лет 2 месяца

Сообщений: 1414

ItarTass · 25-Май-11 17:05 (спустя 53 мин., ред. 25-Май-11 17:05)

Это читал.
Еще читал http://www.compression.ru/video/codec_comparison/lossless_codecs.html
и еще нессколько статей. Все жмут от 2 до 3 раз.
Мне это непринципиально. Более важна совместимость с деинтерлейсингом и фильтрами. Но если я правильно понимаю -сначала видео раскодируеся до RGB потом обрабатывается фильтрами, и затем вновь кодируется. И значит конечный кодек(если он действительно жмет без потерь) ни на что влияет.
Или в моих рассуждениях где то ошибка?
[Профиль]  [ЛС] 
 
Тема закрыта
Loading...
Error