|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4960
|
Tempter57 ·
25-Дек-13 22:33
(10 лет 11 месяцев назад, ред. 25-Дек-13 22:33)
czuryk писал(а):
62261142Но все же я склоняюсь к версии с кривым плагином или с кривой цепочкой, так как факт что avs4x264.exe занимает в памяти больше 5 гигов, в процессе обработки - считаю не нормальным.
Напишите свой вариант или поищите в инете иной скрипт обработки. Потом поделитесь с нами. Если скрипт выполнить основную задачу ликвидации затиров VHS и полос нарезки, то все будут только благодарны. Успехов. А пока пробуйте сразу за деинтерлейсом вставить строки:
Код:
RemoveGrain(0) # No-Op filter, just to do frame request
ChangeFPS(last,last,true) # initiate a small forward buffer
и перейти назад к medianblur.dll и MedianblurT в скрипте. Говорю так, поскольку medianblur2.dll разработан под AviSynth+ и на AviSynth 2.6 MT достаточно не исследован.
|
|
george$t
Стаж: 14 лет 8 месяцев Сообщений: 4296
|
george$t ·
25-Дек-13 22:40
(спустя 7 мин.)
czuryk
Такое иногда случается. Система не принимает конкретный фильтр или комбинацию на конкретном источнике, хоть убейся, с попеременной руганью в адрес плагинов, декодера, х264 и всего на свете. А на другом смотришь - всё нормально. Поэтому я в таких ситуациях первым делом меняю декодер, пытаюсь запустить скрипт c 5, 3 - 5, 2 в виртуалдабе в lagarith. А не выгорит - пых-пых, на паровозике, который мне посоветовал HortonEN, а я вам. Пару раз довёз. В смысле грамотности скрипт должен быть безупречен и лучше сразу отсечь всё лишнее, вроде обработки звука...
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4960
|
Tempter57 ·
26-Дек-13 01:45
(спустя 3 часа, ред. 26-Дек-13 14:29)
imgeorgest
Надо было дать прямую ссылку на ветку http://forum.doom9.org/showthread.php?t=167358, быстрее там скачать avisynth.dll, а возможно стоит даже лучше сразу установить AviSynth+. czuryk
В самом скрипте есть возможность отказаться от фильтров VD и полностью перейти на фильтры AviSynth. При этом можно избежать и двойной конвертации цветовых пространств.
VHS RemoveDirt
#ccd.vdf
#vdf_arguments:ccd:0
#ACOBW.vdf
#vdf_arguments:ACOBW:0
#TDeInt.dll
#RGTools.dll
#RemoveGrainTSSE2.dll
#Warpsharp.dll
#mvtools2.dll
#Deblock.dll
#DctFilter.dll
#medianblur.dll
#mt_masktools-26.dll
#fft3dgpu.dll
#awarpsharp2.dll
#FluxSmooth.dll
#AddGrainC.dll
#Gradfun2DB.dll
#AutoAdjust.dll
#dither.dll
#GScript.dll
#GRunt.dll
#RT_Stats26.dll
#CallCmd.dll
#AWB.avsi
#Deblock_QED_MT2.avs
#focus.avs
#minblur.avs
#dither.avsi
#deVCR.avs
#RemoveColorBleeding.avs
#RemoveDirtMC.avs
#LSFmod v1.9.avsi
#Gradfun2dbmod 1.5.avsi # setmemorymax(1024) # ==== Make progressive ====
/*
ConvertToYV12(interlaced=true)
assumebff() # assumetff()
Bob(0.0,1.0) # better bobbers are available
*/ RemoveGrain(0) # No-Op filter, just to do frame request
ChangeFPS(last,last,true) # initiate a small forward buffer # ==== Подавление цветового шума и радужности изображения ==== setmtmode(5)
fft3dgpu(bw=32,bh=32,ow=16,oh=16,bt=1,sigma=2.5,sigma2=1.75,sigma3=8.0,sigma4=2.0,plane=3) # вариант 1
setmtmode(2) # ==== Автобаланс и удаление цветового шума и радужности изображения ====
/*
ConvertToRGB32()
ccd(9,0) # удаление цветового шума и радужности изображения
ACOBW(30,0,0) # вариант автобаланса 1
# ConvertToYUY2().DePulse(h=180, l=60, d=30, debug=false) # удаление белых и чёрных стрелок VHS
converttoyv12()
*/ AutoAdjust(auto_gain=true, auto_balance=true) # вариант автобаланса 2
# AWB() # вариант автобаланса 3
# ShiftCCT(6220) # подобрать значение цветовой температуры внутри скобок # ==== Удалить Colorbleeding (размытость цветовых контуров) ====
# RemoveColorBleeding() # ==== Устранение VHS цветового сдвига (colorshift), требует ручной подстройки ====
Vshift=2 # 2 пикселя на ленте
Hshift=0
mergechroma(last.crop(Hshift,Vshift,0,0, align=true).addborders(0,0,Hshift,Vshift)) # ==== Deblocking ====
# Deblock_QED(uv=3) # подключить при блочности исходника # ==== Многокаскадный фильтр ремонта горизонтальных линий затиров VHS ====
deVCR(30)#.deVCR(0) # ==== Ремонт полосы нарезки и наложение её на исходник ====
/*
source = last
filtered = source.RemoveDirtMC(false,10).RemoveDirt().RemoveDust(3)
top = filtered.crop(0,300,0,-144,true) # где в данном случае 300-высота в клипе выше полосы нарезки,-144 -высота в клипе ниже линии нарезки приведены для примера
Overlay(source,top,y=300).tweak(sat=1.05) # привязку сопоставить с кропом сверху
*/ # ==== Двухкаскадный временнОй и пространственно-временнОй шумоподавитеь ====
rdr = last
psup = rdr.blur(1.58).MSuper(pel=2, sharp=2, rfilter=2)
rsup = rdr.MSuper(pel=2, sharp=2, rfilter=2, levels=1)
vb1 = MAnalyse(psup, isb=true, truemotion=false, delta=1, blksize=16, overlap=4, dct=5)
vf1 = MAnalyse(psup,isb=false, truemotion=false, delta=1, blksize=16, overlap=4, dct=5)
/*
vb2 = MAnalyse(psup, isb=true, truemotion=false, delta=2, blksize=16, overlap=4, dct=5)
vf2 = MAnalyse(psup,isb=false, truemotion=false, delta=2, blksize=16, overlap=4, dct=5)
den = rdr.MDegrain2(rsup,vb1,vf1,vb2,vf2,thSAD=321,thSCD1=256,thSCD2=104,limit=102)
*/
den = rdr.MDegrain1(rsup,vb1,vf1,thSAD=256,thSCD1=256,thSCD2=104,limit=96).MDegrain1(rsup,vb1,vf1,thSAD=135,thSCD1=256,thSCD2=104,limit=72)
dsup = den.MSuper(pel=2,levels=1,chroma=true)
cf1 = MCompensate(den, dsup, vf1, thSCD1=400)
cb1 = MCompensate(den, dsup, vb1, thSCD1=400)
/*
cf2 = MCompensate(den, dsup, vf2, thSCD1=400)
cb2 = MCompensate(den, dsup, vb2, thSCD1=400)
interleave(cb2, cb1, den, cf1, cf2)
setmtmode(5)
MedianblurT(0,0,0,2)
setmtmode(2)
SelectEvery(5,2)
*/
interleave(cb1, den, cf1)
setmtmode(5)
MedianblurT(0,0,0,1)
setmtmode(2)
SelectEvery(3,1) # ==== Повышение резкости ====
# unsharpmask(40,1,0).LSFmod(defaults="fast", preblur="ON", strength=150)
LSFmod(defaults="fast", preblur="ON", strength=100)
focus(last, last.width, last.height) # ==== Дебандинг ====
# GradFun2DBmod(thr=1.51,thrC=1.6,mode=2,str=1.0,strC=0.0,temp=50,adapt=64)
GradFun2DBmod(thr=1.4,thrC=1.4,mode=2,str=0.5,strC=0.0,temp=50,adapt=64) # ==== Reinterlace ====
# ConvertToYUY2()
# AssumeTFF().SeparateFields().SelectEvery(4, 0, 3).Weave() # TFF /*
Назначение: для обработки старых проблемных VHS оцифровок с наличием затиров и полос нарезки
Тип предварительного шумоподавителя: CCD, DePulse, blur, RemoveDirtMC, RemoveDirt и RemoveDust
Тип основного шумоподавителя: на основе векторного анализа оценки движения на MDegrain1...2 + MCompensate c MedianblurT
Тип шарпера: LSFmod,unsharpmask, focus
Наличие фильтра DeBanding: включен
Скорость обработки: медленная
*/
Возможно AutoAdjust(auto_gain=true, auto_balance=true) вам не понравится, примените AutoAdjust(auto_gain=true) или просто по умолчанию AutoAdjust().
|
|
PatrickBateman95
Стаж: 11 лет 2 месяца Сообщений: 20
|
PatrickBateman95 ·
26-Дек-13 09:35
(спустя 7 часов)
Здравствуйте :), посоветуйте пожалуйста какой выбрать ресайз-фильтр: Lanczos4Resize или Spline 64, это косательно MKV (мне советовали Spline 64 ставить)?
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
26-Дек-13 14:05
(спустя 4 часа, ред. 02-Янв-14 02:16)
imgeorgest
Ависинт, который встаёт с 330-й версией проблемный, и при определённом стечении глючит.
Не буду долго вдаваться, я его ставил, но потом вернулся на Ависинт с 305-й версии, и всё это время сидел на нём.
А вот AviSynth МТ 2.6.0.4 build:Sep 28 2013 вроде нормальный. Пробовал на нём сложные скрипты, пока мне нравится.
Я предлагал czuryk поменять Ависинт, но он посчитал, что это не так важно. PatrickBateman95
https://rutr.life/forum/viewtopic.php?p=52145374#52145374
|
|
PatrickBateman95
Стаж: 11 лет 2 месяца Сообщений: 20
|
PatrickBateman95 ·
26-Дек-13 14:09
(спустя 3 мин.)
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
26-Дек-13 14:17
(спустя 8 мин.)
PatrickBateman95
Надо не смеяться, а изучать мануалы, чтобы не задавать глупые вопросы, вроде этого.
|
|
PatrickBateman95
Стаж: 11 лет 2 месяца Сообщений: 20
|
PatrickBateman95 ·
26-Дек-13 14:32
(спустя 14 мин.)
busoti4444, это был адекватный вопрос
|
|
czuryk
Стаж: 17 лет 3 месяца Сообщений: 82
|
czuryk ·
26-Дек-13 17:07
(спустя 2 часа 34 мин., ред. 26-Дек-13 17:07)
Tempter57
Попробовал Ваш доработанный скрипт, все отработало как часы, ни с памятью ни с чем проблем не возникло!
Ресайз поставил сразу после деинтерлейся (перед фильтрацией).
скрытый текст
Код:
PLATFORM
------------------------------
OS Code: Microsoft Windows NT 6.1.7600.0
OS Name: Windows 7 Professional (x64)
Framework: 2.0.50727.4927 (v3.5 Service Pack 1)
AviSynth: AviSynth 2.60, build:Mar 9 2013 [13:28:27]
CPU Info: Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz (~3093), 4 core(s)
RAM Total: 8040Mb
Language: RUS (1251, ",")
SystemDrive: C: XviD4PSP
------------------------------
Version: 5.10.330.0
Created: 19.03.2013 07:34:12
AppPath: D:\Service\XviD4PSP 5
TempPath: D:\Temp FILES
------------------------------
(131013-201618).avi >
(131013-201618).mkv TASK
------------------------------
Format: MKV
Duration: 00:11:20:680 (17017)
VideoDecoder: DirectShowSource2
Resolution: 720x576
Aspect: 1.2313 > 1.2500
VCodecPreset: Custom
VEncodingMode: Quality
VideoCodec: YUV > x264 (x64)
VideoBitrate: 165839 > Q21.0
Framerate: 25.000
SourceType: PROGRESSIVE
FieldOrder: UNKNOWN
Deinterlacer: Yadif
AudioDecoder: RaWavSource
AEncodingPreset: AAC-LC VBR 0.45
AudioCodec: PCM > AAC
AudioBitrate: 1536 > VBR
Samplerate: 48000
Channels: 2
Normalize: 100%
Accurate: 10%
Gain: 3.456
Delay: 8 > 8 SCRIPT
------------------------------
Import("D:\Service\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs")
Import("D:\Service\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs")
LoadPlugin("D:\Service\XviD4PSP 5\dlls\AviSynth\plugins\avss.dll")
LoadPlugin("D:\Service\XviD4PSP 5\dlls\AviSynth\plugins\NicAudio.dll")
LoadCPlugin("D:\Service\XviD4PSP 5\dlls\AviSynth\plugins\yadif.dll") SetMemoryMax(640)
SetMTMode(5, 2) video = DirectShowSource2("D:\VideoProcess\(131013-201618).avi", fps=25.000, preroll=15, lavs="L3", lavd="L3")
audio = RaWavSource("D:\Temp\0013_0.wav", 0)
AudioDub(video, audio) SetMTMode(2) DelayAudio(0.008)
ConvertToYV12()
Yadif(order=-1)
Crop(10, 4, -18, -10)
Spline64Resize(720, 576) ###[FILTERING]###
XviD4PSPPluginsPath = "D:\Service\XviD4PSP 5\dlls\AviSynth\plugins\"
LoadVirtualDubPlugin(XviD4PSPPluginsPath + "ccd.vdf", "ccd", 0)
LoadVirtualDubPlugin(XviD4PSPPluginsPath + "ACOBW.vdf", "ACOBW", 0)
LoadPlugin(XviD4PSPPluginsPath + "TDeInt.dll")
LoadPlugin(XviD4PSPPluginsPath + "RGTools.dll")
LoadPlugin(XviD4PSPPluginsPath + "RemoveGrainTSSE2.dll")
LoadPlugin(XviD4PSPPluginsPath + "Warpsharp.dll")
LoadPlugin(XviD4PSPPluginsPath + "mvtools2.dll")
LoadPlugin(XviD4PSPPluginsPath + "Deblock.dll")
LoadPlugin(XviD4PSPPluginsPath + "DctFilter.dll")
LoadPlugin(XviD4PSPPluginsPath + "medianblur.dll")
LoadPlugin(XviD4PSPPluginsPath + "mt_masktools-26.dll")
LoadPlugin(XviD4PSPPluginsPath + "fft3dgpu.dll")
LoadPlugin(XviD4PSPPluginsPath + "awarpsharp2.dll")
LoadPlugin(XviD4PSPPluginsPath + "FluxSmooth.dll")
LoadPlugin(XviD4PSPPluginsPath + "AddGrainC.dll")
LoadPlugin(XviD4PSPPluginsPath + "Gradfun2DB.dll")
LoadPlugin(XviD4PSPPluginsPath + "AutoAdjust.dll")
LoadPlugin(XviD4PSPPluginsPath + "dither.dll")
LoadPlugin(XviD4PSPPluginsPath + "GScript.dll")
LoadPlugin(XviD4PSPPluginsPath + "GRunt.dll")
LoadPlugin(XviD4PSPPluginsPath + "RT_Stats26.dll")
LoadPlugin(XviD4PSPPluginsPath + "CallCmd.dll")
Import(XviD4PSPPluginsPath + "AWB.avsi")
Import(XviD4PSPPluginsPath + "Deblock_QED_MT2.avs")
Import(XviD4PSPPluginsPath + "focus.avs")
Import(XviD4PSPPluginsPath + "minblur.avs")
Import(XviD4PSPPluginsPath + "dither.avsi")
Import(XviD4PSPPluginsPath + "deVCR.avs")
Import(XviD4PSPPluginsPath + "RemoveColorBleeding.avs")
Import(XviD4PSPPluginsPath + "RemoveDirtMC.avs")
Import(XviD4PSPPluginsPath + "LSFmod v1.9.avsi")
Import(XviD4PSPPluginsPath + "Gradfun2dbmod 1.5.avsi")
# setmemorymax(1024)
# ==== Make progressive ====
/*
ConvertToYV12(interlaced=true)
assumebff() # assumetff()
Bob(0.0,1.0) # better bobbers are available
*/
RemoveGrain(0) # No-Op filter, just to do frame request
ChangeFPS(last,last,true) # initiate a small forward buffer
# ==== Подавление цветового шума и радужности изображения ====
setmtmode(5)
fft3dgpu(bw=32,bh=32,ow=16,oh=16,bt=1,sigma=2.5,sigma2=1.75,sigma3=8.0,sigma4=2.0,plane=3) # вариант 1
setmtmode(2)
# ==== Автобаланс и удаление цветового шума и радужности изображения ====
/*
ConvertToRGB32()
ccd(9,0) # удаление цветового шума и радужности изображения
ACOBW(30,0,0) # вариант автобаланса 1
ConvertToYUY2().DePulse(h=180, l=60, d=30, debug=false) # удаление белых и чёрных стрелок VHS
converttoyv12()
*/
AutoAdjust(auto_gain=true, auto_balance=true) # вариант автобаланса 2
# AWB() # вариант автобаланса 3
# ShiftCCT(6220) # подобрать значение цветовой температуры внутри скобок
# ==== Удалить Colorbleeding (размытость цветовых контуров) ====
# RemoveColorBleeding()
# ==== Устранение VHS цветового сдвига (colorshift), требует ручной подстройки ====
Vshift=2 # 2 пикселя на ленте
Hshift=0
mergechroma(last.crop(Hshift,Vshift,0,0, align=true).addborders(0,0,Hshift,Vshift))
# ==== Deblocking ====
# Deblock_QED(uv=3) # подключить при блочности исходника
# ==== Многокаскадный фильтр ремонта горизонтальных линий затиров VHS ====
deVCR(30)#.deVCR(0)
# ==== Ремонт полосы нарезки и наложение её на исходник ====
/*
source = last
filtered = source.RemoveDirtMC(false,10).RemoveDirt().RemoveDust(3)
top = filtered.crop(0,300,0,-144,true) # где в данном случае 300-высота в клипе выше полосы нарезки,-144 -высота в клипе ниже линии нарезки приведены для примера
Overlay(source,top,y=300).tweak(sat=1.05) # привязку сопоставить с кропом сверху
*/
# ==== Двухкаскадный временнОй и пространственно-временнОй шумоподавитеь ====
rdr = last
psup = rdr.blur(1.58).MSuper(pel=2, sharp=2, rfilter=2)
rsup = rdr.MSuper(pel=2, sharp=2, rfilter=2, levels=1)
vb1 = MAnalyse(psup, isb=true, truemotion=false, delta=1, blksize=16, overlap=4, dct=5)
vf1 = MAnalyse(psup,isb=false, truemotion=false, delta=1, blksize=16, overlap=4, dct=5)
/*
vb2 = MAnalyse(psup, isb=true, truemotion=false, delta=2, blksize=16, overlap=4, dct=5)
vf2 = MAnalyse(psup,isb=false, truemotion=false, delta=2, blksize=16, overlap=4, dct=5)
den = rdr.MDegrain2(rsup,vb1,vf1,vb2,vf2,thSAD=321,thSCD1=256,thSCD2=104,limit=102)
*/
den = rdr.MDegrain1(rsup,vb1,vf1,thSAD=256,thSCD1=256,thSCD2=104,limit=96).MDegrain1(rsup,vb1,vf1,thSAD=135,thSCD1=256,thSCD2=104,limit=72)
dsup = den.MSuper(pel=2,levels=1,chroma=true)
cf1 = MCompensate(den, dsup, vf1, thSCD1=400)
cb1 = MCompensate(den, dsup, vb1, thSCD1=400)
/*
cf2 = MCompensate(den, dsup, vf2, thSCD1=400)
cb2 = MCompensate(den, dsup, vb2, thSCD1=400)
interleave(cb2, cb1, den, cf1, cf2)
setmtmode(5)
MedianblurT(0,0,0,2)
setmtmode(2)
SelectEvery(5,2)
*/
interleave(cb1, den, cf1)
setmtmode(5)
MedianblurT(0,0,0,1)
setmtmode(2)
SelectEvery(3,1)
# ==== Повышение резкости ====
# unsharpmask(40,1,0).LSFmod(defaults="fast", preblur="ON", strength=150)
LSFmod(defaults="fast", preblur="ON", strength=100)
focus(last, last.width, last.height)
# ==== Дебандинг ====
# GradFun2DBmod(thr=1.51,thrC=1.6,mode=2,str=1.0,strC=0.0,temp=50,adapt=64)
GradFun2DBmod(thr=1.4,thrC=1.4,mode=2,str=0.5,strC=0.0,temp=50,adapt=64)
# ==== Reinterlace ====
# ConvertToYUY2()
# AssumeTFF().SeparateFields().SelectEvery(4, 0, 3).Weave() # TFF
/*
Назначение: для обработки старых проблемных VHS оцифровок с наличием затиров и полос нарезки
Тип предварительного шумоподавителя: CCD, DePulse, blur, RemoveDirtMC, RemoveDirt и RemoveDust
Тип основного шумоподавителя: на основе векторного анализа оценки движения на MDegrain1...2 + MCompensate c MedianblurT
Тип шарпера: LSFmod,unsharpmask, focus
Наличие фильтра DeBanding: включен
Скорость обработки: медленная
*/
###[FILTERING]### AmplifydB(3.456) AUDIO ENCODING
------------------------------
Encoding audio to: D:\Temp\0013.m4a
AAC Q0,45 2ch 16bit 48000khz neroAacEnc.exe: -ignorelength -q 0.45 -lc -if - -of "D:\Temp\0013.m4a" VIDEO ENCODING
------------------------------
Encoding video to: D:\Temp\0013.264
x264 Q21.0 720x576 25.000fps (17017 frames) avs4x264.exe: -L x264_64.exe --crf 21.0 --preset medium --ref 8 --deblock -1:-1 --direct auto --b-adapt 2 --trellis 2 --no-fast-pskip --psy-rd 1.00:0.10 --threads 1 --partitions all --me umh --rc-lookahead 50 --sar 1:1 --output "D:\Temp\0013.264" "D:\Temp\0013.avs" raw [info]: 720x576p 1:1 @ 25/1 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x264 [info]: profile High, level 3.1 x264 [info]: frame I:86 Avg QP:20.52 size: 40184
x264 [info]: frame P:4529 Avg QP:22.84 size: 20832
x264 [info]: frame B:12402 Avg QP:25.18 size: 7526
x264 [info]: consecutive B-frames: 1.3% 1.8% 8.2% 88.7%
x264 [info]: mb I I16..4: 1.0% 81.2% 17.7%
x264 [info]: mb P I16..4: 0.5% 9.0% 1.1% P16..4: 55.4% 24.2% 8.9% 0.4% 0.1% skip: 0.4%
x264 [info]: mb B I16..4: 0.0% 0.4% 0.0% B16..8: 54.6% 13.2% 2.4% direct:12.1% skip:17.2% L0:40.1% L1:44.4% BI:15.4%
x264 [info]: 8x8 transform intra:84.7% inter:72.3%
x264 [info]: direct mvs spatial:100.0% temporal:0.0%
x264 [info]: coded y,uvDC,uvAC intra: 85.7% 81.6% 25.0% inter: 38.9% 61.5% 1.2%
x264 [info]: i16 v,h,dc,p: 10% 38% 11% 41%
x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 20% 21% 5% 7% 6% 8% 6% 10%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 24% 12% 6% 8% 7% 9% 6% 9%
x264 [info]: i8c dc,h,v,p: 39% 35% 9% 16%
x264 [info]: Weighted P-Frames: Y:26.7% UV:13.5%
x264 [info]: ref P L0: 39.2% 13.9% 19.3% 8.5% 6.8% 4.6% 4.2% 2.7% 0.8% 0.1%
x264 [info]: ref B L0: 87.7% 5.9% 2.7% 1.5% 1.1% 0.8% 0.5%
x264 [info]: ref B L1: 98.3% 1.7%
x264 [info]: kb/s:2246.50 x264 [total]: encoded 17017 frames, 3.51 fps, 2246.50 kb/s MUXING
------------------------------
Video file: D:\Temp\0013.264
Audio file: D:\Temp\0013.m4a
Muxing to: D:\VideoProcess\Result\(131013-201618).mkv mkvmerge.exe: -o "D:\VideoProcess\Result\(131013-201618).mkv" --engage no_cue_duration --engage no_cue_relative_position --default-duration 0:25.000fps -d 0 -A -S "D:\Temp\0013.264" -a 0 -D -S --no-chapters "D:\Temp\0013.m4a" --output-charset UTF-8 TIME
------------------------------
Общее время кодирования: 1 hour 21 min 4 sec
Файл получился на: 191.58 mb
И попробую остальные Ваше рекомендации по поводу:
Цитата:
Возможно AutoAdjust(auto_gain=true, auto_balance=true) вам не понравится, примените AutoAdjust(auto_gain=true) или просто по умолчанию AutoAdjust().
Но уже сейчас качество картинки неплохое с учетом качества материала.
Видео кассете так и вообще больше 25 лет!
busoti4444 писал(а):
62268336Я предлагал czuryk поменять Ависинт, но он посчитал, что это не так важно.
Я не видел чтобы вы это предложили. Если бы увидел - неприменно попробовал бы.
Спасибо всем за рекомендации по поводу avistynth, неприменно поэксперементирую, так как видео кодировать придется много - может действительно еще какая я бяка вылезет.
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
26-Дек-13 18:54
(спустя 1 час 47 мин., ред. 02-Янв-14 02:10)
czuryk
Цитата:
это сам Xvid4PSP загнал строку деинтерлейся слишком высоко
Цитата:
... и ту что воткнул XvidD4PSP5 на автомате
Вы неправильно работаете, не имея навыков редактирования скриптов.
XviD4PSP 5 сам формирует скрипт, по мере выставления настроек в соответствующих окнах, не надо ему мешать...
Я настраиваю скрипт в такой последовательности (при условии, что настройки выставлены как здесь ) :
1. Определяюсь с декодерами видео и звука, в зависимости от исходника. При необходимости, меняю их в окне Декодирование .
2. Выбираю формат кодирования (контейнер) в меню Формат . Открываю исходник.
3. Выбираю кодер звука (пресет) в меню Кодирование звука, настраиваю кодер
4. Настраиваю полностью кодирование звука как в этом посту
5. Выставляю в окне Разрешение\ Аспект - кроп, разрешение, ресайзер
6. В окне Интерлейс\ Частота кадров выставляю параметры деинтерлейса, определяясь с ним в PictureView
На этот момент скрипт выглядит как вариант, который я Вам предложил
7. Дальше определяюсь, опять же в PictureView, с вариантом фильтрации. Подключаю в меню Фильтрация тот или иной фильтр (пресет), со звёздочки напротив меню редактирую (настраиваю) фильтр.
Если в фильтре есть вариант деинтерлейса, убираю в скрипте тот, что выставил XviD4PSP 5 (вручную).
8. Выбираю кодер видео (пресет) в меню Кодирование видео, настраиваю кодер. Запускаю кодирование.
Плюс такой последовательности в том, что конвертер сам подключает необходимые плагины, и не придётся разбираться с ошибками Ависинта. Также максимально исключается возможность появления в скрипте строк-дублей, или недостачи чего-то.
Это конечно общая схема. Например, бывают случаи, когда ресайз надо ставить после фильтрации, или делать раздельный ресайз, или вообще убрать его (убирается или переставляется вручную). Все случаи невозможно подогнать под одну схему.
|
|
mini777
Стаж: 15 лет 11 месяцев Сообщений: 12
|
mini777 ·
26-Дек-13 19:19
(спустя 24 мин.)
Прошу порекомендовать настройки многопоточности для такого конфига: OctalCore AMD FX-8350, 4100 MHz (20.5 x 200)
Asus Sabertooth 990FX R2.0
8091 Mb (DDR3-1600 DDR3 SDRAM) Кодирую только SD (640х360, 640х480)
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
26-Дек-13 19:39
(спустя 20 мин., ред. 27-Дек-13 02:48)
|
|
mini777
Стаж: 15 лет 11 месяцев Сообщений: 12
|
mini777 ·
26-Дек-13 19:45
(спустя 6 мин.)
busoti4444
Это (ссылку выше) я конечно прочитал перед тем как писать.
Там пример на 4 ядра. Я думал что у кого-нибудь есть 8 ядер и уже опытным путем что-то пробовали и могут поделиться (не только четверку из примера заменить на восьмерку)
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
26-Дек-13 20:17
(спустя 31 мин., ред. 27-Дек-13 17:25)
mini777
Было бы легко, если бы влияли только ядра.
Есть ещё разные версии Ависинта и плагинов, разные декодеры, кодеры, скрипты, исходники, системы, и т.д. и т.п. ...
Потом, сам многопоточный Ависинт не совершенство, TurboPascal7 коснулся этого вопроса https://rutr.life/forum/viewtopic.php?p=62100470#62100470
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4960
|
Tempter57 ·
26-Дек-13 20:43
(спустя 26 мин., ред. 26-Дек-13 20:43)
mini777 AMD FX-8350 с 8 ядрами рассматривается в многопоточности, как обычный 4-х ядерный Intel c включенным HT, но меньшей производительностью. Установите 4 потока обработки на SD разрешениях, для кодирования на XviD количество потоков кодирования threads=4, для х264 threads=6. Если обработки нет, количество потоков кодирования threads=auto.
|
|
verisokin
Стаж: 12 лет 11 месяцев Сообщений: 167
|
verisokin ·
26-Дек-13 21:54
(спустя 1 час 10 мин.)
busoti4444
Картинок уже почти нет. А где ещё взять картинки настроек?
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
27-Дек-13 03:32
(спустя 5 часов)
verisokin
Все скрины настроек на месте, браузер поменяйте.
|
|
Гость
|
Гость ·
27-Дек-13 18:38
(спустя 15 часов)
Люди, а что нужно еще скачивать для x264 кроме K-lite. С уважением!
|
|
george$t
Стаж: 14 лет 8 месяцев Сообщений: 4296
|
george$t ·
27-Дек-13 20:17
(спустя 1 час 38 мин., ред. 27-Дек-13 20:17)
Капитан Филлипс
Фильмы, само собой.
скрытый текст
Кажется, того не желая, я кого-то напугал...
А в чём суть вопроса? Что, к чему и для каких целей??
|
|
SOFCJ
Стаж: 16 лет 9 месяцев Сообщений: 4093
|
SOFCJ ·
27-Дек-13 23:56
(спустя 3 часа, ред. 27-Дек-13 23:56)
Всем доброго вечера. У меня такая проблема, при открытии люблю файла данного типа AVC наблюдаются различные глюки(битая картинка,кривые цвета,плавающие контуры),и такое при любых интерлейсах.
Как можно решить данную проблему?
МИ исходника
Формат : MPEG-TS Размер файла : 577 Мбайт Продолжительность : 20 м. Режим общего битрейта : Переменный Общий поток : 4027 Кбит/сек Видео Идентификатор : 1801 (0x709) Идентификатор меню : 1 (0x1) Формат : AVC Формат/Информация : Advanced Video Codec Профиль формата : High@L3.0 Параметр CABAC формата : Да Параметр ReFrames формата : 3 кадра Идентификатор кодека : 27 Продолжительность : 20 м. Битрейт : 3569 Кбит/сек Ширина : 720 пикселей Высота : 576 пикселей Соотношение сторон : 4:3 Частота кадров : 25,000 кадров/сек Стандарт вещания : Component Цветовое пространство : YUV Субдискретизация насыщенности : 4:2:0 Битовая глубина : 8 бит Тип развёртки : Чересстрочная Порядок развёртки : Верхнее поле первое Бит/(Пиксели*Кадры) : 0.344 Размер потока : 511 Мбайт (89%) Основные цвета : BT.601 PAL Характеристики трансфера : BT.470 System B, BT.470 System G Коэффициенты матрицы : BT.601
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4960
|
Tempter57 ·
28-Дек-13 08:30
(спустя 8 часов, ред. 28-Дек-13 08:30)
SOFCJ
Подключать необходимо фильтры деинтерлейса в окне ВИДЕО=>Интерлейс\Частота кадров по очереди : Yadif, TdeInt, TDeIntEdi, Yadifmod, FieldDeinterlace и наконец QTGMC и смотреть какой из них лучше справится с проблемой. Последний разумеется лучший. Если проблема не решена и у вас остались бленды, то надо подключить уже боб-деинтерлейс и тщательно изучить последовательность появления кадров-блендов и кадров-смазов. Возможно вы справитесь с проблемой, подключив фильтр Srestore. Если будут проблемы и после этого, нарезайте сэмпл исходника на 20-30 МБ и будем думать.
|
|
SOFCJ
Стаж: 16 лет 9 месяцев Сообщений: 4093
|
SOFCJ ·
28-Дек-13 10:20
(спустя 1 час 50 мин.)
Tempter57
Попробовал ваши советы, результат получше, но всё равно есть полосы и видео жутко дрожит.
Сэмпл
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4960
|
Tempter57 ·
28-Дек-13 13:13
(спустя 2 часа 52 мин., ред. 06-Янв-14 09:45)
SOFCJ
Пока хороший вариант даст:
Код:
ConvertToYV12(interlaced = true)
Yadif(order=1)
unblend()
SRestore(frate=24) # or 23.976 # место кропа и ресайза AssumeFPS(24.000, true) # # or 23.976
ResampleAudio(48000)
Но есть едва заметные бленды по хроме. Их можно сгладить шумодавом.
Cartoon DeBlend.avs
#RGTools.dll
#TDeInt.dll
#unblend.dll
#Deblock.dll
#AddGrainC.dll
#GradFun2DB.dll
#degrainmedian.dll
#mvtools2mod.dll
#TDeint.dll
#TIVTC.dll
#unblend.dll
#dfttest.dll
#SangNom2.dll
#fturn-26.dll
#mt_masktools-26.dll
#CDeblend.avs
#minblur.avs
#maa2.avsi
#srestore.avs
#Dehalo_alpha.avs
#vinverse.avs
#Gradfun2dbmod.avs
#ContraSharpening.avs # setmemorymax(768) # SeparateFields().Deblock().Weave() # DeBlock /*
# Деинтерлейс при обратном трансфере NTSC=>PAL
TFM(order=-1, mode=1, pp=6, slow=1, cthresh=6, MI=35)
vinverse()
srestore(omode=2)
tdecimate()
*/ # Деинтерлейс DVB PAL c блендами
TDeint(order=1)
unblend()
srestore(frate=24) source = last # ==== антиайлиазинг ====
m_edge = source.mt_edge("prewitt",0,255).mt_lut("x 4 - 4 *").mt_inflate()
m_aa = m_edge.mt_expand() # маска для антиайлиазинга
m_halo = m_aa.mt_expand().mt_lutxy(m_edge, "x y -") # маска для DeHalo aa_clp = source.maa2(aa=48,ss=2.0,chroma=false,threads=1) # антиайлиазинг
dh_clp = aa_clp.DeHalo_Alpha(rx=2.8,ry=2.8,darkstr=0.4,brightstr=1.5,ss=1.5) # подавление ореолов den = source.dfttest(sigma=8, tbsize=3, dither=1, threads=1) non_hl = mt_merge(den, aa_clp, m_aa)
output = mt_merge(non_hl, dh_clp, m_halo) Contrasharpening(output, source) GradFun2DBmod(thr=1.4,thrC=1.4,str=0.3,strC=0,temp=100,mask=true) # сглаживает градиенты цветовых переходов, но излишне расходует битрейт # для обработки старых мультфильмов при обратном трансфере NTSC=>PAL или DVB PAL с блендами
# при DVB PAL не забудьте ресэмплировать звук
Но самый разумный вариант второй предложил easy_y:
Код:
srestore() # удаляем все кадры дубли\бленды # место для фильтровой пост-обработки ChangeFps(24000,1001)
|
|
SOFCJ
Стаж: 16 лет 9 месяцев Сообщений: 4093
|
SOFCJ ·
28-Дек-13 14:39
(спустя 1 час 26 мин., ред. 31-Дек-13 21:51)
|
|
Гость
|
Гость ·
28-Дек-13 16:50
(спустя 2 часа 10 мин.)
Где лучше будет качество если кодить mkv в megui, xvid4psp 50, xvid4psp 65, xvid4psp 73?
|
|
Tempter57
Стаж: 16 лет 2 месяца Сообщений: 4960
|
Tempter57 ·
28-Дек-13 17:37
(спустя 46 мин., ред. 28-Дек-13 17:37)
Капитан Филлипс писал(а):
62293625Где лучше будет качество если кодить mkv в megui, xvid4psp 50, xvid4psp 65, xvid4psp 73?
Вы сами поняли, что хотя бы спрашиваете? Есть кодеки XviD (разные билды и версии) и есть х264 (тоже есть разные ревизии). Кодировать ими всё равно где, то есть графическая оболочка без разницы, хоть из под командной строки. При тех же настройках кодирования качество не изменится. х264 кодирует более качественно в сравнении с XviD.
|
|
busoti
Стаж: 13 лет 6 месяцев Сообщений: 2839
|
busoti ·
29-Дек-13 14:21
(спустя 20 часов, ред. 09-Май-14 22:23)
Программа в первом посту темы. Во втором посту архив с последними plugins, filtering.
1. Настройки программы
- Авто кроп и Определять интерлейс выставить "все файлы". Авто объединение - Только DVD .
- в окне настроек звука " Настроить" выставить : Усиление (нормализация) - 90% (по умолчанию 100) , Анализировать - 100% (по умолчанию 10)
- я у себя ещё отключил "Авто громкость". Это дешёвая функция Ависинта, которая вносит искажения. Но, в данном случае придётся на каждый файл щёлкать " А" - Анализировать.
- умолчания по декодерам видео выставлены с учётом кодирования интерлейсных исходников. Если исходник точно прогрессивный, вместо декодера DirectShowSource2 можно подключать декодер FFmpegSource2. Возможно декодирование будет лучше, т.к. в FFmpegSource2 есть индексатор.
- если на декодере MPEG2Source получается рассинхрон видео со звуком, можно подключать декодер DirectShowSource2 или FFmpegSource2 (на прогрессиве).
- если в контейнерах MPEG PS\TS и m2TS видеопоток AVC H264, такие исходники открываются на декодере, обозначенном в строке " *" (а не mpeg_ ps/ts)
Уточнения по декодерам
Декодер DirectShowSource не подключать !!
3. Настройки кодера х264
Цитата:
Не могли бы дать рекомендации по настройкам x264 для общих случаев
Здесь не может быть рекомендаций, каждый для себя определяется сам, т.к. в этом вопросе много нюансов. Начиная с мощности железа, типа исходников, скриптов обработки, и заканчивая личным вкусом и предпочтениями...
Почитать могу посоветовать. Начать нужно с мануала Ключи кодирования х264 , чтобы представлять, что меняется в картинке при изменении того или иного ключа. Ну и конечно эта тема, в ней высказывались большие мастера.
Я остановился на таких настройках :
Цитата:
x264.exe: --pass 2 --bitrate 2940 --preset veryslow --profile high --level 4.1 --ref 15 --aq-mode 2 --deblock -1:-1 --bframes 10 --threads 2 --partitions p8x8,b8x8,i8x8,i4x4 --subme 9 --no-mbtree --min-keyint 25
кодирую на них все свои исходники. Кодирую в битрейт 2 прохода, меняю только сам битрейт, --ref и --deblock , в зависимости от исходника. Можете начать с них, пока будете вникать.
Эти настройки выставил последовательно, начиная с первой вкладки, выбрав для MKV пресет x264 Q18 Insane . Фактически это умолчания разработчиков в пресете. Полная строка настроек выглядит так :
Цитата:
Encoding settings : cabac=1 / ref=15 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=2 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=10 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc=2pass / mbtree=0 / bitrate=2940 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=2:1.00
Проанализируйте её по мануалу с ключами кодирования. В настройках х264, как и в кодировании видео в целом, действует тот же принцип - улучшая одно, автоматом что-то ухудшаешь...
Поэтому здесь нужен разумный компромисс. Я этот компромисс нашёл в том, что проблемы в картинке решаю с помощью фильтров, а х264 мне нужен не более чем компрессор.
Придерживайтесь, чтобы на втором проходе "x264 [info]: frame P:....... Avg QP: были в пределах 17-18 ", тогда качество картинки будет нормальным для любого исходника. Конечно есть исключения, с опытом поймёте в чём...
4. Настройка скрипта обработки
XviD4PSP 5 сам формирует скрипт, по мере выставления настроек в соответствующих окнах, не надо ему мешать...
Я настраиваю скрипт в такой последовательности (при условии, что настройки выставлены как в п.1 ) :
1. Определяюсь с декодерами видео и звука, в зависимости от исходника. При необходимости, меняю их в окне Декодирование .
2. Выбираю формат кодирования (контейнер) в меню Формат . Открываю исходник.
3. Выбираю кодер звука (пресет) в меню Кодирование звука, настраиваю кодер
4. Настраиваю полностью кодирование звука в окне Настроить
5. Выставляю в окне Разрешение\ Аспект - кроп, разрешение, ресайзер
6. В окне Интерлейс\ Частота кадров выставляю параметры деинтерлейса, определяясь с ним в PictureView
На этот момент скрипт выглядит :
скрытый текст
import("C:\Program Files\XviD4PSP 5\dlls\AviSynth\functions\AudioFunctions.avs")
import("C:\Program Files\XviD4PSP 5\dlls\AviSynth\functions\VideoFunctions.avs")
loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\avss.dll")
loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\NicAudio.dll")
import("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\QTGMC.avs")
loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\mvtools2.dll")
loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\RemoveGrainSSE2.dll")
loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\RepairSSE2.dll")
loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\mt_masktools-26.dll")
loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\fft3dfilter.dll")
#loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\VerticalCleaner.dll")
loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\nnedi3.dll")
#loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\EEDI3.dll")
#loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\EEDI2.dll")
loadcplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\yadif.dll")
#loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\TDeint.dll")
#loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\AddGrainC.dll")
loadplugin("C:\Program Files\XviD4PSP 5\dlls\AviSynth\plugins\SplineResize.dll") video = DirectShowSource2("D:\Загрузки-2\6 КАДРОВ\Шесть кадров.Выпуск 116.mpg", fps=25.000, preroll=15, lavs="L3", lavd="L3")
audio = NicMPG123Source("D:\Temp XviD4PSP\0068_0.mp2")
AudioDub(video, audio) AmplifydB(6.387)
ConvertToYV12(interlaced = true)
QTGMC(Preset="Fast", Sharpness=0.7, FPSDivisor=2)
Crop(0, 74, -8, -70)
Spline144Resize(760, 432) ###[FILTERING]###
###[FILTERING]###
7. Дальше определяюсь, опять же в PictureView, с вариантом фильтрации. Подключаю в меню Фильтрация тот или иной фильтр (пресет), со звёздочки напротив меню редактирую (настраиваю) фильтр.
Если в фильтре есть вариант деинтерлейса, убираю в скрипте тот, что выставил XviD4PSP 5 (вручную).
8. Выбираю кодер видео (пресет) в меню Кодирование видео, настраиваю кодер. Запускаю кодирование.
Плюс такой последовательности в том, что конвертер сам подключает необходимые плагины, и не придётся разбираться с ошибками Ависинта. Также максимально исключается возможность появления в скрипте строк-дублей, или недостачи чего-то.
Это конечно общая схема. Например, бывают случаи, когда ресайз надо ставить после фильтрации, или делать раздельный ресайз, или вообще убрать его (убирается или переставляется вручную). Все случаи невозможно подогнать под одну схему.
5. Пакетная обработка
Перекодировал 10 файлов МР-3.
- щёлкаю Открыть, выбираю в окне папку с аудиофайлами
- выделяю в папке мышкой 10 файлов, щёлкаю Открыть
- открывается первый файл в списке
- подключаю нужный пресет звука. Если нужно изменить, открываю настройки кодера, выставляю нужные
- щёлкаю Настроить, в окне выставляю параметры нормализации и т.д.
- вместо кнопки В очередь высвечивается кнопка Продолжить, щёлкаю её, открываются остальные 9 файлов
- щёлкаю Кодировать. Все файлы кодируются с параметрами, выставленными на первый
Единственный минус - на каждый открытый файл в папке, программа забивает временный файл D2A. Чтобы потом эти файлы не удалять, можно скопировать файлы для перекодирования в отдельную папку, и потом эту папку целиком удалить.
Из кодеков в систему поставить только K-Lite Codec Pack Standard , другие плееры (например KMPlayer ) ставить только с внутренними кодеками.
|
|
Kyousuke
Стаж: 12 лет 6 месяцев Сообщений: 171
|
Kyousuke ·
29-Дек-13 15:53
(спустя 1 час 31 мин.)
busoti4444 можно узнать какое железо стоит у тебя на системе?
|
|
ZodGeneral
Стаж: 11 лет 1 месяц Сообщений: 54
|
ZodGeneral ·
29-Дек-13 21:54
(спустя 6 часов, ред. 30-Дек-13 09:27)
|
|
58743566
Стаж: 10 лет 11 месяцев Сообщений: 26
|
58743566 ·
29-Дек-13 22:44
(спустя 50 мин.)
Всем привет! Вопрос к Tempter57
Подскажите пожалуйста фильтр для удаления звона по контурам, исходник AVC x264 (Blu-ray). Или может быть более верные настройки кодирования. Спасибо!
P.S. C наступающим!
|
|
|