Mercurial > mplayer.hg
comparison TOOLS/mplmult.sh @ 14410:9b7f3566b603
Playback video with multiple windows.
author | reimar |
---|---|
date | Fri, 07 Jan 2005 11:11:02 +0000 |
parents | |
children | abd0a4e9daa0 |
comparison
equal
deleted
inserted
replaced
14409:6d8634c0bdfa | 14410:9b7f3566b603 |
---|---|
1 #!/bin/sh | |
2 # example how to output video on multiple windows in sync. | |
3 # might be even more useful in combination with vo ggi | |
4 # to distribute the video arbitrarily | |
5 | |
6 dir=/tmp/$$ | |
7 count=$1 | |
8 shift | |
9 | |
10 if test 0"$count" -lt 1; then | |
11 echo "At least 1 slave instance must be used." | |
12 echo "" | |
13 echo "Usage:" | |
14 echo "./mplmult.sh n mplayer-opts" | |
15 echo "n number of MPlayer instances that display the video" | |
16 echo "mplayer-opts anything you would specify to mplayer," | |
17 echo " more than one file will usually not work" | |
18 exit 1 | |
19 fi | |
20 | |
21 mkdir -m 700 $dir | |
22 if test $? -ne 0; then | |
23 echo "Could not create temp dir!" | |
24 exit 1 | |
25 fi | |
26 | |
27 mkfifo $dir/stream.yuv | |
28 i=1 | |
29 fifo_list="" | |
30 while test $i -le $count; do | |
31 fifo_list="$dir/mp$i $fifo_list" | |
32 let i=$i+1 | |
33 done | |
34 | |
35 mkfifo $fifo_list | |
36 (cat $dir/stream.yuv | tee $fifo_list > /dev/null ) & | |
37 for fifo in $fifo_list; do | |
38 # -benchmark is neccessary so that it will not do any timing. | |
39 # the master instance already takes care of it and not specifying | |
40 # it will break A-V sync. | |
41 mplayer -nocache -quiet -benchmark "$fifo" > /dev/null 2>&1 & | |
42 done | |
43 mplayer -nocache -fixed-vo -vo yuv4mpeg:file=$dir/stream.yuv "$@" | |
44 | |
45 rm -rf $dir |