VideoHelp Forum
+ Reply to Thread
Results 1 to 12 of 12
Thread
  1. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    I have a code to convert progressive 25fps Full HD video output to DVD. Could you help adding codes for my recent project, that involves interlaced 50i Full HD to DVD conversion? As I learnt from you before, I need to deinterlace before resizing, so is this code enough? The video type is the same like before, recordings from my camcorder, just interlaced this time.

    Code:
    AviSource("video.avi")
    AssumeFPS(50)
    QTGMC( Preset="Slow" )
    Spline16Resize(720,576)
    ColorMatrix(mode="rec.709->rec.601") 
    ConvertToYV12()
    Quote Quote  
  2. DVD doesn't support 50p so you have to re-interlace:

    Code:
    AssumeTFF().SeparateFields().SelectEvery(4,0,3).Weave()
    Or, if you don't need smooth motion you can decimate:

    Code:
    SelectEven()
    Unless your video is already blurry you'll want to blur it vertically a bit to reduce flickering during playback:

    Code:
    Blur(0.0, 0.5) # maybe more
    AssumeTFF().SeparateFields().SelectEvery(4,0,3).Weave()
    You can probably get away with a faster preset for QTGMC() since you're reducing the frame size afterward.
    Quote Quote  
  3. Why the AssumeFPS(50) when it's 25fps? Do you really want it to play at twice its real speed? Or am I missing something? And after QTGMC, do you really want it to be 100fps? No good for a DVD.

    If I'm correct, this is a good reason not to call 25i as 50i. It confuses people. It's not 50 frames per second. It's 50 fields per second.

    And you don't need QTGMC at all. You can use any fast bobber, one that keeps one of the original fields unchanged.
    Quote Quote  
  4. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Originally Posted by jagabo View Post
    DVD doesn't support 50p so you have to re-interlace:

    ....

    You can probably get away with a faster preset for QTGMC() since you're reducing the frame size afterward.
    Thank you! And at the beginning, I also need to replace AssumeFPS to AssumeTFF, right?
    Quote Quote  
  5. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Originally Posted by manono View Post
    Why the AssumeFPS(50) when it's 25fps? Do you really want it to play at twice its real speed? Or am I missing something? And after QTGMC, do you really want it to be 100fps? No good for a DVD.

    I thought this is the way to specify 50i.
    Quote Quote  
  6. Originally Posted by Bencuri View Post
    Originally Posted by manono View Post
    Why the AssumeFPS(50) when it's 25fps? Do you really want it to play at twice its real speed? Or am I missing something? And after QTGMC, do you really want it to be 100fps? No good for a DVD.
    I thought this is the way to specify 50i.
    No. With a 50p source you want to pull one field from one frame, another field from the next frame, and weave them together. Hence the SeparateFields().SelectEvery(4,0,3).Weave(). (I missed that you already had a 50p source.)
    Quote Quote  
  7. Originally Posted by jagabo View Post
    (I missed that you already had a 50p source.)
    Either I'm confused or you are. He doesn't have a 50p source. He has what he calls a full HD 50i source. I take that to mean interlaced 25fps.

    If so, he bobs, resizes, reinterlaces.
    Quote Quote  
  8. Why don't people just post a short sample of the source?
    Quote Quote  
  9. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Originally Posted by manono View Post
    Originally Posted by jagabo View Post
    (I missed that you already had a 50p source.)
    Either I'm confused or you are. He doesn't have a 50p source. He has what he calls a full HD 50i source. I take that to mean interlaced 25fps.

    If so, he bobs, resizes, reinterlaces.
    Yes, the source is interlaced 25fps according to your definition (50i by the other name). This is just a general code, I have another camcorder that I would use sometimes as well to record, that's why I did not post a sample. I don't have any specific quality request here, just need a basic resizing code for interlaced source, that I could use as a starting point for both of my camcorders, later I could refine though. And the code has to be avisource, because this is how my editor outputs the video, in avi.

    So what do I place before the line QTGMC ()? Do I need to put an AssumeTFF () before it as well? Or it will just confuse the deinterlacer? I am asking because I read that Avisynth opens interlaced source assuming it is BFF by default, however in examples from the Avisynth Wiki regarding QTGMC () deinterlacing I don't see this defined.
    Quote Quote  
  10. 25i source to downscaled 25i:

    Code:
    AviSource("video.avi") # 25i
    AssumeTFF() # or BFF whichever is appropriate
    QTGMC( Preset="Slow" ) # to 50p
    Spline16Resize(720,576)
    Blur(0.0, 0.5) # to reduce flicker, maybe as much as 1.0
    AssumeTFF().SeparateFields().SelectEvery(4,0,3).Weave() # 50p to 25i
    ColorMatrix(mode="rec.709->rec.601") 
    ConvertToYV12(interlaced=true)
    Quote Quote  
  11. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Originally Posted by jagabo View Post
    25i source to downscaled 25i:

    Code:
    AviSource("video.avi") # 25i
    AssumeTFF() # or BFF whichever is appropriate
    QTGMC( Preset="Slow" ) # to 50p
    Spline16Resize(720,576)
    Blur(0.0, 0.5) # to reduce flicker, maybe as much as 1.0
    AssumeTFF().SeparateFields().SelectEvery(4,0,3).Weave() # 50p to 25i
    ColorMatrix(mode="rec.709->rec.601") 
    ConvertToYV12(interlaced=true)
    Thank you! This is what I wanted. Just one last question: can this script be run with MT mode 2 in case I want to use AviSynth MT, or, some lines won't run on that mode and will need to adjust here and there? Where can I check this, by the way, that what filters need which MT mode?
    Quote Quote  
  12. Originally Posted by Bencuri View Post
    Originally Posted by jagabo View Post
    25i source to downscaled 25i:

    Code:
    AviSource("video.avi") # 25i
    AssumeTFF() # or BFF whichever is appropriate
    QTGMC( Preset="Slow" ) # to 50p
    Spline16Resize(720,576)
    Blur(0.0, 0.5) # to reduce flicker, maybe as much as 1.0
    AssumeTFF().SeparateFields().SelectEvery(4,0,3).Weave() # 50p to 25i
    ColorMatrix(mode="rec.709->rec.601") 
    ConvertToYV12(interlaced=true)
    can this script be run with MT mode 2 in case I want to use AviSynth MT
    I'm pretty sure it will if your filters are fairly recent.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!