VideoHelp Forum




+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 31
  1. Member
    Join Date
    Nov 2012
    Location
    Rangpur, Bangladesh
    Search Comp PM
    Hello every-one,

    I need help to convert some of my 1080p AVC video to 1080i adding comb effect.

    Software like MeGUI or AviDeMux doesn't do that for me, they just Interlace without comb effect.
    Perhaps they do it, but I don't know how..

    Please, please... don't tell me video shouldn't have combing.

    So I'm hoping some-one will help me with 1080p to 1080i encoding adding comb effect.


    Thanks...
    Quote Quote  
  2. 1080p at what frame rate?
    Quote Quote  
  3. Member
    Join Date
    Nov 2012
    Location
    Rangpur, Bangladesh
    Search Comp PM
    Originally Posted by jagabo View Post
    1080p at what frame rate?
    at 25fps
    Quote Quote  
  4. Originally Posted by samaxI92 View Post
    Originally Posted by jagabo View Post
    1080p at what frame rate?
    at 25fps

    That's not enough to convert it to true interlaced; you need 50fps

    Or were you more interested in creating a "fake" combing effect (as a visual effect) , not converting it to truely interlaced ?
    Quote Quote  
  5. Originally Posted by samaxI92 View Post
    Originally Posted by jagabo View Post
    1080p at what frame rate?
    at 25fps
    To make a true 1080i video (50 different fields per second) you would need a 50p source. You can create a video with interlaced frames (ie. with comb artifacts) by packing fields from adjacent frames together but there will still only be 25 unique pictures per second (motion will not be any smoother). That can be done in AviSynth with:

    Code:
    WhateverSource("filename.ext") # a 25p source
    SeparateFields() # convert to 50 fields per second
    Trim(1,0) # throw away the first field
    Weave() # weave fields back together, now "out of phase"
    Quote Quote  
  6. Originally Posted by jagabo View Post
    You can create a video with interlaced frames (ie. with comb artifacts) by packing fields from adjacent frames together but there will still only be 25 unique pictures per second
    Right, and it's still a lame idea. You need a much higher bitrate for the same quality as progressive (or, put another way, you'll get much lower quality for the same file size), and you're dependent on the player's or TV's deinterlacer which may or may not be any good. As an experiment, maybe; as something thought to be necessary for some misguided reason, definitely not.
    Last edited by manono; 18th Nov 2012 at 14:31.
    Quote Quote  
  7. Member
    Join Date
    Nov 2012
    Location
    Rangpur, Bangladesh
    Search Comp PM
    Thanks guys for answering.. me,,

    I like interlaced videos because.. they usually are more detailed than progressive(Though too much comb effect bothers me..) I see.

    Of course you noticed, it becomes less detailed when you deinterlace an interlaced source.

    What I'm trying to do is(Two things actually):-

    1st one: Encode from the source- 1080i, MPEG 2, 4:2:2@High, 25fps, TTF
    To
    1080i, AVC 4.0@high, 25fps, TTF

    2nd one: Encode from the source- 1080p, MPEG 2, 4:2:2@High, 25fps
    To
    1080i, AVC 4.0@high, 25fps, TTF

    See if you could help me...

    Thanks everyone..
    Quote Quote  
  8. Originally Posted by samaxI92 View Post
    I like interlaced videos because.. they usually are more detailed than progressive(Though too much comb effect bothers me..) I see.
    Maybe there is a language or communication issue?

    For the same generation of video, progressive will have 2x the resolution as interlaced, and thus more detail. (interlaced video contains 1/2 the spatial resolution as progressive)

    Or were you talking about the "smoothness" of the video ? Temporal resolution ?


    There are other factors like compression, bitrate, source quality that affect the visible detail as well (you might be comparing videos with different characteristics and making the wrong conclusions based on whether it was interlaced or progressive)
    Quote Quote  
  9. Originally Posted by samaxI92 View Post
    Of course you noticed, it becomes less detailed when you deinterlace an interlaced source.
    I suppose that's true to a degree, but I suspect you are using an inferior deinterlacer. It certainly doesn't follow that you gain detail by interlacing a progressive source. As I suspected, your whole premise is completely wrong but maybe make the experiment so you can prove it to yourself
    Quote Quote  
  10. Member
    Join Date
    Nov 2012
    Location
    Rangpur, Bangladesh
    Search Comp PM
    [QUOTE=manono;2200537]
    Originally Posted by samaxI92 View Post
    I suppose that's true to a degree, but I suspect you are using an inferior deinterlacer. It certainly doesn't follow that you gain detail by interlacing a progressive source.
    I wanna add so less comb effect that edges should look a little better. Its like you adding grain to artificially enhancing quality.
    Thats it .
    Quote Quote  
  11. I wanna add so less comb effect that edges should look a little better.
    I'm confused at what you are asking. Can you describe what you mean by "comb" effect. It has an exact connotation in the video world

    Look at the 3rd picture in this post .
    http://100fps.com/

    Edge enhancement is usually done with sharpening filters, not creating interlace
    Quote Quote  
  12. Member
    Join Date
    Nov 2012
    Location
    Rangpur, Bangladesh
    Search Comp PM
    [QUOTE=poisondeathray;2200548]
    Can you describe what you mean by "comb" effect. It has an exact connotation in the video world

    Look at the 3rd picture in this post .
    http://100fps.com/

    Edge enhancement is usually done with sharpening filters, not creating interlace
    "Comb artifact" is spike effect on the edges OR horizontal lines we see when scene changes fast due to Interlace scanning.

    Oh sharpening would screw other things but edges if I can't use it perfectly..!!
    Quote Quote  
  13. That is the most misguided and ill conceived request I've ever seen here. Why would you want to take a perfectly fine progressive image like this:

    Click image for larger version

Name:	prog.jpg
Views:	1830
Size:	44.3 KB
ID:	14771

    and turn it into an interlaced mess like this (one field shifted left by 2 pixels):

    Click image for larger version

Name:	inter.jpg
Views:	1871
Size:	49.7 KB
ID:	14772

    Click on the images a few times to see them full size.
    Last edited by jagabo; 18th Nov 2012 at 21:01.
    Quote Quote  
  14. Member
    Join Date
    Nov 2012
    Location
    Rangpur, Bangladesh
    Search Comp PM
    Originally Posted by jagabo View Post
    That is the most misguided and ill conceived request I've ever seen here. Why would you want to take a perfectly fine progressive image like this:

    Image
    [Attachment 14771 - Click to enlarge]


    and turn it into an interlaced mess like this (one field shifted left by 2 pixels):

    Image
    [Attachment 14772 - Click to enlarge]


    Click on the images a few times to see them full size.
    Wow.. how did you do it?I mean,, was it piece of cake. I wanna learn.

    Right.. now see this:

    Click image for larger version

Name:	Interlaced.png
Views:	371
Size:	2.17 MB
ID:	14779
    Interlaced

    Click image for larger version

Name:	DeInterlaced-Yadif.png
Views:	367
Size:	2.12 MB
ID:	14777
    De-Interlaced _Yadif

    Click image for larger version

Name:	DeInterlaced-Bob.png
Views:	341
Size:	2.13 MB
ID:	14778
    De-Interlaced _Bob

    Hmm.. now see what you choice is. Mine is Interlaced. Beside.. it looks bad when you pause video or have much combing like your 2nd picture.

    Ok.. sir,, I've sources like this(Unlike yours) :
    Click image for larger version

Name:	Progressive.png
Views:	310
Size:	906.2 KB
ID:	14780
    Last edited by samaxI92; 19th Nov 2012 at 00:44.
    Quote Quote  
  15. I don't know what you think your images are showing. As was mentioned before: the fact that deinterlacing can't perfectly restore a progressive image doesn't mean that interlacing progressive material increases the detail. It doesn't. It just messes up the picture. Nobody in their right mind would do it. Here's what I did to shift one field to the left by two pixels:

    Code:
    SeparateFields()
    evn=SelectEven().Crop(0,0,-2,0).AddBorders(2,0,0,0)
    odd=SelectOdd()
    Interleave(evn,odd)
    Weave()
    But I view this a something like teaching you to smash your thumb with a hammer.
    Quote Quote  
  16. Member
    Join Date
    Nov 2012
    Location
    Rangpur, Bangladesh
    Search Comp PM
    Originally Posted by jagabo View Post
    Here's what I did to shift one field to the left by two pixels:

    Code:
    SeparateFields()
    evn=SelectEven().Crop(0,0,-2,0).AddBorders(2,0,0,0)
    odd=SelectOdd()
    Interleave(evn,odd)
    Weave()
    But I view this a something like teaching you to smash your thumb with a hammer.

    O no.. this is no interlacing(I think you know it very well).
    Interlacing is the process of showing(scanning) "odd fields" first and then the "even fields" of entire image; not displacing fields!!!! Its really like you teaching me smashing my thumb with a hammer.

    Actually now I realize that I shouldn't ask for combing..
    I only need to interlace, real interlace(Not fake interlacing like MeGui's option for h264 encoding).
    The horizontal lines should be seen at changes of scene due to Interlace scanning and
    its not an effect.
    Quote Quote  
  17. You can't get true 25 fps interlaced video from a 25 fps progressive source. You're not going to improve the image quality of a 25p source with any kind of interlacing.

    You could use motion interpolation techniques to generate in-between frames to generate a 50p video. But that would only smooth motion. It will not otherwise increase the picture quality.
    Quote Quote  
  18. Member
    Join Date
    Nov 2012
    Location
    Rangpur, Bangladesh
    Search Comp PM
    Originally Posted by jagabo View Post
    You could use motion interpolation techniques to generate in-between frames to generate a 50p video.
    But that would only smooth motion.
    Thank you so..... much sir for your time and
    also for coming this far.

    Now.. my last request to you is that you give me a short guide to:
    -------------------------------------------------------------------------------------------------------------------------------------------------------------
    1. 1080p, 25fps, h264---> 1080p, 50fps, h264 { I'm not familiar with "Motion Interpolation" technique, I think 25fps to 50fps
    can be done this way without re-encoding, right.. }

    2. 1080p, 50fps, h264---> 1080i, _ _(you tell me whatever fps is required here to make its motion smoother), h264
    --------------------------------------------------------------------------------------------------------------------------------------------------------------

    If you can give me both ffmpeg and AviSynth script ..will be good for me.

    I appreciate your time.
    Quote Quote  
  19. Originally Posted by samaxI92 View Post
    1. 1080p, 25fps, h264---> 1080p, 50fps, h264 { I'm not familiar with "Motion Interpolation" technique, I think 25fps to 50fps
    can be done this way without re-encoding, right.. }
    No. New frames have to be generated and inserted into the video. So it has to be reencoded.

    Originally Posted by samaxI92 View Post
    2. 1080p, 50fps, h264---> 1080i, _ _(you tell me whatever fps is required here to make its motion smoother), h264
    You need to get mv_tools for AviSynth then use a script like:

    #discussion: http://forums.guru3d.com/showthread.php?t=288017
    #Import("C:\Program Files\AviSynth 2.5\plugins\DoubleFPS2.avs")

    Code:
    function DoubleFPS(clip source)
    {
    super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
    backward_1 = MAnalyse(super, chroma=false, isb=true, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    forward_1 = MAnalyse(super, chroma=false, isb=false, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, searchparam=1, search=3)
    forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, searchparam=1, search=3)
    backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, searchparam=0, search=3)
    forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, searchparam=0, search=3)
    MBlockFps(source, super, backward_3, forward_3, num=2*FramerateNumerator(source), den=FramerateDenominator(source), mode=0)
    }
    
    WhateverSource()
    DoubleFPS()
    That will give you 50p from a 25p source. For 50i:

    Code:
    function DoubleFPS(clip source)
    {
    super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
    backward_1 = MAnalyse(super, chroma=false, isb=true, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    forward_1 = MAnalyse(super, chroma=false, isb=false, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, searchparam=1, search=3)
    forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, searchparam=1, search=3)
    backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, searchparam=0, search=3)
    forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, searchparam=0, search=3)
    MBlockFps(source, super, backward_3, forward_3, num=2*FramerateNumerator(source), den=FramerateDenominator(source), mode=0)
    }
    
    WhateverSource()
    DoubleFPS()
    AssumeTFF()
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    Motion interpolation tools work well on some material. But on some material it generates bad artifacts. A bad case example can be seen in this post:

    https://forum.videohelp.com/threads/339017-Motion-Interpolation-%28VidFIRE%29-Software?...=1#post2107214

    And once again, this will not make your video sharper. It will only smooth motion:

    https://forum.videohelp.com/threads/350302-Why-are-25-30p-videos-vibrating-on-all-my-pl...=1#post2196361
    Quote Quote  
  20. Member
    Join Date
    Nov 2012
    Location
    Rangpur, Bangladesh
    Search Comp PM
    Thanks jagabo
    Quote Quote  
  21. Originally Posted by jagabo View Post
    Originally Posted by samaxI92 View Post
    1. 1080p, 25fps, h264---> 1080p, 50fps, h264 { I'm not familiar with "Motion Interpolation" technique, I think 25fps to 50fps
    can be done this way without re-encoding, right.. }
    No. New frames have to be generated and inserted into the video. So it has to be reencoded.

    Originally Posted by samaxI92 View Post
    2. 1080p, 50fps, h264---> 1080i, _ _(you tell me whatever fps is required here to make its motion smoother), h264
    You need to get mv_tools for AviSynth then use a script like:

    #discussion: http://forums.guru3d.com/showthread.php?t=288017
    #Import("C:\Program Files\AviSynth 2.5\plugins\DoubleFPS2.avs")

    Code:
    function DoubleFPS(clip source)
    {
    super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
    backward_1 = MAnalyse(super, chroma=false, isb=true, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    forward_1 = MAnalyse(super, chroma=false, isb=false, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, searchparam=1, search=3)
    forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, searchparam=1, search=3)
    backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, searchparam=0, search=3)
    forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, searchparam=0, search=3)
    MBlockFps(source, super, backward_3, forward_3, num=2*FramerateNumerator(source), den=FramerateDenominator(source), mode=0)
    }
    
    WhateverSource()
    DoubleFPS()
    That will give you 50p from a 25p source. For 50i:

    Code:
    function DoubleFPS(clip source)
    {
    super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
    backward_1 = MAnalyse(super, chroma=false, isb=true, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    forward_1 = MAnalyse(super, chroma=false, isb=false, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, searchparam=1, search=3)
    forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, searchparam=1, search=3)
    backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, searchparam=0, search=3)
    forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, searchparam=0, search=3)
    MBlockFps(source, super, backward_3, forward_3, num=2*FramerateNumerator(source), den=FramerateDenominator(source), mode=0)
    }
    
    WhateverSource()
    DoubleFPS()
    AssumeTFF()
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    Motion interpolation tools work well on some material. But on some material it generates bad artifacts. A bad case example can be seen in this post:

    https://forum.videohelp.com/threads/339017-Motion-Interpolation-%28VidFIRE%29-Software?...=1#post2107214

    And once again, this will not make your video sharper. It will only smooth motion:

    https://forum.videohelp.com/threads/350302-Why-are-25-30p-videos-vibrating-on-all-my-pl...=1#post2196361
    how to use this i have video 1080p25 i like to convert 1080p50 or 1080i50
    Quote Quote  
  22. Originally Posted by avid View Post
    how to use this i have video 1080p25 i like to convert 1080p50 or 1080i50
    Just install AviSynth and run your source through the scripts.

    http://avisynth.nl/index.php/Main_Page

    You'll need to collect the necessary filters -- MvTools and whatever source filter you might need to read your source.

    http://avisynth.org.ru/mvtools/mvtools.html
    https://ffmpegsource.googlecode.com/svn/trunk/doc/ffms2-avisynth.html
    Quote Quote  
  23. Originally Posted by jagabo View Post
    Originally Posted by avid View Post
    how to use this i have video 1080p25 i like to convert 1080p50 or 1080i50
    Just install AviSynth and run your source through the scripts.

    http://avisynth.nl/index.php/Main_Page

    You'll need to collect the necessary filters -- MvTools and whatever source filter you might need to read your source.

    http://avisynth.org.ru/mvtools/mvtools.html
    https://ffmpegsource.googlecode.com/svn/trunk/doc/ffms2-avisynth.html
    i have instal avisynth and plugin i need help with the script how to setup source video etc...
    function DoubleFPS(clip source)
    {
    super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
    backward_1 = MAnalyse(super, chroma=false, isb=true, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    forward_1 = MAnalyse(super, chroma=false, isb=false, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, searchparam=1, search=3)
    forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, searchparam=1, search=3)
    backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, searchparam=0, search=3)
    forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, searchparam=0, search=3)
    MBlockFps(source, super, backward_3, forward_3, num=2*FramerateNumerator(source), den=FramerateDenominator(source), mode=0)
    }

    WhateverSource()
    DoubleFPS()
    AssumeTFF()
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    Quote Quote  
  24. Replace WhateverSource() with DirectShowSource("filename.ext") or ffVideoSource("filename.ext"). Then open the script in an encoder that supports AviSynth scripts. You can use a media player to view the script. Or VirtualDub.
    Quote Quote  
  25. Originally Posted by jagabo View Post
    Replace WhateverSource() with DirectShowSource("filename.ext") or ffVideoSource("filename.ext"). Then open the script in an encoder that supports AviSynth scripts. You can use a media player to view the script. Or VirtualDub.

    this is empty ()*

    WhateverSource("name.mov")
    DoubleFPS()*
    AssumeTFF()*
    SeparateFields()*
    SelectEvery(4,0,3)*
    Weave() *
    Last edited by avid; 25th Feb 2014 at 16:02.
    Quote Quote  
  26. Originally Posted by avid View Post
    this is empty ()*
    They're supposed to be empty. Open the script in Virtual Dub and give us any error messages. If there are no error messages then you're ready to encode.
    Quote Quote  
  27. Originally Posted by avid View Post
    this is empty ()*
    Whenever a named video stream is not specified AviSynth assumes "last". So the script:

    Code:
    WhateverSource("name.mov")
    DoubleFPS()
    AssumeTFF()
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    is equivalent to:

    Code:
    last = WhateverSource("name.mov")
    last = DoubleFPS(last)
    last = AssumeTFF(last)
    last = SeparateFields(last)
    last = SelectEvery(last,4,0,3)
    last = Weave(last)
    Return(last)
    And at the end, if you don't specify something else, "last" is the output.
    Quote Quote  
  28. Originally Posted by jagabo View Post
    Originally Posted by avid View Post
    this is empty ()*
    Whenever a named video stream is not specified AviSynth assumes "last". So the script:

    Code:
    WhateverSource("name.mov")
    DoubleFPS()
    AssumeTFF()
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    is equivalent to:

    Code:
    last = WhateverSource("name.mov")
    last = DoubleFPS(last)
    last = AssumeTFF(last)
    last = SeparateFields(last)
    last = SelectEvery(last,4,0,3)
    last = Weave(last)
    Return(last)
    And at the end, if you don't specify something else, "last" is the output.
    this is out in script?

    {
    super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
    backward_1 = MAnalyse(super, chroma=false, isb=true, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    forward_1 = MAnalyse(super, chroma=false, isb=false, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, searchparam=1, search=3)
    forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, searchparam=1, search=3)
    backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, searchparam=0, search=3)
    forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, searchparam=0, search=3)
    MBlockFps(source, super, backward_3, forward_3, num=2*FramerateNumerator(source), den=FramerateDenominator(source), mode=0)
    }
    Quote Quote  
  29. Go back to the scripts in post 19. Those scripts are complete. Just change WhaveverSource() to whatever you need to open your source.

    Code:
    function DoubleFPS(clip source) # make a function called DoubleFPS()
    {
      super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
      backward_1 = MAnalyse(super, chroma=false, isb=true, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
      forward_1 = MAnalyse(super, chroma=false, isb=false, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
      backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, searchparam=1, search=3)
      forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, searchparam=1, search=3)
      backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, searchparam=0, search=3)
      forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, searchparam=0, search=3)
      MBlockFps(source, super, backward_3, forward_3, num=2*FramerateNumerator(source), den=FramerateDenominator(source), mode=0)
    }
    
    WhateverSource() # change this line to open your source
    DoubleFPS()
    Quote Quote  
  30. Should I use the 50p or 50i settings? The resultant video I am going to use in a 50i project in AP.
    Quote Quote  



Similar Threads

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