View Full Version : Convert HDV 1080i to DVD 480p MPEG2
ptr727
25th October 2007, 22:23
I received my wedding video in 1080i format on HDV tape, and 480i format on DVD.
The 480i looks bad, I expected 480p for the DVD format, they say that is not possible, I disagree.
Is it reasonable to convert 1080i to 480p?
What tools would one use, or stated differently, is this something that professional wedding video shop can do?
Regards
P.
2Bdecided
26th October 2007, 10:13
480i shouldn't look "bad" - half the TV you've ever seen is 480i.
The HD source will be 1080i60. 480i60 is the closest you can get to this in SD (though maybe they did a bad HD>SD conversion?). You can't put 480p60 in a DVD, but you can put 480p30 on a DVD, or 480p24.
The movement will be visibly less smooth in those versions - more like film (normally 24fps) than video (normally 60fps).
Take your pick. The conversions are quite easy. Run the HDV .mt2 file through DG index and then use a simple AVIsynth script...
mpeg2source("myfile.dv")
assumetff()
some_choice_of_bob()
lanczos4resize(704,480)
selectevery(2,0) # give 480p30
That's it. Try just bob() for the bob - if it's not good enough, try something else.
You can convert the colour space if you want, or handle it elsewhere.
Hope this helps.
Cheers,
David.
ptr727
26th October 2007, 17:05
David, thank you.
halsboss
2nd November 2007, 03:52
I know it's about PAL, but maybe some relevant info here ? http://forum.doom9.org/showthread.php?t=129933
Just a thought.
pandy
3rd November 2007, 21:04
The 480i looks bad, I expected 480p for the DVD format, they say that is not possible, I disagree.
DVD spec support only 480p30 so 480p60 is not possible, You can try do as other says - deinterlace and resize then produce 480p30 or maybe do better conversion to the 480i (i think that properly converted 1080i to the 480i should looks ok).
HD DVD should play 480p or 1080i so maybe buying a HD DVD player is proper move (as news on doom9 says HD DVD should be priced less than 100$)
ptr727
4th November 2007, 01:01
I would like to get the 1080i video I have on HDV tapes converted to my computer, but I do not have a HDV camera.
Can anybody recommend any shops or facilities near Los Angeles that will convert my 1080i HDV tapes to an external hard drive?
P.
Blue_MiSfit
5th November 2007, 07:28
Also, for the AviSynth inclined please don't use a dumb bob()!
Spend the time for at least YADIF or TDeint (preferably MCBob) to bob to 1080p60. Then resize to 480p and re-interlace to 60i. This will preserve the temporal resolution, and will look considerably better than simpler methods.
~MiSfit
communist
5th November 2007, 09:06
This will preserve the temporal resolution, and will look considerably better than simpler methods.
Temporal resolution will be preserved by simple Bob() too. How much of a difference is there between Bob() and more advanced boobers? Is it really worth that extra processing time, considering that one resizes from 1920x1080 (or 1920x540 field-wise)?
wonkey_monkey
5th November 2007, 11:01
Temporal resolution will be preserved by simple Bob() too. How much of a difference is there between Bob() and more advanced boobers? [sic] Is it really worth that extra processing time, considering that one resizes from 1920x1080 (or 1920x540 field-wise)?
If you've got a diagonal line you'll get heavy aliasing if you discard half the lines, which will affect the quality of your resize. Yadif and other advanced bobbers are able to either use a lot of information from the "wrong" field, or use a better interpolation method than a dumb bob. mcbob would be overkill, of course, but Yadif is pretty swift.
This image shows the difference between using a dumb bob (top right) or a smart bob (bottom right):
http://horman.net/bobs.png
David
PS You put "boobers" instead of "bobbers" :cool:
2Bdecided
5th November 2007, 13:54
But, to be fair, sometimes smart bobbers introduce artefacts - and sometimes they're not single line artefacts either!
More importantly, your image David shows better resolution - but how much of that will still be visible when it's been re-interlaced?
(Plus how much of it would actually be present on an HDV source which is 1080i and unlikely to be pixel sharp to start with?)
I guess I'm biased because all my camcorder stuff is handheld - it's unlikely that two fields will ever match spatially, so you need to use a really smart bobber to do something useful with it.
I know the theory suggests it should look better, and David has provided an apparently convincing still image example - but practical experience suggests it doesn't matter at all.
576p is a different matter, but even then I'm normally lazy. The difference is visible, but only to me, and I'll watch the HD version!
Cheers,
David.
Blue_MiSfit
5th November 2007, 20:21
I would suggest trying, and then make up your mind :)
I think you might be surprised with the results. After all, why not? YADIF is very fast!
It might not matter to most people, but IMO extra quality is always worth it, provided it doesn't require an inordinate amount of time.
~Misfit
zambelli
9th November 2007, 09:59
When going from 1080i to 480i, I say even just plain old Bob() is sufficient. You're going to less than 540 lines anyway AND keeping the interlacing, so it really doesn't matter all that much whether you get an extra pixel here or there.
Mpeg2Source("myfile.d2v")
Bob(height=480)
LanczosResize(704,480)
SeparateFields()
SelectEvery(4,0,3)
Weave()
If anybody has screenshots that prove that using TDeint/Yadif/MCBob instead of just plain Bob makes a significant difference - I'd love to see them.
Edit: When going from 1080i to 480p, a smart deinterlacer DOES make a difference because it does a better job of deciding how to merge field information into a single frame.
wonkey_monkey
9th November 2007, 10:47
Any static parts of the picture in a 480i stream will have the identical pixels as they would if you were making a 480p stream, so (by your own closing paragraph :) ) I still think it makes sense to use a smart deinterlacer, especially when you can use Yadif for such a small performance penalty.
Of course it's source dependent - the softer the source the less benefit you'll get from using a smart bobber.
David
PS Anyone got a link to that test video of the girl playing the harp and the guy in the nasty jacket?
2Bdecided
12th November 2007, 11:17
Any static parts of the picture in a 480i stream will have the identical pixels as they would if you were making a 480p stream, so (by your own closing paragraph :) )No, because the 480i has its own native interlaced line flicker. The 480p does not, making residual flicker (from dumb bob) visible. It's hidden (swamped) in 480i.
I still think it makes sense to use a smart deinterlacer, especially when you can use Yadif for such a small performance penalty.I guess I worry (probably unnecessarily) that I'll notice when it goes wrong...
http://forum.doom9.org/showthread.php?t=127645&page=2&highlight=mcbob+yadif
...and find that more distracting than "consistently bad" bob.
Of course it's source dependent - the softer the source the less benefit you'll get from using a smart bobber.I was encoding something from HD for Facebook (500x375 flv) which was shot on a tripod and mainly static. I got an excellent result by simply dropping alternate fields and resizing the result. The result was much more stable than bob, but equally fast. There must have been aliasing, but I don't think the final result would have looked any better had I used mcbob.
PS Anyone got a link to that test video of the girl playing the harp and the guy in the nasty jacket?Is it these?
ftp://vqeg.its.bldrdoc.gov/SDTV/VQEG_PhaseI/TestSequences/ALL_625/
I thought I grabbed them from somewhere on that ftp server (there's some great HD stuff on there) but I'm not sure now.
Cheers,
David.
wonkey_monkey
12th November 2007, 11:44
No, because the 480i has its own native interlaced line flicker. The 480p does not, making residual flicker (from dumb bob) visible.
What I meant was that you can't tell the difference between a still frame from a 480i shoot of a static scene (pre-bobbing), and the same scene shot at 480p. A smart bobber will use this to its advantage by keeping information from both interlaced fields when it creates the bobbed frame.
Those Yadif artefacts suggest that perhaps a less smart bobber would be better - there isn't a huge difference between the bobbers in this case.
I probably am being a bit picky... mind you, if you were to go 480p50/60 (which isn't the case here, because the target is DVD), you might still have residual flickering after the dumb bob. Going to 480p25/30, all your frames are built from alternate fields, so no flicker.
David
PS Thanks for the link - I'm pretty sure it's one of those, but at 178mb a pop I'm not going to go through them all just now :)
scharfis_brain
12th November 2007, 13:14
1080i50 original: http://home.arcor.de/scharfis_brain/samples/jmj-beijing5-13-original.jpg
576i50 downscaled using bob:
http://home.arcor.de/scharfis_brain/samples/jmj-beijing5-13-standard.png
576i50 downscaled using a motion adaptive bobber:
http://home.arcor.de/scharfis_brain/samples/jmj-beijing5-13-advanced.png
I think the difference should be pretty obvious.
So it is safe and fully sufficient to use at least yadif(mode=1) instead of bob():
mpeg2source("1080.d2v")
bicubicresize(704,height)
yadif(mode=1)
converttoyuy2() #comment this line if your encoder accepts yv12 natively (like HcEnc or QuEnc)
bicubicresize(width, 480) #or 576
separatefields().selectevery(4,0,3).weave()
2Bdecided
13th November 2007, 10:47
1080i50 original: http://home.arcor.de/scharfis_brain/samples/jmj-beijing5-13-original.jpg
576i50 downscaled using bob:
http://home.arcor.de/scharfis_brain/samples/jmj-beijing5-13-standard.png
576i50 downscaled using a motion adaptive bobber:
http://home.arcor.de/scharfis_brain/samples/jmj-beijing5-13-advanced.png
I think the difference should be pretty obvious.I hesitate to disagree scharfis_brain because, compared to you, I know nothing, but I wonder if you posted the correct files...
On that example, the only difference seems to be in the sharpness - and not in any special way or in just one dimension - simply sharpening the "standard" one in both dimensions makes it look identical to the "advanced" one (to my eyes!). (of course it would be correct to sharpen before re-interlacing, but even with just the single frame you provided, sharpen seems to match what you've done here).
The code you posted has no sharpening, but I wouldn't expect bob to blur horizontal detail compared to yadif, so what's happened here?
Cheers,
David.
zambelli
13th November 2007, 11:21
1080i50 original:
576i50 downscaled using bob:
576i50 downscaled using a motion adaptive bobber:
I think the difference should be pretty obvious.
But going from 1080i to 576i is actually significantly different than going from 1080i to 480i. A single 1080i field has 540 lines of information, which means that converting to 576i vs 480i is the difference between scaling up and down (in a worst case scenario where no additional information can be interpolated from the adjacent field).
If you bob 1080i to 1080p and then scale it to 480, not only are you throwing away all the lines you just interpolated, but you also throw away additional 12.5% of information from the original field. But if you convert bobbed 1080p to 576, you keep all the lines from the original field AND gain 36 additional lines of information that only existed in the interpolated frame.
zambelli
13th November 2007, 11:39
Here, I'll back that up with images too.
1080i source shot with a Canon HV20 (1440x1080) HDV camera.
1080i-->480p with Bob(height=480):
http://www.citizeninsomniac.com/images/1080i_480p_Bob.png
1080i-->480p with TDeint(mode=1):
http://www.citizeninsomniac.com/images/1080i_480p_TDeint.PNG
1080i-->480p with MCBob():
http://www.citizeninsomniac.com/images/1080i_480p_MCBob.png
Final resize was performed with BicubicResize(704,480) after full-res deinterlacing.
I see virtually no difference between the 3 images.
2Bdecided
13th November 2007, 16:31
That's fine, and I agree, but at 480p60 you can see lines/details bobbing/shimmering with bob! You can't at 480p30.
Cheers,
David.
scharfis_brain
13th November 2007, 17:16
@2Bdecided:
yeah, I see now.
These images are about 2 years old.
somehow I must have applied some sharpening back then...
but I'll remain on my opinion.
using bob results in aliasing in static areas, cause you only got 540 heavily aliased lines to scale to 480 lines:
bicubicresize(704,height).bob(height=480).assume?ff().separatefields().selectevery(4,0,3).weave()
while using a motion adaptive bobber you'll have the full 1080 lines resolution to downscale to 480. This avoids aliasing:
bicubicresize(704,height).yadif(mode=1).bicubicresize(704,480).assume?ff().separatefields().selectevery(4,0,3).weave()
the difference isn't that big, but it is there.
and the drop in speed isn't that much, if you use yadif(mode=1) instead of bob().
Blue_MiSfit
14th November 2007, 10:54
good thread guys!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.