Bino is a video player with the following main features.
3D videos are more accurately called stereoscopic videos. Such videos have separate views for the left and right eye and thus allow depth perception through stereopsis.
The left and right view of a stereoscopic video can be stored using different layouts.
Sometimes the two views are stored as two separate video streams, but most often both views are packed into a single video stream and need to be unpacked by the video player. Bino supports all commonly used layouts.
To display a stereoscopic video, the left and right view have to be prepared in a special way so that the left eye sees the left view and the right eye sees the right view. Different display techniques use different approaches to achieve this separation of the two views. Bino supports a wide variety of such techniques.
- Support for stereoscopic 3D video, with a wide variety of input and output formats.
- Support for multi-display video, e.g. for powerwalls, Virtual Reality installations and other multi-projector setups.
Bino currently works on GNU/Linux, FreeBSD, Mac OS X, and Windows. It is based on the following libraries:
- OpenGL (with GLEW) for video output.
- OpenAL for audio output.
- FFmpeg to decode video and audio files.
- Qt for the user interface.
- LibASS to render subtitles.
- Optionally Equalizer for advanced multi-display support.
Releases are available from the Savannah download area for Bino.
The latest stable release is bino-1.4.2.tar.xz.
There is currently no unstable development release.
To build a Bino release, you need several development packages. On Debian and Ubuntu:
$ sudo apt-get install pkg-config libavformat-dev libavdevice-dev libswscale-dev libass-dev libglewmx-dev libopenal-dev libqt4-opengl-dev liblircclient-dev
The source code is maintained in the Savannah Git repository for Bino (web interface):
$ git clone git://git.savannah.nongnu.org/bino.git
$ cd bino
$ autoreconf -i
$ ./configure; make; make install
If you want to work with the Git repository, you need additional developer packages. On Debian and Ubuntu:
$ sudo apt-get install git autoconf automake libtool gettext texinfo
The Bino project itself provides source code only. Binaries for different platforms may be available from external sites; these binaries are the sole responsibility of their respective publishers.
Stereoscopic 3D Video Formats.
Bino plays stereoscopic 3D videos. Such videos have separate views for the left and right eye and thus allow depth perception through stereopsis.
The left and right view of a stereoscopic video can be stored using different layouts. Sometimes the two views are stored as two separate video streams, but most often both views are packed into a single video stream and need to be unpacked by the video player.
Supported input layouts (modern formats can be autodetected):
- Monoscopic (2D) video
- Left and right view in separate video streams and/or files
- Left and right view side by side (optionally with half width)
- Left and right view on top of each other (optionally with half height)
- Left and right view in alternating rows
Supported output techniques:
- Anaglyph glasses (red/cyan, green/magenta, amber/blue). This works with every display.
Bino uses the high-quality Dubois method to produce anaglyph images. This gives far better results than the usual full-color and half-color methods.
- Left and right view side by side (used by some 3D displays)
- Left and right view on top of each other (used by some 3D displays)
- Left and right view in alternating rows or columns (used by some 3D displays)
- OpenGL quad-buffered stereo (only available with some graphics cards)
- 3D Video Examples.
- The following sites provide example videos:
Several high quality sample videos.
Various 3D movie samples. Try the skydiving example!
YouTube has 3D videos marked with the
yt3dtag. Some videos may be downloadable. Most of them use the
right-left-halfinput stereo layout.
Two demo videos for a proprietary video player. They work fine with Bino, too :)
A few small example videos in the
left-right-halfinput stereo layout.
Some example videos using various input stereo layouts.
- Multi Display Support
For basic multi display output, all displays must be connected to the same computer and run in fullscreen mode. This is useful for video walls or 3D projection systems that use separate projectors for the left and right view.
For advanced multi display output, Bino can use the Equalizer framework for parallel and distributed OpenGL rendering.
Equalizer can manage very flexible setups across multiple hosts, graphics cards, and/or displays. This is useful for larger display installations, for example large Powerwalls or Virtual Reality laboratories.
This example shows the Big Buck Bunny movie in the Virtual Reality laboratory of the Computer Graphics Group at University of Siegen, Germany.
The display wall is divided into a left and a right part, with an overlap area for smooth blending. Two projector pairs project the video onto these left and right parts using Infitec stereo projection. Each projector pair is connected to a render node equipped with two graphics cards. Additionally, the video is displayed on the control node monitor shown on the right. The control node handles user input and takes care of audio output.