Flava Distributed Recording System
Version 1.2
This is the first (really) functional revision of a distributed recording system. As such, it is somewhat difficult to get setup. This readmeattempts to address some of the most important steps.
- Requirements
To build each of the separate nodes, there are some particular requirements.
- Management
- xmltv (needs a lot of perl modules) libmysqlclient (access to a database machine is required as well)
- Recorder
- Some form of recorder. The sample flavaconfig.xml is setup for mencoder and v4l2
- Encoder
- Some form of encoder. The sample flavaconfig.xml is setup for mencoder, with mpeg4 and libmp3lame
- Storage
- sqlite
- Client
- qt
The different nodes can easily be built on their own with GNU make in their respective directories.
The qt code has been resilient in requiring that qmake be used before GNU make can be run to build the client. This will be fixed in future releases, but for now, run qmake, then GNU make in the client/qt dir.
Before you can run the entire system, you should fulfill the following requirements.
Any Node:
run the script flava_nodes.sh if you plan to run any of the nodes
EXTREMELY IMPORTANT - update the flavaconfig.xml file to match your node
configuration. This file works well with the defaults in flava_nodes.sh,
and should probably be located in ~/.flava for consistency. Remember to
replace the !user!s with your local username.
- Management
- run the database.sql in the management directory if you plan to run the management server, as well as make sure that the connect_db function in main.c, and xml2mysql.pl of the management server refers to the correct machine (the default is localhost with the root user and no pw). Then run the flava_start.sh script. Also edit and schedule flava_cron.sh to run daily as a cron job to update your listings.
All Users:
update the flavaconfig.xml file for your machine and your flava network
The nodes are run in the following manner.
Management: needs no special arguments
Recorder: flavarec <config file> <server hostname>
Encoder: flavaenc <config file>
Storage: flavastore <config file>
Client: needs no special arguments
1.2 update - All of the nodes daemonize themselves immediately when run, so controlling terminals are no longer necessary. System wide run scripts are on their way, and will definitely be in version 1.3.
Have fun, and submit all bug reports at http://sourceforge.net/projects/flava
-George
werkt@csh.rit.edu
