Forum archive - Cleaning up compression artifacts in YouTube videos.

http://www.supermediastore.com/



Forum Archive Home -> Restoration -> Cleaning up compression artifacts in YouTube videos.



Cleaning up compression artifacts in YouTube videos.

majin_buu posted 2007 Nov 26 20:23
I use downloaded YouTube clips in video presentations and would like to improve the quality as much as possible. This has especially become an issue as I've started doing more advanced editing and the compression artifacts become really noticeable (huge changes in luminance from frame to frame--the big patches of posterized pixels start to look like some kind of abstract animation).

I'm able to do a lot with badly compressed .jpg images in PhotoShop, using the blur tool while zoomed in, so I'm thinking about animating mattes to roto out the artifacts in my video; but that's going to take too long to be practical.

Is there any kind of software tool that will do this for me?



Soopafresh posted 2007 Nov 26 20:33
Yes - Avisynth. There are more than Luma fluctuations. You've got a bunch of macro blocks to contend with as well.


Here are some scripts. The most important one is MVtools and using MVdegrain2 as a cleaner. Problem is, your PC isn't quite fast enough to do it without it taking a long, long time.


http://forum.doom9.org/showthread.php?t=131389

Or, try the 30 day deemon Video Enhancer, which does high quality upsizing and supports VirtualDub Plugins. You can use MSU deblocker and various other Vdub filters to clean the video as you upsize.

http://www.thedeemon.com/VideoEnhancer/



majin_buu posted 2007 Nov 26 20:57
Is there any method that requires less 1337 hacking skill?

hehe - You were one step ahead of me. I'm trying that now.



Soopafresh posted 2007 Nov 26 20:58
Yeah, see above. Deemon Video enhancer


vhelp posted 2007 Nov 26 21:19
Well, you are talking about 30 or 25 frames per second of video images (NTSC or PAL, respectively)
and depending on the length of those videos, (as you said) could take a very long time to hand
pick and apply filtering to them to do whatever you can to reduce overall artifacts and things.

Bare in mind that the majority of these videos you decide to use are prepared by amatures..
people that know very little about video and images, etc., but only know how to point a camera
at themselves or others, and dump it somehow into youtube. And how each individule does
this is plentytude in variation. Anyway.

The other alternative would be to learn those Paint program scripting language, (if they support
them) and move into that new area of art, whereby you have more control over the pixels in
programmic/logic like aproach.

There is also another alternative, (already mentioned) AVIsynth. This is a another type of
scripting (programming) language, built around video and image pixel processing together.
But that also require a learning curve, and in your case, would also require an advanced
apptitude or art in this area. This also means you have to have a really good understanding
of the in's and out's of image processing -- codec; avi container formats; color space formats;
yuv; rgb; and much more. And simply applying a blur (most anyone can do that) is not enough
if your goal is to really clean or de-artifact a video, thourghly and completely.

On the other hand, you might not have to dive so deeply into these scripting languages. I mean,
AVIsynth scripting, from an expert point of view, that is. You might be able to do a little research
into the many filter() 's already available, and manage enough pre-processing or de-artifacting
for your particular purposes.

The basic building block of utilizing AVIsynth go's something like this..

** Open Notepade.exe
** type in a few lines of code
** save this text file as filename.avs
** then, open it inside your video editor and review the video or images

notepad -> flv_video_cleanup.avs =

x = "c:\flv_video_cleanup.avs"
LoadPlugin("C:\plugins\Convolution3D.dll")
directShowSource( x )

ConvertToYUY2()
SeparateFields()
odd= SelectOdd.Convolution3D(1, 32, 128, 16, 64, 10, 0)
evn=SelectEven.Convolution3D(1, 32, 128, 16, 64, 10, 0)
Interleave(evn,odd)
weave()


Some notes about the script, above:
The directShowSource( x ) is for the FLV (flash) video format container. It is about the only
method I know of that will directly open this type of video inside avisynth.
.
The purpose of SeparateFields() is the separate the frame's: Width x 240 rows (fields) so that
the filter can make better or proper use of the underlying images. Most filters require this
function before processing the video's image detail. If left out, the video may have unexpected
results, in terms of filtered data or quality.
.
The purpose of interleave(evn,odd) is bring the video's together (I think) but that is what
the Weave() does. People use it, so I included it in the above script.
.
The above script incorporates a CONVOLUTION to the video's image. How much convolving
you need is up to use. You decide what it can or can't do for your video projects. I was just
showing an example of using a scripting language as a tool to help process your video's images
in a more AUTO like manor, without the laborous pains-taking of hand 'ing around.

About the only thing you have to worry about is know how to determine what color space
you are in (and will need to be in, for processing, pending on the filter/plugin being used) and
also, what color space to convert to, should you be required to change it !!

There are also various guides floating around that show how to clean up a video, more or less,
depending on the project's needs or requirement, or yours for that matter.

From there on, you can try the many different types of filter/plugins available in this scripting
language for AVIsynth:

--> Filter/Plugin listing: http://www.avisynth.org/warpenterprises/

-vhelp 4459



lordsmurf posted 2007 Nov 27 04:51
Not really, no. I've tried everything I could, and it always remains a low-quality VCD-like crappy sort of quality (soft blocks, soft video, etc). There are some good ones, yes, but most is not even close.


majin_buu posted 2007 Nov 27 18:15
Video Enhancer helped a lot. Seeing the improvement, it almost bothered me more seeing a fairly good video with problems than seeing a complete crap video. When I consider, though, that these clips are not going to stay at four times the YouTube resolution and won't be displayed on a high-res monitor, I think this may be enough.

Big downside: over one hour for a five minute video, and no batch processing.



Soopafresh posted 2007 Nov 27 20:07
Big downside: over one hour for a five minute video, and no batch processing.

Yup. Unless you have multicore, you'll be hurting. Batch processing is possible via command line, but only for resizing, not filtering.



zcream posted 2008 Apr 28 10:23
Just wondering if someone has compare Video Enhancer with Instant HD and/or Digital Anarchy Resizer :-)
Just wanted a more neutral comparison than the one from their website..



Soopafresh posted 2008 Apr 28 12:27
Bottom line, they all look...eh.

You can't turn a Yugo into a Ferrari



themaster1 posted 2008 Oct 26 20:02
vhelp :
notepad -> flv_video_cleanup.avs =

x = "c:\flv_video_cleanup.avs"


I need to work on flv currently and i don't understand this

Shouldn't it be something like this ?:

DirectShowSource("C:\path\myvideo.flv", fps=25)



lordsmurf posted 2008 Oct 26 21:51
Soopafresh :
Yeah, see above. Deemon Video enhancer


I've not had much need for this sort of thing to date, but I'm trying it on some 320x240 clips right now, and it's doing a quite decent job at the up-resolution. It's at least as good as some fractal methods, if not better.



pirej posted 2008 Oct 27 09:05
I've tryed Instant HD, Topaz Enhance, Deemon Enhancer.... and i think that Deemon's Enhancer isn't that good, plus the Instant HD is MUCH faster.
The Advanced version of Instant HD is beter and gives similar(maybe beter) results with Topaz Enhance but they are VERY SLOW.
For a 6.5 min clip.. with Topaz it took 2 hours and 15 min just to change the resolution x2.
And its not worth it.



2Bdecided posted 2008 Oct 28 11:55
vhelp :

The purpose of SeparateFields() is the separate the frame's: Width x 240 rows (fields) so that
the filter can make better or proper use of the underlying images. Most filters require this
function before processing the video's image detail. If left out, the video may have unexpected
results, in terms of filtered data or quality.
That's not right in this case. You only need to separate fields if you have fields to separate - i.e. if the video is interlaced. Video on YouTube is progressive.

Cheers,
David.




Login/Register to our forum to be able to post here.








VSO Software ConvertXtoDVD lets you convert any video like AVI,MKV to DVD easily. More info or download trial!
About   Advertise   Forum   Forum Archive   RSS Feeds   Statistics   Tools