====== User guide ====== ===== Basic concepts ===== Duga reads video frames from pipe as raw RGB24 bitmaps (i.e., each pixel is represented by 3 uint8_t) and audio as int16_t (a.k.a. PCM S16_LE) samples. It combines them and outputs RGB24 and PCM stream. The intended usage is to have several ffmpeg (and maybe arecord for audio) processes that eat from various sources (V4L2, files, network streams, wireless microphones…) and one ffmpeg process that reads the output, encodes it to something sane and feeds it to your favorite streaming server (VLC, ffserver…). Configuration is solely by commands. Commands can be read from a rc file (which is the only command line argument) during startup or from stdin afterwards. ===== Installation ===== For duga, only C++11 compiler is required. However, you will probably need ffmpeg and vlc binaries to do something useful. Just run "make". ===== Supported commands ===== Some example usage is in the default rc file. It opens your camera, a video file and an image and starts streaming in FLV format. ==== set ==== Sets variable in global configuration. Variables are: * vrate - video frame rate * arate - audio sample rate * ores - output video resolution * bufsize - number of frames to buffer * videopipe - output video is written here * audiopipe - output audio is written here * streamer - this command is executed upon startup, it should open videopipe and audiopipe and do something with the data ==== run ==== Starts the processing (duga will start outputting black video and silent audio). ==== import