Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have two (or more) video files that I want to play side by side. I could do that simply by opening them in two seperate windows, but that would also seperate all the controls (play/pause/forward/...). I want to play them in a synchronized fashion so that pause/forwarding/... works on both videos simultaneously so that they always stay at the same timecode and they don't go out of sync. How would I accomplish that in Linux?

This is needed for viewing only, so compositing them into a new video file first should be avoided if possible, but if there isn't an easy way to do that, I welcome answers doing it with composition as well.

share|improve this question
up vote 2 down vote accepted

Describing Florian's solutions:

If your want play 3 videos:

1) make 3 pipes

$ mkfifo cmds1 cmds2 cmds3

2) run 3 mplayers reading commands from pipes

$ mplayer -slave -input file=cmds1 -quiet file1.mp4
$ mplayer -slave -input file=cmds2 -quiet file2.mp4
$ mplayer -slave -input file=cmds3 -quiet file3.mp4

3) use tee to write to pipes simultaneously.

$ tee cmds1 cmds2 > cmds3

4) now enter commands like pause, ...

share|improve this answer

Maybe it could be done writing a simple frontend driving two MPlayer instances in slave mode, see -slave in the mplayer manpage

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.