fixing C void function signatures ignorantly left blank
[opo.git] / README
blobed9cc6473094b18c5706ae48a8f168e6b8490fb0
1 Opo:  a small Video Whale
2 =========================
4 Opo is designed to show synchronised full screen video on projectors
5 connected to multiple video cards.  It can also do other things, like
6 split video across a number of non-full-screen windows, but that is
7 sort of incidental.
9 Dependencies
10 ============
12 Gstreamer 0.10
13 GTK/GDK 2.22
15 You need the dev packages.
17 To run across multiple screens you need multiple video outputs; for
18 more than 2 screens this means having more than one video card, which
19 in turn means having a motherboard capable of handling multiple cards.
20 Not all combinations of video cards will work.
22 Compiling
23 =========
25 Try `make`.
27 Usage
28 =====
30 #show a test picture split over 3 windows
31 ./opo -F 2 -s 3
33 #split a picture full-screen across 4 monitors connected to 2 cards
34 ./opo -c picture.avi -w 1024 -h 768 -x 2 -f -s 4
36 #see what else you can try
37 ./opo --help
40 Importing video
41 ===============
43 Opo-launcher provides a means to stitch together several single-window
44 video sequences windows into an opo-ready multi-window video.
46 The examples directory has scripts showing how this process can be
47 controlled in greater detail.
49 Name and history
50 ================
52 In 2002 or before, Zeeshan Ali Khattak and others made a video wall
53 using Gstreamer and Xinerama[1][2].  They called it Video Whale.  To
54 run the 4x4 array of monitors, they had 4 computers with 4 video cards
55 in each, and a fifth computer that fed video to the others over the
56 network.  Opo was inspired by that project.
58 "Ngā Hau E Whā" is an artwork developed by Leilani Kake for the 2011
59 Auckland Arts Festival, to be shown at Fresh Gallery Otara[3].  It
60 requires four perfectly synchronised video projections.
62 "Opo" was a famous New Zealand dolphin[4].
64 This software was written for Leilani Kake's work, and Opo is a
65 conveniently short and available name for a small New Zealand Video
66 Whale.
68 [1] http://gstreamer.freedesktop.org/apps/videowhale.html
69 [2] http://www.linux-1u.net/X11/Quad/gstreamer.net/video-wall-howto.html
70 [3] http://www.aucklandfestival.co.nz/events/nga-hau-e-wha-the-four-winds.aspx
71 [4] http://en.wikipedia.org/wiki/Opo_the_Dolphin
74 Copyright and License
75 =====================
77 Copyright 2011 Douglas Bagnall
79 Portions of opo.c were originally derived from examples provided by
80 the Gstreamer developers.
82 Provided under the terms of the Gnu General Public License Version 3
83 (see the file COPYING or http://www.gnu.org/licenses/).
85 BUGS / TODO
86 ===========
88 * Sometimes opo fails to show all its windows.  This seems to be a
89   race condition.
91 * opo ought to be able to auto-detect size.
93 * opo-launcher could use the stitching process's progress report
95 * start_stitching_process, and others could shift to a module, and
96   testable bits could be dragged out of Launcher
98 * Various encoding and muxing settings could be fixed (or removed).
100 * opo could (optionally/ automatically) use vertical stitching rather
101   than horizontal (i.e., 1x4 rather than 4x1), or both (2x2). Apart
102   from making a 4 x 1024x768 video 1 pixel wider than is allowed for
103   mpeg1/2 (which could conceivably be a sweet spot for fast decoding
104   off slow media), the 4x1 arrangement could possibly complicate
105   cropping and damage cache locality.