Log in

View Full Version : 8mm to DVD transfered Need script help 2 improve video


bigdog660
24th November 2008, 11:20
I recently had 8mm transferred to DVD. While the results were okay, I'm trying to improve color and white balance while reducing noise, spots and dirt. I would also like to sharpen if possible.

Here is my script so far:

LoadPlugin("C:\Program Files\AutoGK\DGMPGDec\DGDecode.dll") # 1.5.0
mpeg2source("VTS_02_1.d2v")
ColorYUV(autogain=true)
ConvertToYV12(interlaced=true)
separatefields() # for analog interlaced source
turnleft()
DeSpot(p1=35, p2=14, pwidth=20, pheight=20, mthres=25, sign=0, mwidth=20, mheight=15, interlaced=true, merode=33, ranked=true, p1percent=0, dilate=0, fitluma=false, blur=0, motpn=false, seg=0, tsmooth=3)
turnright()
weave() # restore fields
FluxSmoothT ()
TFM()
TDecimate(Mode=1)

Here is the original clip: http://www.sendspace.com/file/hznbkq

and here is the clip processed using the script above: http://www.sendspace.com/file/cam4z5

The total length of the film is about 96 minutes, and of course there are different issues in different parts of the film. I really like the function "ColorYUV(autogain=true)". I really helps with the brightness/contrast. Is there such a function for color hue/saturation?

Probably the biggest problems are grain and noise (black and white spots, dirty frames. As you can see, the noise/grain is particularly bad is the section of the clip where the woman is dancing in the orange dress.

Please have a look and see how bad I messed-up. Any suggestions on how to improve the issues I mentioned above is what I looking for.

Thanks in adavance

2Bdecided
24th November 2008, 12:11
It looks like the transfer was carried out with the video camera set in auto exposure mode. This has blown out the highlights, and crushed the blacks.

They've also transferred what I assume to be silent footage at sound film speed (i.e. 16-18fps at 24fps) so everyone is moving ridiculously quickly.

I'm guessing they've also over-cropped it, so you've lost the edge of the picture - I bet the original camera work didn't lose the top of everyone's heads quite so much (if at all).

Still, I've seen worse - at least it's in focus, and the colours aren't too bad.

If it was my film, I'd have it done again, properly, by someone else! Search the forums here for 8mm film to see what other people have achieved in terms of quality.

Cheers,
David.

videoFred
24th November 2008, 16:16
I agree with this. White balance and colors are OK but highlights are blown out .....
Sharpness and detail can be a lot better, too.

Fred.

bigdog660
24th November 2008, 21:48
Thanks for the input, but I already spent over $150 for the transfer. I was hoping to get suggestions on improving what I have.

Yes it is 8mm silent.

Maybe some time long down the road I'll look into a new transfer, but as I said, I'd like to improve on what I have for now.

Thanks,
Ron

videoFred
25th November 2008, 07:44
OK Ron,

Then I would start by removing "ColorYUV(autogain=true)" and use "autolevels()" instead. Much better! Autolevels is an external filter, you will find it here with search. But please remember blown out highlights can never be recovered!

White balance and saturation looks OK to me.. I would not touch this. You could apply some extra sharpening.

As you can see, the noise/grain is particularly bad is the section of the clip where the woman is dancing in the orange dress.

This is digital noise caused by the autogain setting from the used camera for the transfer.
Rule 1 in film transfer land: never use auto settings!
I will have a look at this particular scene.


Fred.

videoFred
25th November 2008, 09:23
Please try this:

X=4

LoadPlugin("MVTools.dll")
LoadPlugIn("autolevels.dll")
LoadPlugin("DgDecode.dll")
Loadplugin("mt_masktools.dll")
LoadPlugin("MaskTools.dll")
Loadplugin("warpsharp.dll")
Loadplugin("removegrain.dll")
LoadPlugIn("LimitedSupport_09Jan06B.dll")
Import("LimitedSharpenFaster.avs")


film=Mpeg2source("F:\13__VTS_02_1.d2v").trim(2000,0)
clip=separatefields(film)

vectors= clip.MVAnalyseMulti(refframes=3, pel=2, blksize=16, overlap=8, idx=1)
denoised= clip.MVDegrainMulti(vectors, thSAD=800, SadMode=1, idx=1)
leveled=denoised.addborders(X,0,0,0,$FFFFFF).autolevels().crop(X,0,-0,-0).deblock()
sharp= leveled.limitedSharpenFaster(smode=1,strength=100,overshoot=30,radius=3).weave()
stacked=stackhorizontal(film,sharp)
stacked

X is a trick I use to avoid wrong autolevels() estimation on difficult scenes. It adds a small pure white border before autolevels(). The script removes this border after autolevels().

The dancing scene looks much better now! MVDegrainMulti() removes most of the digital noise.

Fred.

2Bdecided
25th November 2008, 10:55
Thanks for the input, but I already spent over $150 for the transfer. I was hoping to get suggestions on improving what I have.The most obvious thing is:
levels(0,1.0,255,2,235,coring=false)
to recover the "whiter than white" highlights
(there are still some highlight details above this which are permanently lost)
(a good transfer wouldn't have this problem)

On this transfer, there's been no attempt to preserve the original film frames as frames in the final video - they're just field blended at transitions, which makes the footage look more blurred than it really is. You need some kind of IVTC tool (someone will suggest one in a moment!) to find the unblended fields/frames and keep those, dropping the blended ones, giving you approx. 24 pure progressive frames per second. Then you need to slow this down to approx. 18 frames per second to get the correct motion on the clip. Use DGpulldown after encoding to get a DVD compliant stream (if that's what you want) while maintaining the 18fps motion.
(a good transfer would have done this for you already)


Maybe some time long down the road I'll look into a new transfer, but as I said, I'd like to improve on what I have for now.Watching this on a standard TV, with typical 5-10% overscan, you're probably missing at least 1/4 of the original picture.
(a good transfer wouldn't have this problem)

You say you transferred 96 minutes of footage. If I was you, I'd get a few minutes re-transferred by someone else (search this forum for suggestions) to see how much of a difference it makes.

Cheers,
David.

bigdog660
25th November 2008, 11:36
Thanks VideoFred and 2Bdecided! I'm getting pretty good results with this:

X=4

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MVTools.dll")
LoadPlugIn("C:\Program Files\AviSynth 2.5\plugins\autolevels.dll")
LoadPlugin("C:\Program Files\AutoGK\DGMPGDec\DGDecode.dll")
Loadplugin("C:\Program Files\AviSynth 2.5\plugins\mt_masktools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MaskTools.dll")
Loadplugin("C:\Program Files\AviSynth 2.5\plugins\warpsharp.dll")
Loadplugin("C:\Program Files\AviSynth 2.5\plugins\removegrain.dll")
LoadPlugIn("C:\Program Files\AviSynth 2.5\plugins\LimitedSupport_09Jan06B.dll")
Import("LimitedSharpenFaster.avs")



film=Mpeg2source("VTS_02_1.d2v")
clip=separatefields(film)

vectors= clip.MVAnalyseMulti(refframes=2, pel=2, blksize=16, overlap=8, idx=1)
denoised= clip.MVDegrainMulti(vectors, thSAD=600, SadMode=1, idx=1)
leveled=denoised.addborders(X,0,0,0,$FFFFFF).levels(0,1.0,255,2,235,coring=false).crop(X,0,-0,-0).deblock()
sharp= leveled.limitedSharpenFaster(smode=1,strength=50,overshoot=30,radius=3).weave()
stacked=stackhorizontal(film,sharp)
stacked
TFM()
TDecimate(Mode=1)

The dance scene is massively improved! I am getting 23.97fps, but I still have ghosting in some frames. Is there a way to eliminate those? Lastly I'd like to kill some of the spots/dirt/hair in the frames if possible.

http://www.etnwx.com/images/ghosting.png

http://www.etnwx.com/images/spots.png

If I can improve the ghosting and spots/dirt/hair, I think I'm going to call it good.

I have my eye on this site for when I decide to redo the film: http://photorecall.net/page3.html

videoFred
25th November 2008, 12:41
The dance scene is massively improved!

I told you! :)



I am getting 23.97fps, but I still have ghosting in some frames. Is there a way to eliminate those?

I can not help you with this... Perhaps someone else will jump in here?


Lastly I'd like to kill some of the spots/dirt/hair in the frames if possible.

Please try removedirt() instead of MVDegrainMulti()
http://forum.doom9.org/showthread.php?t=70856&highlight=removedirt

Please read everything careful.. RemoveDirt() is a function.. Its all explained in the thread.

Fred.

2Bdecided
25th November 2008, 14:06
you need to look for transfer houses using these units...
http://www.moviestuff.tv/transfers.html
...or something similar.

You need frame-by-frame accurate transfers that scan to the edge of the original film frame. (Manual exposure control goes without saying.)

Cheers,
David.

videoFred
25th November 2008, 15:13
You need frame-by-frame accurate transfers that scan to the edge of the original film frame. (Manual exposure control goes without saying.)

Yep, that's how I do it too with my machine camera units. And a wetgate scan removes nearly all hairs, dirt and scratches!

Fred.

2Bdecided
25th November 2008, 18:09
How much would you charge videoFred? If you were doing it as a business, or if a friend asked you to do a few reels for them?

Cheers,
David.

videoFred
26th November 2008, 07:17
If you were doing it as a business,

Hello David,

No business, it's a pure free time project.


or if a friend asked you to do a few reels for them?

Yes, sometimes I do this. The best method is to copy the original uncompressed files to a portable HD.

Fred.