[не удалять] Обработка и пересжатие видео [архив №4]

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

Hanway

Стаж: 15 лет

Сообщений: 797

Hanway · 27-Май-12 16:47 (12 лет 7 месяцев назад, ред. 27-Май-12 16:47)

Подскажите, пожалуйста, как можно в MeGUI изменить порядок полей в PAL видео? Что-бы никакой интерполяции и прочего ухудшения качества. tmf() не предлагать, он не замечает маленькие движения. Нужно фиксированное изменение порядка.
[Профиль]  [ЛС] 

Tempter57

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

Сообщений: 4963

Tempter57 · 27-Май-12 16:59 (спустя 11 мин., ред. 27-Май-12 16:59)

jonas93
Причём тут tfm() к порядку полей? Перед деинтерлейсом надо задавать какое поле первым
AssumeTFF() # верхнее поле первым
#AssumeBFF() # нижнее поле первым
Кроме того порядок полей в фильтрах дейинтерлейса можно задавать ордером, например,
TDeInt (order=1) или Yadif (order=1) # верхнее поле первым
TDeInt (order=0) или Yadif (order=0) # нижнее поле первым
Какое поле первым , смотрите в MediaInfo данные своего исходника
[Профиль]  [ЛС] 

Hanway

Стаж: 15 лет

Сообщений: 797

Hanway · 27-Май-12 17:14 (спустя 14 мин., ред. 27-Май-12 17:14)

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

Tempter57

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

Сообщений: 4963

Tempter57 · 27-Май-12 17:56 (спустя 42 мин., ред. 27-Май-12 18:22)

jonas93 писал(а):
Исходник - прогрессивное видео, в котором был изменен порядок полей
В прогрессивном видео полей вообще не существует. Вряд ли это был исходник. Скорее всего был интерлейсный исходник, потом из него сделали прогрессив, но неверно установили перед этим порядок полей при деинтерлейсе и, уже прогрессивный материал должен быть по идее дёрганным. Потом этот бракованный материал загнали в Carbon Coder или CCE SP2, далее выполнили авторинг DVD ,например, в DVDLab и получили бракованный DVD.
Но, если всё как вы описали, то можно восстановить правильный порядок полей на DVD http://forum.ixbt.com/topic.cgi?id=29:3177#22
Код:
LoadPlugin("...\DGDecode.dll")
MPEG2Source("...\video.d2v")
clip1= SeparateFields().SelectOdd()
clip2= SeparateFields().SelectEven().Trim(1,0)
Interleave(clip2,clip1).Weave() # будет BFF (по умолчанию в AviSynth)
ConvertToYUY2(interlaced=true)# если кодировать в CCE SP2 или Carbon Coder \ Canopus Procoder
# ==== для обратного прогрессивного преобразования надо открыть эти строки и закрыть предыдущую для CCE SP2
# ConvertToYV12(interlaced=true)
# AssumeBFF()
# Yadif(mode=0, order=-1)
[Профиль]  [ЛС] 

Hanway

Стаж: 15 лет

Сообщений: 797

Hanway · 27-Май-12 18:11 (спустя 14 мин., ред. 27-Май-12 18:11)

Tempter57
Спасибо, уже есть прогресс. Восстановил порядок полей, но остался интерлейс на цветности.
Пересобирать или изменять диск я не буду, просто делаю AVC-рип.
[Профиль]  [ЛС] 

HortonEN

Стаж: 17 лет

Сообщений: 6333


HortonEN · 27-Май-12 18:12 (спустя 1 мин.)

jonas93 писал(а):
Как в таком случае изменить порядок и восстановить прогрессив?
После получения первоначального, прогрессивного видео (т.е. того, которое Вы считаете было "испорчено" перед авторингом) можно переставить поля таким действом:
Код:
SeparateFields()
ComplementParity()
Weave()
И то же самое сделает одна функция:
SwapFields()
Но я согласен с Темптером, что фраза:
Цитата:
прогрессивное видео, в котором был изменен порядок полей, после чего это интерлейсное видео пережали
какая-то "нечитабельная"...
[Профиль]  [ЛС] 

Hanway

Стаж: 15 лет

Сообщений: 797

Hanway · 27-Май-12 18:22 (спустя 9 мин.)

Держите кусок видео
http://jumbofiles.com/y5mj0tit6o55
Я не знаю как по-другому объяснить.
[Профиль]  [ЛС] 

easy_y

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

Сообщений: 216


easy_y · 27-Май-12 19:32 (спустя 1 час 10 мин.)

jonas93
А если отрезать "лишнее" безпарное первое поле ?
SeparateFields()
trim(1,0)
Weave()
[Профиль]  [ЛС] 

Hanway

Стаж: 15 лет

Сообщений: 797

Hanway · 27-Май-12 19:37 (спустя 4 мин.)

easy_y
Тот же артефакт
[Профиль]  [ЛС] 

easy_y

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

Сообщений: 216


easy_y · 27-Май-12 20:01 (спустя 24 мин.)

А какой артефакт?
У меня получается так
скрытый текст
[Профиль]  [ЛС] 

Hanway

Стаж: 15 лет

Сообщений: 797

Hanway · 27-Май-12 20:06 (спустя 4 мин.)

easy_y
У меня стоял crop перед SeparateFields, потому были артефакты. Теперь все отлично. Всем спасибо за помощь
[Профиль]  [ЛС] 

Xpюша

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

Сообщений: 3635


Xpюша · 27-Май-12 20:29 (спустя 23 мин., ред. 27-Май-12 20:29)

HortonEN писал(а):
можно переставить поля таким действом:
Перестановка верхнего и нижнего полей местами - совсем не то же самое, что восстановление правильной группировки полей в кадры, которую предложил Tempter57.
HortonEN писал(а):
Но я согласен с Темптером, что фраза:
Цитата:
прогрессивное видео, в котором был изменен порядок полей, после чего это интерлейсное видео пережали
какая-то "нечитабельная"...
Может и нечитабельная, зато более-менее правильно передаёт суть: взяли прогрессивное видео (да хоть киноплёнку отсканировали) и закодировали в чересстрочном режиме (полями), но при этом в файле в кадры оказались сгруппированы полукадры (поля) соседних кадров плёнки.
Встречается такое довольно часто. Верх-низ при этом на своих местах.
[Профиль]  [ЛС] 

HortonEN

Стаж: 17 лет

Сообщений: 6333


HortonEN · 27-Май-12 20:31 (спустя 2 мин.)

Xpюша писал(а):
Перестановка верхнего и нижнего полей местами - совсем не то же самое, что восстановление правильной группировки полей в кадры, которую предложил Tempter57.
Разумеется.
Я и не "оспаривал" вариант Темптера. Дал только дополнительный вариант поиска...
Xpюша писал(а):
взяли прогрессивное видео (да хоть киноплёнку отсканировали) и закодировали в чересстрочном режиме (полями)
Исходная фраза немного не так звучала.
Но Ваш пример я, конечно, понял...
[Профиль]  [ЛС] 

noboby

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

Сообщений: 100


noboby · 27-Май-12 20:35 (спустя 3 мин.)

https://rutr.life/forum/viewtopic.php?p=53318050#53318050
Tempter57 писал(а):
noboby
скрытый текст
#ccd_sse2.vdf
#vdf_arguments:CamCD:0
#Depan.dll
#DepanEstimate.dll
#DeSpot.dll
#deflicker.dll
#RemoveDirt.dll
#RemoveGrainTSSE2.dll
#RemoveGrainSSE2.dll
#RepairSSE3.dll
#mvtools2.dll
#Warpsharp.dll
#mt_masktools-26.dll
#Gradfun2db.dll
#RemoveDirt.avs
#LimitedSharpenFaster mod.avs
#Ylevels.avs
SetMTMode(2)
setmemorymax(512)
# ConvertToRGB32().CamCD(20,1).ConvertToYV12() # удаление радужности и цветового шума
# STABILIZING/CROPPING
# source1 = last.trim(1,0).assumefps(25.000)
# stab_reference = source1.crop(40,40,-40,-40).tweak(cont=1.1).mt_binarize(threshold=80,upper=true,U=-128,V=-128)
# mdata = DePanEstimate(stab_reference,trust=1.0,dxmax=20,dymax=20)
# stab1 = DePanStabilize(source1,data=mdata,cutoff=0.5,dxmax=20,dymax=20,method=0,mirror=15).deflicker()
# stab = stab1.crop(20,20,-20,-20)
src = last
filtered = src.RemoveDirt(false,16).tweak(sat=1.05)
dark = 32
bright = 196
mask1 = mt_lut(src,"x "+string(dark)+" < 255 x "+string(bright)+" > 255 0 ? ?",U=1,V=1).removegrain(19,-1,-1)
min = 16
max = 255
mask2 = mt_lutxy(src,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(src,filtered,mt_logic(mask1,mask2,"min"),luma=true)
preNR_super = filtered.MSuper(pel=2, sharp=2, rfilter=2)
rdr_super = rdr.MSuper(pel=2, sharp=2, levels=1)
vb2 = MAnalyse(preNR_super, isb=true, truemotion=false, delta=2, blksize=16, overlap=8, dct=5)
vb1 = MAnalyse(preNR_super, isb=true, truemotion=false, delta=1, blksize=16, overlap=8, dct=5)
vf1 = MAnalyse(preNR_super,isb=false, truemotion=false, delta=1, blksize=16, overlap=8, dct=5)
vf2 = MAnalyse(preNR_super,isb=false, truemotion=false, delta=2, blksize=16, overlap=8, dct=5)
den = rdr.MDegrain2(rdr_super,vb1,vf1,vb2,vf2,thSAD=500,thSCD1=600,thSCD2=135).unsharpmask(40,1,0)
sadf = MMask(rdr, vf1, ml=100, kind=1, gamma=1, thscd1 = 400) # маска SAD вперед
sadb = MMask(rdr, vb1, ml=100, kind=1, gamma=1, thscd1 = 400) # маска SAD назад
msadf = sadf.MT_Binarize(20,upper=true) # двоичная инвертированная маска SAD вперед
msadb = sadb.MT_Binarize(20,upper=true) # двоичная инвертированная маска SAD назад
msadc = MT_Logic(msadf,msadb,"or") # комбинированная инвертированная маска SAD
msad = msadc.MT_Expand() # расширенная маска
msadi = Interleave(msad, msad, msad) # тройное повторение маски
# Эта маска высока (255), где по крайней мере одна из оценок движения хороша,так что эти области будут защищены
sup = den.msuper(pel=2,chroma=true,levels=1)
# cf1 = MFlow(den, sup, vf1, thSCD1=500)
# cb1 = MFlow(den, sup, vb1, thSCD1=500)
cf1 = MCompensate(den, sup, vf1, thSCD1=500)
cb1 = MCompensate(den, sup, vb1, thSCD1=500)
Interleave(cf1, den, cb1)
# ==== большие черные пятна ====
# DeSpot(mthres=8,mwidth=7,mheight=5,merode=33,interlaced=false,median=false,p1=15,p2=8,pwidth=50,pheight=50,ranked=true,sign=1,maxpts=0,\
# p1percent=10,dilate=1,fitluma=true,blur=1,tsmooth=0,show=0,mark_v=255,motpn=false,seg=2,color=true,mscene=40,minpts=0,extmask=msadi)
# ==== толстые линии типа волос (избегают реальных волос) ====
# DeSpot(mthres=13,mwidth=7,mheight=5,merode=24,interlaced=false,median=false,p1=15,p2=13,pwidth=140,pheight=100,ranked=true,sign=-1,maxpts=0,\
# p1percent=10,dilate=1,fitluma=true,blur=1,tsmooth=0,show=0,mark_v=255,motpn=false,seg=2,color=true,mscene=40,minpts=0,extmask=msadi)
# ==== линии, входящие в контакт с движением, избегите области движения ====
# DeSpot(mthres=13,mwidth=7,mheight=5,merode=16,interlaced=false,median=false,p1=15,p2=13,pwidth=140,pheight=100,ranked=true,sign=-1,maxpts=0,\
# p1percent=10,dilate=1,fitluma=true,blur=1,tsmooth=0,show=0,mark_v=255,motpn=false,seg=1,color=true,mscene=40,minpts=0,extmask=msadi)
# ==== маленькие точки и пыль ====
# DeSpot(mthres=12,mwidth=7,mheight=5,merode=33,interlaced=false,median=false,p1=15,p2=8,pwidth=6,pheight=5,ranked=true,sign=0,maxpts=0,\
# p1percent=10,dilate=1,fitluma=true,blur=1,tsmooth=2,show=0,mark_v=255,motpn=false,seg=1,color=true,mscene=40,minpts=0,extmask=msadi)
# DeSpot(mthres=8,mwidth=7,mheight=5,merode=25,interlaced=false,median=false,p1=10,p2=6,pwidth=720,pheight=576,ranked=true,sign=2,maxpts=0,\
# p1percent=2,dilate=1,fitluma=true,blur=4,tsmooth=4,show=0,mark_v=255,motpn=false,seg=1,color=true,mscene=40,minpts=0,extmask=msadi)
# ==== Длинные горизонтальные затиры ====
# DeSpot(mthres=12,mwidth=7,mheight=5,merode=25,interlaced=false,median=false,p1=15,p2=8,pwidth=100,pheight=2,ranked=true,sign=-1,maxpts=0,\
# p1percent=2,dilate=1,fitluma=true,blur=4,tsmooth=4,show=0,mark_v=255,motpn=false,seg=2,color=true,mscene=40,minpts=0,extmask=msadi)
# ==== Маленькие компактные пятна ====
# DeSpot(mthres=12,mwidth=7,mheight=5,merode=25,interlaced=false,median=false,p1=15,p2=8,pwidth=10,pheight=10,ranked=true,sign=-1,maxpts=0,\
# p1percent=2,dilate=1,fitluma=true,blur=4,tsmooth=4,show=0,mark_v=255,motpn=false,seg=2,color=true,mscene=40,minpts=0,extmask=msadi)
# =============== ЕЩЁ ВАРИАНТЫ ======================
DeSpot(p1=20,p2=4,pwidth=200,pheight=150,mthres=22, merode=33,sign=2,show=0,seg=0,color=false,motpn=true,fitluma=true, extmask=msadi)
# DeSpot(p1=20,p2=12,pwidth=768,pheight=576,mthres=80,merode=33,sign=0,show=0,seg=0,color=true,motpn=true,extmask=msadi)
# DeSpot(p1=12,p2=22,pwidth=100,pheight=100,mthres=22,merode=25,p1percent=10,sign=0,show=0,seg=1,color=true,motpn=true,extmask=msadi)
# DeSpot(p1=15,p2=1, pwidth=40, pheight=40, mthres=4, merode=25,p1percent=10,sign=0,show=0,seg=1,color=true,motpn=true,extmask=msadi)
# DeSpot(p1=35,p2=11,pwidth=250,pheight=250,mthres=23,merode=40,p1percent=1,sign=1,show=0,seg=2,\
# color=true,motpn=false,minpts=6,dilate=1,mscene=100,fitluma=true,blur=1,extmask=msadi)
# DeSpot(p1=22,p2=5, pwidth=100,pheight=140,mthres=11,merode=58,p1percent=25,sign=1,show=0,seg=1,color=true,motpn=false,minpts=6,maxpts=1200,\
# mwidth=7,mheight=5,dilate=2,mscene=90,fitluma=true,blur=2,ranked=true,interlaced=false,extmask=msadi)
# DeSpot(p1=30,p2=22,pwidth=400,pheight=300, mthres=20,merode=33,p1percent=10,sign=1,show=0,seg=2,color=true,motpn=true,extmask=msadi)
SelectEvery(3,1) # получаем отфильтрованный источник
LSFmod(defaults="slow", preblur="ON", strength=100)
GradFun2DB(1.51)
Ylevels(0,1.0,2455,0,255)
# greyscale().Ylevels(18,1.0,230,0,235)
# Данный фильтр разработан для удаления временного шума в форме точек (пятен) и полосок, имеющихся в некотором старом видео.
# Фильтр полезен для реставрации кинофильмов путем удаления случайных помех в виде темных пятен от пыли и некоторых полос от царапин на оцифрованных кинопленках.
Примените наиболее подходящий для вашего исходника вариант Despot
Получается вот такой скрипт:
скрытый текст
SetMTMode(5,4)
SetMemoryMax(512)
LoadVirtualdubPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\ccd_sse2.vdf", "CamCD", 1)
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\Depan.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\DepanEstimate.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\DeSpot.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\deflicker.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\RemoveDirt.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\RemoveGrainTSSE2.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\RemoveGrainSSE2.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\RepairSSE3.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\mvtools2.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\Warpsharp.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\mt_masktools-26.dll")
LoadPlugin("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\Gradfun2db.dll")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\RemoveDirt.avs")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\LimitedSharpenFaster mod.avs")
Import("C:\Program Files (x86)\XviD4PSP 5\dlls\AviSynth\plugins\Ylevels.avs")
LoadPlugin("C:\Utilities\!media\MeGUI\tools\dgindex\DGDecode.dll")
LoadPlugin("C:\Utilities\!media\MeGUI\tools\avisynth_plugin\ColorMatrix.dll")
DGDecode_mpeg2source("F:\DISK\123\VTS.d2v", idct=5, info=3)
ColorMatrix(hints=true, threads=0)
SetMTMode(2)
# ConvertToRGB32().CamCD(20,1).ConvertToYV12() # удаление радужности и цветового шума
# STABILIZING/CROPPING
# source1 = last.trim(1,0).assumefps(25.000)
# stab_reference = source1.crop(40,40,-40,-40).tweak(cont=1.1).mt_binarize(threshold=80,upper=true,U=-128,V=-128)
# mdata = DePanEstimate(stab_reference,trust=1.0,dxmax=20,dymax=20)
# stab1 = DePanStabilize(source1,data=mdata,cutoff=0.5,dxmax=20,dymax=20,method=0,mirror=15).deflicker()
# stab = stab1.crop(20,20,-20,-20)
src = last
filtered = src.RemoveDirt(false,16).tweak(sat=1.05)
dark = 32
bright = 196
mask1 = mt_lut(src,"x "+string(dark)+" < 255 x "+string(bright)+" > 255 0 ? ?",U=1,V=1).removegrain(19,-1,-1)
min = 16
max = 255
mask2 = mt_lutxy(src,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(src,filtered,mt_logic(mask1,mask2,"min"),luma=true)
preNR_super = filtered.MSuper(pel=2, sharp=2, rfilter=2)
rdr_super = rdr.MSuper(pel=2, sharp=2, levels=1)
vb2 = MAnalyse(preNR_super, isb=true, truemotion=false, delta=2, blksize=16, overlap=8, dct=5)
vb1 = MAnalyse(preNR_super, isb=true, truemotion=false, delta=1, blksize=16, overlap=8, dct=5)
vf1 = MAnalyse(preNR_super,isb=false, truemotion=false, delta=1, blksize=16, overlap=8, dct=5)
vf2 = MAnalyse(preNR_super,isb=false, truemotion=false, delta=2, blksize=16, overlap=8, dct=5)
den = rdr.MDegrain2(rdr_super,vb1,vf1,vb2,vf2,thSAD=500,thSCD1=600,thSCD2=135).unsharpmask(40,1,0)
sadf = MMask(rdr, vf1, ml=100, kind=1, gamma=1, thscd1 = 400) # маска SAD вперед
sadb = MMask(rdr, vb1, ml=100, kind=1, gamma=1, thscd1 = 400) # маска SAD назад
msadf = sadf.MT_Binarize(20,upper=true) # двоичная инвертированная маска SAD вперед
msadb = sadb.MT_Binarize(20,upper=true) # двоичная инвертированная маска SAD назад
msadc = MT_Logic(msadf,msadb,"or") # комбинированная инвертированная маска SAD
msad = msadc.MT_Expand() # расширенная маска
msadi = Interleave(msad, msad, msad) # тройное повторение маски
# Эта маска высока (255), где по крайней мере одна из оценок движения хороша,так что эти области будут защищены
sup = den.msuper(pel=2,chroma=true,levels=1)
# cf1 = MFlow(den, sup, vf1, thSCD1=500)
# cb1 = MFlow(den, sup, vb1, thSCD1=500)
cf1 = MCompensate(den, sup, vf1, thSCD1=500)
cb1 = MCompensate(den, sup, vb1, thSCD1=500)
Interleave(cf1, den, cb1)
# ==== большие черные пятна ====
# DeSpot(mthres=8,mwidth=7,mheight=5,merode=33,interlaced=false,median=false,p1=15,p2=8,pwidth=50,pheight=50,ranked=true,sign=1,maxpts=0,\
# p1percent=10,dilate=1,fitluma=true,blur=1,tsmooth=0,show=0,mark_v=255,motpn=false,seg=2,color=true,mscene=40,minpts=0,extmask=msadi)
# ==== толстые линии типа волос (избегают реальных волос) ====
# DeSpot(mthres=13,mwidth=7,mheight=5,merode=24,interlaced=false,median=false,p1=15,p2=13,pwidth=140,pheight=100,ranked=true,sign=-1,maxpts=0,\
# p1percent=10,dilate=1,fitluma=true,blur=1,tsmooth=0,show=0,mark_v=255,motpn=false,seg=2,color=true,mscene=40,minpts=0,extmask=msadi)
# ==== линии, входящие в контакт с движением, избегите области движения ====
# DeSpot(mthres=13,mwidth=7,mheight=5,merode=16,interlaced=false,median=false,p1=15,p2=13,pwidth=140,pheight=100,ranked=true,sign=-1,maxpts=0,\
# p1percent=10,dilate=1,fitluma=true,blur=1,tsmooth=0,show=0,mark_v=255,motpn=false,seg=1,color=true,mscene=40,minpts=0,extmask=msadi)
# ==== маленькие точки и пыль ====
# DeSpot(mthres=12,mwidth=7,mheight=5,merode=33,interlaced=false,median=false,p1=15,p2=8,pwidth=6,pheight=5,ranked=true,sign=0,maxpts=0,\
# p1percent=10,dilate=1,fitluma=true,blur=1,tsmooth=2,show=0,mark_v=255,motpn=false,seg=1,color=true,mscene=40,minpts=0,extmask=msadi)
# DeSpot(mthres=8,mwidth=7,mheight=5,merode=25,interlaced=false,median=false,p1=10,p2=6,pwidth=720,pheight=576,ranked=true,sign=2,maxpts=0,\
# p1percent=2,dilate=1,fitluma=true,blur=4,tsmooth=4,show=0,mark_v=255,motpn=false,seg=1,color=true,mscene=40,minpts=0,extmask=msadi)
# ==== Длинные горизонтальные затиры ====
# DeSpot(mthres=12,mwidth=7,mheight=5,merode=25,interlaced=false,median=false,p1=15,p2=8,pwidth=100,pheight=2,ranked=true,sign=-1,maxpts=0,\
# p1percent=2,dilate=1,fitluma=true,blur=4,tsmooth=4,show=0,mark_v=255,motpn=false,seg=2,color=true,mscene=40,minpts=0,extmask=msadi)
# ==== Маленькие компактные пятна ====
# DeSpot(mthres=12,mwidth=7,mheight=5,merode=25,interlaced=false,median=false,p1=15,p2=8,pwidth=10,pheight=10,ranked=true,sign=-1,maxpts=0,\
# p1percent=2,dilate=1,fitluma=true,blur=4,tsmooth=4,show=0,mark_v=255,motpn=false,seg=2,color=true,mscene=40,minpts=0,extmask=msadi)
# =============== ЕЩЁ ВАРИАНТЫ ======================
DeSpot(p1=20,p2=4,pwidth=200,pheight=150,mthres=22, merode=33,sign=2,show=0,seg=0,color=false,motpn=true,fitluma=true, extmask=msadi)
# DeSpot(p1=20,p2=12,pwidth=768,pheight=576,mthres=80,merode=33,sign=0,show=0,seg=0,color=true,motpn=true,extmask=msadi)
# DeSpot(p1=12,p2=22,pwidth=100,pheight=100,mthres=22,merode=25,p1percent=10,sign=0,show=0,seg=1,color=true,motpn=true,extmask=msadi)
# DeSpot(p1=15,p2=1, pwidth=40, pheight=40, mthres=4, merode=25,p1percent=10,sign=0,show=0,seg=1,color=true,motpn=true,extmask=msadi)
# DeSpot(p1=35,p2=11,pwidth=250,pheight=250,mthres=23,merode=40,p1percent=1,sign=1,show=0,seg=2,\
# color=true,motpn=false,minpts=6,dilate=1,mscene=100,fitluma=true,blur=1,extmask=msadi)
# DeSpot(p1=22,p2=5, pwidth=100,pheight=140,mthres=11,merode=58,p1percent=25,sign=1,show=0,seg=1,color=true,motpn=false,minpts=6,maxpts=1200,\
# mwidth=7,mheight=5,dilate=2,mscene=90,fitluma=true,blur=2,ranked=true,interlaced=false,extmask=msadi)
# DeSpot(p1=30,p2=22,pwidth=400,pheight=300, mthres=20,merode=33,p1percent=10,sign=1,show=0,seg=2,color=true,motpn=true,extmask=msadi)
SelectEvery(3,1) # получаем отфильтрованный источник
LSFmod(defaults="slow", preblur="ON", strength=100)
GradFun2DB(1.51)
Ylevels(0,1.0,2455,0,255)
# greyscale().Ylevels(18,1.0,230,0,235)
# Данный фильтр разработан для удаления временного шума в форме точек (пятен) и полосок, имеющихся в некотором старом видео.
# Фильтр полезен для реставрации кинофильмов путем удаления случайных помех в виде темных пятен от пыли и некоторых полос от царапин на оцифрованных кинопленках.
selectTotal1=framecount()/100
selectTotal2=selectTotal1*2
selectrangeevery(selectTotal2,50)
и видео из черных кадров. Как победить?
З.Ы. Прошу прощения, я нуб и для меня в подобных непростых скриптах многое неочевидно.
[Профиль]  [ЛС] 

Tempter57

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

Сообщений: 4963

Tempter57 · 27-Май-12 20:57 (спустя 22 мин., ред. 27-Май-12 20:57)

noboby
Уменьшайте количество потоков обработки до 2, скорее всего ваше железо не тянет столь тяжёлый скрипт. Увеличивайте значение SetMemoryMax до 1/4 объёма оперативки.
noboby писал(а):
DGDecode_mpeg2source
И что это за новинка?
может всё же Mpeg2source и дальше я не наблюдаю у вас деинтерлейса. Вам то и надо было всего подключить в XviD 4PSP 5 в ФИЛЬТРАЦИЯ пресет DeSpot и посмотреть в MediaInfo тип исходника на предмет интерлейса.
[Профиль]  [ЛС] 

Xpюша

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

Сообщений: 3635


Xpюша · 27-Май-12 21:02 (спустя 4 мин., ред. 27-Май-12 21:02)

HortonEN писал(а):
Исходная фраза немного не так звучала.
Да, не так. И я согласился, что она корявая.
Но и Tempter57 не прав, написав:
Tempter57 писал(а):
В прогрессивном видео полей вообще не существует.
В видеопотоке MPEG2 у каждого кадра два независимых флага "progressive/interlaced" от двух совершенно разных характеристик. Один из них указывает на характер картинки - 25 кадров/сек. или 50 полей/сек. А другой - на способ кодирования картинки. Никто не запрещает закодировать прогрессивные кадры полями, от этого они не перестанут быть прогрессивными.
А уж коли в потоке появились поля - появилась и возможность для их неправильной группировки. Не сразу так позже, при каком-то из перекодирований.
[Профиль]  [ЛС] 

Tempter57

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

Сообщений: 4963

Tempter57 · 27-Май-12 21:07 (спустя 5 мин.)

HortonEN
Пора нам на пенсию сваливать , как считаешь?
[Профиль]  [ЛС] 

Xpюша

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

Сообщений: 3635


Xpюша · 27-Май-12 21:18 (спустя 11 мин., ред. 27-Май-12 21:18)

Tempter57 писал(а):
Пора нам на пенсию сваливать
Ох уж эта молодёжь - так и норовит сачкануть...
[Профиль]  [ЛС] 

Tempter57

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

Сообщений: 4963

Tempter57 · 27-Май-12 21:42 (спустя 23 мин.)

Xpюша писал(а):
Ох уж эта молодёжь - так и норовит сачкануть..
скрытый текст
ага, молодёжь, заглянул бы ты в мой паспорт на страничку с датой рождения... , я в детстве дома по телевизору "Заря-2" смотрел, как Герман Титов в космос летал. Смотрел и Гагарина , как встречали, но у соседей по телевизору КВН сквозь водную линзу, у моих родителей тогда ещё не было телевизора.
[Профиль]  [ЛС] 

noboby

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

Сообщений: 100


noboby · 27-Май-12 21:45 (спустя 2 мин.)

Tempter57 писал(а):
Уменьшайте количество потоков обработки до 2, скорее всего ваше железо не тянет столь тяжёлый скрипт. Увеличивайте значение SetMemoryMax до 1/4 объёма оперативки
AMD Phenom II X4 965, RAM 8Гб.
Изменил на SetMTMode(5,2) и SetMemoryMax(2048) - все так же черные кадры.
Tempter57 писал(а):
noboby писал(а):
DGDecode_mpeg2source
И что это за новинка?
Результат скармливания .d2v AVS Script Creator'у MeGUI, оно работает, внимания не заострял
Tempter57 писал(а):
не наблюдаю у вас деинтерлейса
DVD PAL 16:9 Progressive, даже успел обрадоваться.
Tempter57 писал(а):
Вам то и надо было всего подключить в XviD 4PSP 5 в ФИЛЬТРАЦИЯ пресет DeSpot
Прога мощная, но мне не очень нравится, решил как обычно в MeGUI сделать.
И не понял, как в XviD4PSP сделать выборку,
Код:
selectTotal1=framecount()/100
selectTotal2=selectTotal1*2
selectrangeevery(selectTotal2,50)
игнорирует и хреначит весь фильм.
[Профиль]  [ЛС] 

IvGrad

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

Сообщений: 189

IvGrad · 27-Май-12 21:53 (спустя 8 мин.)

Xpюша, если быть точнее, то:
Чересстрочная и прогрессивная развертки
Формат чересстрочной развертки зародился на раннем этапе развития аналогового телевидения. Поскольку для минимизации визуального дрожания требовалась высокая частота обновления, а доступные технологии не позволяли столь быстро обновлять весь экран, каждый кадр в этом формате выводился в два этапа. То есть полный кадр разделяется на два поля, один из которых состоит из нечетных, а второй — из четных строк. Чтобы достичь компромисса между доступной шириной полосы и необходимостью учитывать повышенную чувствительность глаза к мерцаниям в больших равномерных областях изображения, было принято считать, что частота обновления кадров в формате NTSC составляет примерно 30 кадров в секунду.
При чересстрочном выводе изображения может проявляться некоторое остаточное мерцание. Кроме того, полный видеокадр состоит из двух полей, принадлежащих различным интервалам времени. Это может вызывать появление зубчатых краев в движущихся изображениях при преобразовании изображений с чересстрочной разверткой в формат прогрессивной развертки.
С появлением цифрового телевидения большую популярность получил формат видеоизображений с прогрессивной разверткой, который позволяет получить изображение повышенного качества. В этом формате изображение обновляется полностью сверху вниз с удвоенной (по сравнению с чересстрочной разверткой) частотой, за счет чего устраняются многие побочные эффекты чересстрочной развертки. Различий между полями в системах с прогрессивной разверткой не делается.
[Профиль]  [ЛС] 

Tempter57

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

Сообщений: 4963

Tempter57 · 27-Май-12 21:54 (спустя 41 сек., ред. 27-Май-12 21:58)

noboby
Скрипт сохраните от XviD 4PSP5 и загружайте его потом хоть в MEGUI, хоть VirtualDub, хоть в командную строку кодирования. А выборку в скрипт добавьте сразу после деинтерлейса, если таковой имеется.
[Профиль]  [ЛС] 

agz

Старожил

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

Сообщений: 1446

agz · 27-Май-12 21:58 (спустя 4 мин., ред. 27-Май-12 21:58)

Tempter57 писал(а):
noboby писал(а):
DGDecode_mpeg2source
И что это за новинка?
Это фича и причем старая. Но весьма полезная! Можно перед именем вызываемой функции, через подчеркивание указать имя dll.
Например, есть у нас deblock() встроенный в DGDecode, а есть в deblock.dll. Нам нужно вызвать функцию deblock() из deblock.dll а не DGDecode.dll.
Пишем: deblock_deblock()
Если надо вызвать из DGDecode.dll - пишем DGDecode_deblock()
Очень полезная фича.
[Профиль]  [ЛС] 

noboby

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

Сообщений: 100


noboby · 27-Май-12 22:11 (спустя 12 мин.)

Tempter57, так и сделал уже, только SetMemoryMax задал 1024 навскидку: с 2048 MeGUI ругался на память при открытии.
В общем, я, кажется, несколько поторопился: сейчас попробовал с DGDecode_mpeg2source, с Mpeg2source, DGDecode.dll и из MeGUI, и из XviD4PSP5 - все работает (ну, только с SetMemoryMax нужно уточнить), нужно только подождать пару-тройку секунд и картинка в предпросмотре будет как положено Я прывык что это быстро, ползунок сразу ставится на середину, а тут - черный экран, ползунок в начале, ну я и дернул его туда-сюда - экран предпросмотра оставался черным. Ну и в силу неопытности...
Спасибо, что не оставили в беде
agz писал(а):
Это фича и причем старая. Но весьма полезная! Можно перед именем вызываемой функции, через подчеркивание указать имя dll.
Например, есть у нас deblock() встроенный в DGDecode, а есть в deblock.dll. Нам нужно вызвать функцию deblock() из deblock.dll а не DGDecode.dll.
Пишем: deblock_deblock()
Если надо вызвать из DGDecode.dll - пишем DGDecode_deblock()
Очень полезная фича.
Спасибо, не знал, просто воспринял как факт - работало же.
[Профиль]  [ЛС] 

george$t

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

Сообщений: 4335


george$t · 27-Май-12 22:22 (спустя 11 мин.)

noboby писал(а):
И не понял, как в XviD4PSP сделать выборку
noboby писал(а):
игнорирует и хреначит весь фильм.
Бывает, "забывает" новые настройки. Выгружаем задание. Выходим. Загружаем по новой. Работаем.
Avisynth--> Тест-скрипт --> жмём "применить" где только можно...
[Профиль]  [ЛС] 

Xpюша

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

Сообщений: 3635


Xpюша · 27-Май-12 22:27 (спустя 4 мин., ред. 27-Май-12 23:09)

Tempter57
скрытый текст
Ну, значит на пенсию пора всем. Первая ЭВМ, за которой я работал, называлась "Наири".
IvGrad
Спасибо, конечно, но с основами работы телевидения я познакомился ещё до того, как сел за "руль" ЭВМ
Однако на этой страничке люди борются с особенностями файлов, а не телевизоров.
(Hint; до появления алгоритмов MPEG средства цифровой обработки изображений для аналогового телевидения вполне обходились другими форматами, сугубо прогрессивными, ибо между способом хранения и ввода/вывода особой связи нет.)
[Профиль]  [ЛС] 

Stradivari1972

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

Сообщений: 150


Stradivari1972 · 28-Май-12 14:19 (спустя 15 часов)

Уже задавал вопрос,может кто всё же поможет (объяснит) в чём причина ???
Stradivari1972 писал(а):
Добрый день.
Нужна помощь;
Подскажите,чем лучше рип делать с Blu-Ray,DVD,а то не все конвертеры поддерживают ?
Нашёл "Pavtube Blu-ray Video Converter Ultimate" конвертит быстро и хорошо,но ппц начинаешь просматривать конветируемый файл,то просматривается на экране видео изображение (надпись)конвертера,а как её убрать не знаю,может в настройках где надо что то возможно отключить,если кто в курсе,то подскажите.
Заранее благодарен за помощь.
Изображение на фоне видео (появилась надпись в видеофайле) http://s2.ipicture.ru/uploads/20120526/RMP7bCUC.png
http://s2.ipicture.ru/uploads/20120526/zeefyMSS.png
[Профиль]  [ЛС] 

Yurasyk

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

Сообщений: 3506

Yurasyk · 28-Май-12 14:34 (спустя 15 мин.)

Stradivari1972 писал(а):
как её убрать
купить этот конвертер.
З.ы. ...или использовать другой.
[Профиль]  [ЛС] 

Heaven Cat

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

Сообщений: 1463

Heaven Cat · 28-Май-12 20:15 (спустя 5 часов, ред. 28-Май-12 20:15)

набрать название программы в Google и рядом с ним Crack. patch . serial
[Профиль]  [ЛС] 

Tim68

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

Сообщений: 712


Tim68 · 28-Май-12 21:21 (спустя 1 час 6 мин., ред. 28-Май-12 21:44)

Heaven Cat писал(а):
набрать название программы в Google и рядом с ним...
Ай-ай-ай. Человек хотел жить честно.
Кстати, как любитель отскаблить картинку до уровня "пластилиновой вороны", как поступаете с градиентами? Шумком вроде не балуетесь или имеется грешок?
[Профиль]  [ЛС] 
 
Тема закрыта
Loading...
Error