VideoHelp Forum




+ Reply to Thread
Results 1 to 11 of 11
  1. Member
    Join Date
    Aug 2007
    Location
    Belgium
    Search Comp PM
    Is it possible to do a sort of image quality comparison with MPEG2 (TS) and MPEG4 (H264 TS) files ?
    What I 'd like to do is show half of video1 side by side with half of video 2, without changing the aspect ratio, in order to better compare image quality from 2 different capture sources from the same TV program (1 cable, the other satellite).

    So for instance I can do this manually for a single frame, but I 'd like to make a movie from 2 different captures (I 'll cut them before so that they start at exactly the same frame).

    Example : from previous Eurovision Song Contest I captured video from één HD on cable (1080i) and satellite (720p).
    I took 2 screenshots from the exact same frame, then I resized the satellite screenshot to match the 1920x1080 I obtained from cable, and then took the right half of the satellite version and copied it onto the cable version to create the first image :





    I then did the same thing with the SD versions (576i in both cases to create this merged picture) :






    Of course I could do this manually (with 1 minute of recording for each movie, I would have to first extract all 1500 frames for each movie, then cut and past per 2, and afterwards create a new movie from it, which seems like an incredible amount of work.

    Is there any script I could use for Avisynth or so that could accomplish this ?
    Quote Quote  
  2. AviSynth:
    v1=WhateverSource().Crop(0,0,halfwidth,-0)
    v2=WhateverSource().Crop(halfwidth,0,halfwidth,-0)
    StackHorizontal(v1,v2)
    Quote Quote  
  3. Member
    Join Date
    Aug 2007
    Location
    Belgium
    Search Comp PM
    Wow, thanks for the quick reply.
    I'll have a go later on and check it out.
    Quote Quote  
  4. For quality comparison I prefer to interleave frames so you can easily switch back and forth between the same frame in both files:

    v1=WhateverSource().Subtitle("v1")
    v2=WhateverSource().Subtitle("v2")
    Interleave(v1,v2)

    Then I use VirtualDub to scrub through the videos.

    The videos must have the same dimensions, of course.
    Quote Quote  
  5. Member
    Join Date
    Aug 2007
    Location
    Belgium
    Search Comp PM
    Well, I tried the first script and it immediately gives me an error :

    Crop : you cannot use crop to enlarge or 'shift' a clip.

    The script looks like this :

    v1=DirectShowSource("e:\downloads\test1_cut.mpg"). Crop(0,0,360,-0)
    v2=DirectShowSource("e:\downloads\test2_cut.mpg"). Crop(360,0,360,-0)
    StackHorizontal(v1,v2)

    The SD files should both be 720x576 in this example
    Quote Quote  
  6. Member gadgetguy's Avatar
    Join Date
    Feb 2002
    Location
    West Mitten, USA
    Search Comp PM
    Try this :
    v1=DirectShowSource("e:\downloads\test1_cut.mpg"). Crop(0,0,-360,-0)
    v2=DirectShowSource("e:\downloads\test2_cut.mpg"). Crop(360,0,-0,-0)
    StackHorizontal(v1,v2)
    "Shut up Wesley!" -- Captain Jean-Luc Picard
    Buy My Books
    Quote Quote  
  7. Member edDV's Avatar
    Join Date
    Mar 2004
    Location
    Northern California, USA
    Search Comp PM
    Alternate technique is a simple horizontal or vertical wipe if you have an editing program.

    You want to view encoder performance over motion and with variable scene lighting.
    Recommends: Kiva.org - Loans that change lives.
    http://www.kiva.org/about
    Quote Quote  
  8. Member
    Join Date
    Aug 2007
    Location
    Belgium
    Search Comp PM
    I tried gadgetguy's script, and that did work.
    Unfortunately the idea I started with might not be a good one, because Avisynth has to recompress the original video, leading to quality loss, making it difficult to distinguish between bad quality to begin with and bad quality as a consequence of recompression.
    Quote Quote  
  9. You can view the script. Play the .avs in a media player

    For minor differences, you will probably have to examine individual frames anyways, e.g. interleave() as jagabo suggested earlier

    Your HD comparison might be flawed as well, because the choice of resizer and deinterlacer adds variables and impairs the comparison
    Quote Quote  
  10. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Originally Posted by gadgetguy
    Try this :
    v1=DirectShowSource("e:\downloads\test1_cut.mpg"). Crop(0,0,-360,-0)
    v2=DirectShowSource("e:\downloads\test2_cut.mpg"). Crop(360,0,-0,-0)
    StackHorizontal(v1,v2)
    In principle, this should be exactly the same as the original script, assuming the width of the clips really is 720.

    boulder, are you sure the width isn't 704 or some other number?
    Quote Quote  
  11. Member
    Join Date
    Aug 2007
    Location
    Belgium
    Search Comp PM
    You are right, after I checked with the second script, I noticed it was 704x576.
    Quote Quote  



Similar Threads

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