/**
 * \ingroup dev_examples
 *
 * \defgroup ffmpeg_writer_basic Example for pipe (ffmpeg_writer_basic)

Instantiates \ref cmd_device_pipe "pipe" device implemented by DevicePipe.
\verbatim
# Start up a pipe from a fakeFrameGrabber to an ffmpeg_writer.
# this will save the output of fakeFrameGrabber into a movie.

device pipe

[source]
device fakeFrameGrabber
width 320
height 240
period 0.04
mode [ball]

[sink]
device ffmpeg_writer
out test.avi
framerate 25
\endverbatim
If this text is saved in a file called ffmpeg_writer_basic.ini then the device can be created by doing:
\verbatim
yarpdev --file ffmpeg_writer_basic.ini
\endverbatim
Of course, the configuration could be passed just as command line options, or as a yarp::os::Property object in a program:
\code
Property p;
p.fromConfigFile("ffmpeg_writer_basic.ini");
// of course you could construct the Property object on-the-fly
PolyDriver dev;
dev.open(p);
if (dev.isValid()) { /* use the device via view method */ }
\endcode
Here is a list of properties checked when starting up a device based on this configuration file.
Note that which properties are checked can depend on whether other properties are present.
In some cases properties can also vary between operating systems.
So this is just an example

<table>
<tr><td>PROPERTY</td><td>DESCRIPTION</td><td>DEFAULT</td></tr>
<tr><td>device</td><td></td><td></td></tr>
<tr><td>source</td><td>device to read from (string or nested properties)</td><td></td></tr>
<tr><td>sink</td><td>device to write to (string or nested properties)</td><td></td></tr>
</table>

\sa DevicePipe

 */
