Subsections


5. MPlayer

5.1 Introduction

The FlowVR Render distribution includes support for video playing. It relies on the MPlayer software modified to make it a FlowVR Render viewer. This viewer can be used for example to display movies on a display wall.

5.2 Installation

The Mplayer renderer relies ona patched version of Mplayer. It is automatically installed when compiling the FlowVR Suite (as long as all dependencies are satisfied): mplayer is downloaded from the web, patched and compiled.

The compilation automatically puts the MPlayer files in the modules/mplayer directory and places the XML description files in modules/desc.

5.3 Example

An example using MPlayer is given in the examples/mplayer directory.

5.3.1 Setting the Video File Name and MPlayer Parameters

You first need to modify the examples/mplayer/net/mplayer.mml.xml file to put a correct video file name in the movieFileName template. Note the use of a video filter (-vf pp=fd) for video deinterlacing. This deinterlacing filter is required for MPlayer to work, but you can chose any other deinterlacing filter you may prefer (-vf pp=lb seems best if the video is not interlaced). You may also add in the args template any parameter you want to pass to MPlayer (such as -nosound if you do not want sound decoding).

5.3.2 Compilation

Compiling the example is simply done by executing:

make

5.3.3 Execution

Executing the example is done by executing (a flowvr deamon must be running of course):

make run

5.4 Technical Details: How it Works?

To make MPlayer a FlowVR Render viewer, we added a new video output to MPlayer. This video output driver simply retrieves at each frame a planar YUV image and sends the 3 component images as 3 textures. A dedicated shader is then used to render those textures into a quad taking care of the conversion between YUV and RGB.

2009-04-06