VideoHelp Forum
+ Reply to Thread
Results 1 to 21 of 21
Thread
  1. Hi
    Sorry to bring this question up again.. but i really need to compare two different encoding, visually, by overlapping them.
    Ideally, this would be perfect (it may take a while for the videos to load), alternatively, check here

    the videos are not side-by side, but half of the first video is on the left, and on the right side is the other half (in the sample, moving the mouse causes more or less of the first video to show over the second one)

    A tool/player/utility would be awesome, (since I doubt the 'track the mouse to slide from one video to the other' is feasible in Avisynth) but I'm ready to get my hands dirty with scripting .. can I ask for an hand guys?

    Thanks everyone!
    Quote Quote  
  2. Although it's not exactly what you're asking, with AVSPMod you can load two videos (or more) and quickly switch between the tabs to see the differences on the whole frame. It's not dynamic though : if a video is playing in a tab, switching to another tab stops it, can't have two videos playing at the same time ; but the frame count is synchronized, so if going to frame 1000 in tab 1 and switching to tab 2, tab 2 will also show frame 1000.
    Quote Quote  
  3. Natron. It's basically an open source Nuke clone. It's not a player. It's more of a node based compositing / effects tool. You can hook up 2 or more videos per viewer

    But it has a slide comparison tool , that you can move and even rotate , and adjust the opacity. It also has the avspmod functionality where you can hotkey swap with the number keys. You can think of that hotkey as soloing a layer

    It's not optimized for realtime playback, but it is dynamic in that it can swap on the fly, and you can adjust on the fly with the slide tool or number keys, or zoom in/out with the scroll wheel or +/- as it's playing. Performance depends on how fast your system is, and if the videos are cached to memory or disk cache
    Quote Quote  
  4. Member
    Join Date
    Jul 2007
    Location
    United States
    Search Comp PM
    Someone please confirm or refute. But I think VirtualDub with a AVISynth script can play two different videos side by side.

    Off topic, but does anyone remember Sisters (1972) by Brian De Palma? I've never seen the full movie, but the split screen trailers have always disturbed me at some level.
    Quote Quote  
  5. Video Restorer lordsmurf's Avatar
    Join Date
    Jun 2003
    Location
    dFAQ.us/lordsmurf
    Search Comp PM
    Originally Posted by lingyi View Post
    Someone please confirm .... But I think VirtualDub with a AVISynth script can play two different videos side by side. .
    Yes, and quite easily.
    Want my help? Ask here! (not via PM!)
    FAQs: Best Blank DiscsBest TBCsBest VCRs for captureRestore VHS
    Quote Quote  
  6. And it's called StackHorizontal. Here's an example:

    https://www.youtube.com/watch?v=SoLS18gDrQg

    Just as easy is to show the left half of the 'before' on the left and the right half of the 'after' on the right.
    Quote Quote  
  7. I've saw this the other day, I believe it's something like you want.
    https://www.youtube.com/watch?v=R77wTvXgFs4

    It would be something like this:
    Code:
    left=AviSource("video_left.avi")
    right=AviSource("video_right.avi")
    return stackhorizontal(left,right)
    Or if you have to trim something out:
    Code:
    left=AviSource("video_left.avi").Trim(000,000)
    right=AviSource("video_right.avi").Trim(000,000)
    return stackhorizontal(left,right)
    Maybe to do something like the guy did:
    Code:
    left=AviSource("video_left.avi").Trim(000,000).Subtitle("Hi MAMA!", align=2, size=20, text_color=$ffffff)
    right=AviSource("video_right.avi").Trim(000,000).Subtitle("Hi PAPA!", align=2, size=20, text_color=$ffffff)
    return stackhorizontal(left,right)
    Sorry, I'm not home to test this out but it would be something like that. Depending on the source (avi, mp4, etc) you might consider changing "AviSource" to something else like "DirectShowSource" or "LWLibavVideoSource", "FFvideoSource", etc.
    Quote Quote  
  8. Thanks for all the kind answers guys!

    What I was looking for is not playing two videos 'simply' side-by-side, but having the viewport split (dinamically if possible, otherwise halfways) with half of the viewport displaying the "A" video and the other half displaying the "B" video, as in the samples I gave in the first post.

    I have tried so far:
    - @37abolibibelot solution (thanks!) AVSPMod, but it is not very practical, as it lacks the real time comparison I need.
    - various Avisynth stackhorizontal (thanks @06amaipaipai,@00manono) but these are just playing them side-by-side (a feature I suggest Awesome Video Player for, as It can do that automatically for up to 16 videos and for free)
    - @02poisondeathray : tried Natron but it seems overcomplicated (to me at least) to accomplish my goal: I fiddled with it for a couple of hours and then gave up

    If you take a look at the pages I linked in my first post (wait for the videos to load) you will see the viewport is dinamically split between the two videos, and as you move the mouse cursor, you "adjust the view" (it's difficult to explain, but it is worth to take a look imho)

    Many Thanks Everyone, and keep the suggestions coming
    Last edited by ilgrank; 28th Nov 2018 at 12:57. Reason: typos
    Quote Quote  
  9. Btw, the closest I've come so far (the difference is very subtle, you need to open the image to take a closer look) is:

    (notice the suble difference in color on the lights, and less noise ont he right image)

    using the following script:


    Code:
    left=DirectShowSource("C:\h264.mkv")
    right=DirectShowSource("C:\h265.mkv")
    cleft=left.Crop(0, 0, round(left.width/2), 0).Trim(000,000).Subtitle("h264", align=2, size=30, text_color=$ffffff)
    cright=right.Crop(round(right.width/2), 0, 0, 0).Trim(000,000).Subtitle("h265", align=2, size=30, text_color=$ffffff)
    return stackhorizontal(cleft,cright)
    what I do lack.. is being able to move the 'splitting line' in real time :/
    Last edited by ilgrank; 28th Nov 2018 at 13:49. Reason: better script
    Quote Quote  
  10. Originally Posted by ilgrank View Post
    What I was looking for is not playing two videos 'simply' side-by-side, but having the viewport split (dinamically if possible, otherwise halfways) with half of the viewport displaying the "A" video and the other half displaying the "B" video, as in the samples I gave in the first post.
    As I mentioned in my earlier reply, "Just as easy is to show the left half of the 'before' on the left and the right half of the 'after' on the right."

    You do that by cropping away the right half of the left video and the left half of the right video before applying the StackHorizontal. No dynamic movement with the mouse, though. Except for that ability (useless, in my opinion), AviSynth does it very easily. It's basic stuff with no advanced knowledge necessary. You even showed it in your sample script. Again, though, no mouse-driven dynamics.
    Quote Quote  
  11. or you can interleave frames, like clips a and b you interleave to get video with frames : 1a, 1b, 2a, 2b, 3a, 3b

    then just stepping thru frames you have instant change going on for visual comparison,

    Code:
    a=DirectShowSource("C:\h264.mkv").Subtitle("h264", align=2, size=30, text_color=$ffffff)
    b=DirectShowSource("C:\h265.mkv").Subtitle("h265", align=2, size=30, text_color=$ffffff)
    return interleave(a, b)
    if comparing videos just sitting next to each other , that can play tricks for you,
    sure that method you described is good, but set up is difficult, you need some sort of programing going on, in some GUI, two images/videos stacked on top each other and slider reveals bottom one
    Last edited by _Al_; 28th Nov 2018 at 19:50.
    Quote Quote  
  12. I find interleaving to be much more useful than side/side. Especially with the addition of a screen magnifier. Load the script in an editor like VirtualDub and you can swap back and forth between the same frame of each video (left/right arrow keys) and you see the tiniest differences. The one place this doesn't work is for artifacts that show up most in motion.

    But for horizontal stacking I just came up with this quick function that lets you specify the position of the split as a percentage of the frame width:

    Code:
    function SplitView(clip v1, clip v2, int percent)
    {
        xpos = ((v1.width * percent) / 200) * 2
    
        StackHorizontal(v1.Crop(0,0,xpos,0), v2.Crop(xpos,0,0,0))
    }
    Calling it with SplitView(video1, video2, 50) will place the split in the middle of the frame. A smaller value moves the split to the left, a larger value to the right. It's not interactive but you can modify the script (change the percent value) and reload it in VirtualDub using F2 to get the new split with the current frame. The split position is always mod2 in case your video is YV12 or YUY2.
    Last edited by jagabo; 28th Nov 2018 at 20:59.
    Quote Quote  
  13. Originally Posted by ilgrank View Post
    @02poisondeathray : tried Natron but it seems overcomplicated (to me at least) to accomplish my goal: I fiddled with it for a couple of hours and then gave up
    Natron might seem complicated at first, and probably is way overkill - but it does what you're asking with the interactive A/B compare slider (and potentially much, much more) . A negative is it's not optimized playback like a media player is - you need a beefy system or to have things cached to get good performance. If you want more help just ask

    What about just using that HTML5 code in a browser? ie. Just substitute your videos . But a possible problem is not all types of video will have decoding support in browser



    I agree with the other comments - dynamically adjustable split screen adjustment is just not that useful.

    If you're looking for accurate differences, you're going to be looking frame by frame anyway - It's more useful to swap versions (e.g. tabs in avspmod) and it's faster. It's better than interleave, because you can compare multiple versions easily. The timeline is "shared" by each video in each tab, and they are spatial and temporally aligned (superimposed) if they have the same characteristics (dimensions, fps, framecount) . When you "flip" versions you can compare easily and much faster. With interleave you have to fiddle around with the playhead position, especially when you have a few videos because the frame count doesn't match anymore. Using tabs, you can seek to an exact frame number and all versions will be aligned on that frame . It's faster because you can say, keep the original in tab "1" . And keep on referring back to "1" quickly

    For playback differences, things you need to see in motion - as mentioned above - avspmod stops playing when you swap tabs, but vapoursynth multiviewer does not. It sometimes has a slight pause or hickup when swapping tabs, but if all viewer tabs are playing, you can cycle through them with the number keys and they are aligned. Or if all are paused , same thing and you can navigate by the playback slider just like avspmod and everything is aligned too . Or if you wanted to , you can load a 25%, 50%, 75% (or whatever value) divider tab and swap that way instead of dragging the divider



    Originally Posted by _Al_ View Post
    you need some sort of programing going on, in some GUI, two images/videos stacked on top each other and slider reveals bottom one
    I think it might be possible in mpv with lua scripting. I'm not a programmer but I looked at some scripts and you can parse the mouse position x,y with mp.get_mouse_pos()

    Code:
     local mouseX, mouseY = mp.get_mouse_pos()
    I think that x position can be fed into a filter chain with --lavfi-complex . On a quick test, it works with 2 videos and just a hardcoded x value for now, like ffmpeg's -filter_complex . You can either crop and overlay, or crop and hstack (horizontal stack) . Not sure which approach more resource friendly yet, I'm guessing that crop, stack method . But I'm not very familiar with lua scripting, and not sure how to feed the x position from the mouse
    Last edited by poisondeathray; 28th Nov 2018 at 22:56.
    Quote Quote  
  14. As poisondeathray said, you might get lucky with some player with lua script support, also, not all browsers support all video formats. Either way, I don't see how this can be useful, but see how this can work for you. It works with Edge, IE 11, Opera and Chrome, for some reason it doesn't work with Chromium.

    Good luck.
    Image Attached Files
    Quote Quote  
  15. Try this one out, made it very blurry with BicubicResize + Dehalo_alpha, people for some reason like this soft look.
    Have fun.
    Image Attached Files
    Quote Quote  
  16. I thought I was done with this but here some Street Fighter 2 trivia, back in the day I remember people talking about how Capcom has made the guy taking a punch in SFII Turbo intro white and some dudes in the background black, all because an African American complained about it, he didn't like to see a white crowd cheering up for a white dude punching a black guy.


    Originally Posted by John Gillin
    Source: Polygon
    I got a letter from a father who was very very upset with the game. And it turns out that one of those cutscenes at the beginning depicts two guys that are fighting. They're fist fighting; they're facing off against each other. There's a white guy and a black guy. They're the two that are fighting. And you look at the crowd surrounding them — the crowd is all cheering and, you know, the bloodlust is running thick. And you realize that the entire crowd surrounding these two is white. So you have all these white people, and there's this white guy facing off against this sole black guy and the white guy takes a swing and catches the black guy right on the chin, and the black guy goes down and everybody's cheering.

    ...

    And the letter I received was from an African American gentleman who was distressed at the racial overtones of that. And it was funny, because I had never really noticed that, but upon looking at it, it was like, "Wow." And the Japanese culture is a little bit different than ours as far as our history and all that, and the sensitivity to those kinds of issues. And so I immediately wrote him back and told him I was very sorry about that, that that was something I would raise with our headquarters. And I did. And you know, by that point in time, the game had already been out in the market for awhile and there was no way to change it. ... Whether it was intentional or not, I don't know. But it was interesting.
    I also remember that in 1992 (29 April 1992) there were that famous case of four white police officers beating up a black motorist named Rodney King, it causes riots in LA, it was something big.

    I've compiled the Turbo and Champion versions and swapped the display, Turbo ends earlier than Champion so audio get short and cut first than Champion. You got "The World Warrior" for free.
    Enjoy.
    Image Attached Files
    Quote Quote  
  17. Video Restorer lordsmurf's Avatar
    Join Date
    Jun 2003
    Location
    dFAQ.us/lordsmurf
    Search Comp PM
    Originally Posted by amaipaipai View Post
    I thought I was done with this but here some Street Fighter 2 trivia, back in the day I remember people talking about how Capcom has made the guy taking a punch in SFII Turbo intro white and some dudes in the background black, all because an African American complained about it, he didn't like to see a white crowd cheering up for a white dude punching a black guy.
    I've never heard that ... and would be surprised if it was true. Sounds revisionist to me. Back in the early 90s, nobody cared, and the PC culture wars hadn't really begun yet. It was 95/96 before it really started to hit.

    When you talk about Rodney King, you sound really young. I remember seeing the L.A. riots, lots of coverage on the Arsenio Hall Show especially.
    Want my help? Ask here! (not via PM!)
    FAQs: Best Blank DiscsBest TBCsBest VCRs for captureRestore VHS
    Quote Quote  
  18. Originally Posted by lordsmurf View Post
    Originally Posted by amaipaipai View Post
    I thought I was done with this but here some Street Fighter 2 trivia, back in the day I remember people talking about how Capcom has made the guy taking a punch in SFII Turbo intro white and some dudes in the background black, all because an African American complained about it, he didn't like to see a white crowd cheering up for a white dude punching a black guy.
    I've never heard that ... and would be surprised if it was true. Sounds revisionist to me. Back in the early 90s, nobody cared, and the PC culture wars hadn't really begun yet. It was 95/96 before it really started to hit.

    When you talk about Rodney King, you sound really young. I remember seeing the L.A. riots, lots of coverage on the Arsenio Hall Show especially.
    Back in the day we also didn't care too much about it, to us it was a rumor, nothing more than that.

    I grew up in the 80s and 90s, saw "We are the World" the first time it aired, skip school to watch Michael Jackson "Thriller" on TV, love Baby from Dinosaurs "Not The Momma!", so yeah, I'm still feeling young.
    Quote Quote  
  19. Video Restorer lordsmurf's Avatar
    Join Date
    Jun 2003
    Location
    dFAQ.us/lordsmurf
    Search Comp PM
    Yeah, the days before Snopes, and innocent rumors. <sigh> No smart phones to look it up, and friends had friendly arguments over it being truth or BS. "I heard that..."

    Yep, I remember kids skipping classes to see music videos, especially on MTV. At least once, it was for Michael Jackson, though the incident I remember was probably Bad. But I never did that, especially not for pop.

    I hated the Dinosaurs. Ironically, I'd rather watch that loop 24/7 than see 1 hour of modern "reality" TV. If it was dinosaurs you wanted to watch, Denver was much better. Or the Dinosaucers.

    I miss the 80s/90s.
    Want my help? Ask here! (not via PM!)
    FAQs: Best Blank DiscsBest TBCsBest VCRs for captureRestore VHS
    Quote Quote  
  20. Innocent days, skip school to watch TV
    Dinosaurs also wasn't my thing, Baby was very funny. I'm a tech guy so my thing was MacGyver, Knight Rider, Air Wolf, Blue Thunder, Star Trek, Street Hawk, Automan, so many. Not to say Transformers, Jayce and the wheeled warriors, mask, TMNT, Ghostbusters, Thundercats, The adventures of galaxy rangers, Ducktales, Dungeons & Dragons, of course The Smurfs!

    80's and 90's, it was good!
    Quote Quote  
  21. Dinosaur Supervisor KarMa's Avatar
    Join Date
    Jul 2015
    Location
    US
    Search Comp PM
    Can do something like I did in the video I posted here, https://forum.videohelp.com/threads/390413-x264-vs-Quick-Sync-Comparison#post2531217
    Quote Quote  



Similar Threads

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