In Avisynth+? When i use Sharpen, it makes the picture look better and a bit more detailed, but the side effect is it highlights all compression artifacts, macroblocks and mosquito noise, ect. Is there any script that just focuses on sharpening the image and not all the other junk?
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 30 of 34
Thread
-
-
Re: Is there a way to sharpen video without sharpening the artifacts?
Not Really.
Other sharpening algorithms (there are plenty to choose from) may achieve better results on your source however.
An Edge sharpening method for instance would only attempt to sharpen detected edges. -
I think i've found one that does the job. ASharp
Adaptive thresholding to avoid noise enhancement.
Block adaptive sharpening to avoid DCT block edges enhancement.
Block based adaptive thresholding to avoid DCT block edges enhancement. -
-
Can't get it to work. It says "MP_Pipeline: Can't find any splitter"
Code:SetFilterMTMode("DEFAULT_MT_MODE", 2) SetFilterMTMode("QTGMC", 2) MPEG2Source("F:\A Video Files\DVD Rips\VTS_01_1.d2v", CPU2="ooooxx", Info=3) AssumeTFF() AssumeFPS(25) QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, Lossless=2, TR2=2, EdiThreads=2, border=true) Spline64Resize(960,720) Crop(0,0,-6,0) AddBorders(0,0,6,0) LoadPlugin("C:\Program Files\AviSynth+\plugins64+\MP_Pipeline.dll") SetMemoryMax(1) MP_Pipeline(""" ### platform: win32 LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\asharp.dll") """) Prefetch(5)
-
You need to specify win64 and win32 sections , each divided up by ### ###
Because you're using CPU2= for mpeg2source, this requires the x86 version
The entire script that passes through win32/win64 sections has to be enclosed within MP_Pipeline
It would look like this
Code:MP_Pipeline(""" ### platform: win32 MPEG2Source("F:\A Video Files\DVD Rips\VTS_01_1.d2v", CPU2="ooooxx", Info=3) ### ### ### platform: win64 AssumeTFF() AssumeFPS(25) QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, Lossless=2, TR2=2, EdiThreads=2, border=true) Spline64Resize(960,720) Crop(0,0,-6,0) AddBorders(0,0,6,0) ### ### ### platform: win32 LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\asharp.dll") asharp() ### ### """)
-
There are many ways to sharpen a video without sharpening "artifacts". What you do depends on the type and severity of artifacts. In some cases you can reduce the artifacts before sharpening (DCT ringing and blocking, grain, etc.). In others you can limit sharpening only to certain types of features using Overlay() and a mask. You need to provide a sample.
-
Thanks alot it's loading fine now. Though after having used it, it's highlighting the noise too much, noise that didn't look too noticeable before sharpening.
Yes this sounds like the best way to do it. Reduce the artifacts before applying Sharpen. But maybe a subtle less is more approach to improve the source without over-doing it.
I want to try using EzNoise with QTGMC, but i'm getting another script error "There is no function named 'sneo_FFT3D" -
You need neoFFT3D and Zs_RF_Shared.avsi
https://forum.doom9.org/showthread.php?t=181294
https://forum.doom9.org/showthread.php?t=174121 -
Thanks poison. Still i'm not pleased with the result from EzDenoise, as Sharpening still highlights all the noise. However think i've finally found a sharpener that sharpens without sharpening all the noise aswell,
UnsharpMask(strength=32, radius=3, threshold=8)
Though i dialed down the strength a bit.
One more issue with the video i'm having is relating to the trims. There's a small segment in which a CGI source shimmers, and i apply TFM to it, but the trims just don't add up. I search through the video and make a note of where i want the trims.. add them then when i return(vid2) it goes to somewhere else in the video, like 4 minutes after from where i want it applied. And the shimmer remains as it hasn't been applied to the correct frames.
Code:SetFilterMTMode("DEFAULT_MT_MODE", 2) SetFilterMTMode("QTGMC", 2) MPEG2Source("F:\A Video Files\DVD Rips\VTS_01_1.d2v", CPU2="ooooxx", Info=3) AssumeTFF() AssumeFPS(25) vid1 = trim(0,12310).AssumeTFF().AssumeFPS(25).QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, Lossless=2, TR2=2, EdiThreads=2, border=true).Crop(0,0,-6,-4).UnsharpMask(strength=32, radius=3, threshold=8).Spline64Resize(960,720) vid2 = trim(12311,12577).AssumeTFF().AssumeFPS(25).TFM(pp=0).ChangeFPS(50).Crop(0,0,-6,-4).UnsharpMask(strength=32, radius=3, threshold=8).Spline64Resize(960,720) vid3 = trim(12147,32820).AssumeTFF().AssumeFPS(25).QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, Lossless=2, TR2=2, EdiThreads=2, border=true).Crop(0,0,-6,-4).UnsharpMask(strength=32, radius=3, threshold=8).Spline64Resize(960,720) vid1 ++ vid2 ++ vid3 Prefetch(5)
-
-
Thanks, after much trial and error i got there in the end.
I've also since applied MosquitoNR and that seems to have helped a bit with the MPEG noise. But FFMpeg refuses to render with it in the line. Only when i remove it, it then renders fine. -
64bit vs 32bit? Multithreading issue?
Lots of others: http://avisynth.nl/index.php/External_filters#Deringing_.26_Mosquito_Noise -
-
The index for mpeg2source is only for video. Use an audio source filter with AudioDub(video, audio) . There are examples in the documentation
You can use other audio source filters such as FFAudioSource, or LWLibavAudioSource as well
If you are editing sections (e.g. cutting segments out, extending segments, etc..), you need to apply trims to audio as well, otherwise you will go out of sync -
What type of audio ? AAC ? Stereo ? 360kbps is a lot for stereo AAC
You can delay audio in the script too
http://avisynth.nl/index.php/DelayAudio
When you use DGIndex, usually the delay value is written into the name of the demuxed audio
You can preview the script for sync in mpchc, just comment out the slow filters temporarily -
It is MP2 audio, from recordable DVDs.
Thanks, didn't know there was a script that could do that. Will come in useful.
Whilst everything is working fine normally, when i render with MP_Pipeline on, i'm getting no audio. And applying the trims to audio and video didn't help. I only need to apply the trims once as always, when not using MP_Pipeline.
MP_Pipeline("""
### platform: win64
SetFilterMTMode("DEFAULT_MT_MODE", 2)
SetFilterMTMode("QTGMC", 2)
video = MPEG2Source("F:\A Video Files\DVD Rips\VTS_01_2.d2v", CPU2="ooooxx", Info=3)
audio = FFAudioSource("F:\A Video Files\DVD Rips\VTS_01_2 Tc0 L2 2ch 48 384 DELAY -192ms.mp2")
AudioDub(video, audio)
DelayAudio(-0.192)
### ###
### platform: win32
LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\MosquitoNR.dll")
MosquitoNR()
### ###
### platform: win64
AssumeTFF()
AssumeFPS(25)
QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, Lossless=2, TR2=2, EdiThreads=2, border=true)
Crop(0,0,-6,-4)
UnsharpMask(strength=32, radius=3, threshold=8)
Spline64Resize(960,720)
Trim(15498,34887)
Prefetch(5)
### ###
""") -
Audio was not supported in the original mp_pipeline, it probably still isn't in the newer version
Bring the audio and audiodub outside of mp_pipeline
something like this
Code:MP_Pipeline(""" . . . """) vid = last aud = FFAudioSource("F:\A Video Files\DVD Rips\VTS_01_2 Tc0 L2 2ch 48 384 DELAY -192ms.mp2") AudioDub(video, audio) DelayAudio(-0.192)
-
MP_Pipleline: Unable to create slave process. Message: Script error: Script error: Invalid arguements to function 'MPP_PrepareDownstreamClip'.
-
Code:
MP_Pipeline(""" ### platform: win64 SetFilterMTMode("DEFAULT_MT_MODE", 2) SetFilterMTMode("QTGMC", 2) MPEG2Source("F:\A Video Files\DVD Rips\VTS_01_2.d2v", CPU2="ooooxx", Info=3) ### ### ### platform: win32 LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\MosquitoNR.dll") MosquitoNR() ### ### ### platform: win64 AssumeTFF() AssumeFPS(25) QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, Lossless=2, TR2=2, EdiThreads=2, border=true) Crop(0,0,-6,-4) UnsharpMask(strength=32, radius=3, threshold=8) Spline64Resize(960,720) Trim(15498,34887) Prefetch(5) ### ### """) vid = last aud = FFAudioSource("F:\A Video Files\DVD Rips\VTS_01_2 Tc0 L2 2ch 48 384 DELAY -192ms.mp2") AudioDub(vid, aud) DelayAudio(-0.192)
I don't know if that's ideal for multithreading. mp_pipeline has it's own branch threading and chunking. It takes a bit of testing to get the ideal values. -
Note that the 64 bit version of Mpeg2Source() doesn't implement the DCT deblocking and deringing filters. Try switching to the 32 bit version and you may not need MosquitoNR().
-
Ohright i didn't realise. I can't preview it right now due to the error blocking it.
[Attachment 54710 - Click to enlarge]
Also it wasn't mosquito noise perse i was trying to eliminate, but dot crawl, since i didn't know what they were exactly, till i Googled.Last edited by Master Tape; 1st Sep 2020 at 17:17.
-
Set the MPEG2Source() section to 32bit to use the 32bit version
### platform: win32 -
DCT deblocking won't help with dot crawl artifacts. Here's how you can use it with mp_pipeline though:
Code:MP_Pipeline(""" ### platform: win32 Mpeg2Source("filename.d2v", CPU2="ooooxx", Info=3) ### ### """) # 64 bit stuff
-
Solved the problem. I had to remove the "video =" reference next to MPEG2Source
-
How do you apply trims within MP_Pipeline? Seems like you have to do it a different way as just getting errors when i return(vid1) (vid2) ect. And with AudioDub() being outisde of it, makes things more confusing.
Similar Threads
-
Best software for sharpening blurry video?
By CM120884 in forum EditingReplies: 15Last Post: 20th Feb 2024, 07:56 -
Sharpening interlaced video
By smartel in forum Newbie / General discussionsReplies: 15Last Post: 14th Feb 2021, 10:05 -
Video resizing upward and Sharpening, which order?
By TCmullet in forum RestorationReplies: 4Last Post: 8th Jun 2020, 20:30 -
Does turning off sharpening blur the source video?
By Hypersonic1 in forum CapturingReplies: 6Last Post: 3rd Dec 2017, 18:37 -
Sharpening/improving a video file pulled from youtube?
By Bruce/Fl in forum RestorationReplies: 15Last Post: 1st Dec 2016, 06:23