VideoHelp Forum




+ Reply to Thread
Results 1 to 5 of 5
  1. Hi I'm doing video coding tests and I wanted to see the result by comparing it with the original or other coding.

    What I need is to be able to see in the play, but if possible also Frame by Frame, a part of the video (the half right for example), alongside the corresponding part of the other video.

    I tried VLC but it doesn't work for me.
    Quote Quote  
  2. For frame by frame stuff I open each video in a different instance of MPC-HC and use the Navigate menu to navigate to the same frame in each player. With each player maximized, you can easily switch between them to look at the same frame from each video. There's a navigation button to move forward by a single frame, although you have to step forward in each player when you change frames that way. I find it much easier to spot subtle differences in still frames by switching between them, rather than with the pictures displaying next to each other while looking back and forth.

    For easy side by side playback try GridPlayer. I see the ability to crop the video has been added to the latest version, although I don't know how that works exactly.

    To do it in Avisynth, running the videos side by side (I think I remember you referring to StaxRip and source filters in another thread, so I'm assuming you know the basics of creating an Avisynth script). If you have Avisynth installed, or better still Avisynth+ (in addition to any portable version of Avisynth StaxRip may be using) you can open a script like the one below with a DirectShow player such as MPC-HC. Or you could use AvsPmod to open the script. It's video preview has a fullscreen mode. The cropping is optional for when you only want to display half the frame from each video. For a picture 1920 pixels wide, to display only the right half, you'd crop 960 pixels from the left. Adding text to identify the videos is of course optional too.

    Code:
    Original = FFVideoSource("Original.mkv").Crop(960,0,0,0).Subtitle("Original", align=8)
    Encode = FFVideoSource("Encode.mkv").Crop(960,0,0,0).Subtitle("Encode", align=8)
    StackHorizontal(Original, Encode)
    Or you could go nuts and run four videos simultaneously:

    Code:
    A = StackHorizontal(Original, Encode1)
    B = StackHorizontal(Encode2, Encode3)
    StackVertical(A, B)
    Last edited by hello_hello; 7th May 2024 at 12:13.
    Quote Quote  
  3. Another thing you can do with AviSynth is interleave frames of the videos. I often compare the original and two encoded videos so I can see the two encodings and the original video.

    Code:
    orig = LWlibavVideoSource("oringal.mkv").Subtitle("original")
    enc1 = LWlibavVideoSource("encoded1.mkv").Subtitle("encoded1")
    enc2 = LWlibavVideoSource("encoded2.mkv").Subtitle("encoded2")
    
    Interleave(orig, enc1, enc2, orig)
    You can then open the script in VirtualDub and use the left/right arrow keys to step back and forth between frames. It's very easy to compare the original to the first encoding, the first encoding to the second encoding, and the second encoding to the original. Using this along with Windows Magnifier lets you see the tiniest difference.
    Quote Quote  
  4. Thanks I'm reading your instructions and I tried Gridplayer.

    I managed to start alongside and synchronized two videos. I also set the zoom and you can also make the crop. But it takes a long time to set everything and if you have to change the videos you have to redo everything from the end. So it does the required job but you have to waste a little too long.

    It then came to me that maybe I also need 3 or 4 videos simultaneously and positioned in the 4x1 column or 2x2 grid. So I would like to move using Avisynth but I don't know where to start. I'm using staxrip but I still don't know how to use it well.

    Is there a guide to use AVS scripts with or without staxrip?

    EDIT: I reread what you told me and I seem to understand that I don't have to use Staxrip, right?
    Quote Quote  
  5. No need to use Staxrip. It'd use a portable version of Avisynth+, which is fine, but only StaxRip can use it. For other programs to open Avisynth scripts you should install the 64 bit version of Avisynth+. The installer offers to install both the 64 bit and 32 bit versions, but there's not much point installing the latter unless you need it. The 64 bit version requires 64 bit plugins so running both versions would require downloading both the 64 bit and 32 bit versions of any plugins you want to use.

    The installer should create two sub-folders in the C:\Program Files\AviSynth+ folder called plugins64 and plugins64+. When Avisynth+ runs, it checks those folders for plugins and functions (scripts with an avsi extension) and automatically loads them. It saves having to add LoadPlugin("SomePlugin.dll") to every script to load plugins manually. You can put functions and plugins in either of those folders or both of them. I put functions in one and plugins in the other.
    I assume when StaxRip creates scripts for you it adds the appropriate LoadPlugin lines to the scripts to load any plugins it's using from one of it's own sub-folders.

    I'd suggest downloading 64 bit AvsPmod for creating and previewing Avisynth scripts. Open AvsPmod and type "Version()", without the quotes, into a new script. Enable the preview and if you see the Avisynth version information displayed, it means the installed AviSynth+ is working.

    Image
    [Attachment 78965 - Click to enlarge]


    I haven't used StaxRip for a long time so I downloaded it to see where it keeps things. There's three sub-folders in the "StaxRip\Apps\Plugins" folder. "AVS" contains Avisynth plugins and functions. "VS" contains Vapoursynth plugins, and "Dual" contains plugins that work for both. To use L-Smash-Works as the source filter for opening videos, copy LSMASHSource.dll from the "Dual\L-Smash-Works" folder and paste it into the Avisynth+\plugins64+ folder.
    LSMASH provides four functions for opening video and audio. You can read more on the wiki if you want to.
    http://avisynth.nl/index.php/LSMASHSource

    Copy the text below and paste it into AvsPmod. Delete Version() first. You'll need to specify the full path and file name of the video you want to open.

    Code:
    LWlibavVideoSource("D:\Some Folder\Oringal.mkv").Subtitle("Original")
    With any luck when you refresh the AvsPmod preview you'll see the video. There'll probably be a little wait before it displays as LSMASH will first create an index file. It only needs to be created the first time a video is opened. By default the index file is saved to the same location as the video.

    If you get that far then you can try jagabo's script, once again using the correct path and name for each video.

    Code:
    orig = LWlibavVideoSource("D:\Some Folder\oringal.mkv").Subtitle("original")
    enc1 = LWlibavVideoSource("D:\Some Folder\encoded1.mkv").Subtitle("encoded1")
    enc2 = LWlibavVideoSource("D:\Some Folder\encoded2.mkv").Subtitle("encoded2")
    
    Interleave(orig, enc1, enc2, orig)
    To try my script you can replace FFVideoSource with LWlibavVideoSource.
    Or to use FFVideoSource as the source filter instead, copy FFMS2.avsi and FFMS2.dll from the StaxRip "Dual\FFMS2" folder and paste them into the Avisynth plugins64+ folder.
    http://avisynth.nl/index.php/FFmpegSource

    When you save a script with AvsPmod it'll be saved with an avs extension. With Avisynth+ installed you can then open your script with any program capable of doing so.

    See how you go getting the above to work. There is of course nothing wrong with using StaxRip, but for some tasks, such as creating a script for viewing multiple videos, doing it manually is often the easiest way.
    Last edited by hello_hello; 9th May 2024 at 18:40.
    Quote Quote  



Similar Threads

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