backend ffmpeg converter Code
Status: Alpha
Brought to you by:
munga01
File | Date | Author | Commit |
---|---|---|---|
ruby | 2007-10-28 | munga01 | [r1] initial commit |
COPYING | 2007-10-28 | munga01 | [r1] initial commit |
README | 2007-11-11 | munga01 | [r4] - command line options ( -d = debug , -v verbos... |
convert.conf.example | 2007-11-11 | munga01 | [r5] |
convert.py | 2007-11-11 | munga01 | [r4] - command line options ( -d = debug , -v verbos... |
convertWIN.conf | 2007-10-28 | munga01 | [r1] initial commit |
flvtool2 | 2007-10-28 | munga01 | [r1] initial commit |
setup.py | 2007-10-28 | munga01 | [r1] initial commit |
uconvert is a simple utility to convert media files using ffmpeg. uconvert is mean to be used in a web environment as a backend for a large media web application. As such, it sources information about the new files to be processed from a database and process the queue sequentially. uconvert has been developed on linux and tested both on windows and Gnu/Linux. Contact: Pietro.Abate @ pps.jussieu.fr GET IT ====== Via svn from https://uconvert.svn.sourceforge.net/svnroot/uconvert Windows users can obtain the source code using tortoisesvn (http://tortoisesvn.tigris.org/) INSTALL ======= To install uconvert on linux you just need to copy the python source file in you cgi directory and make sure to install ffmpeg and the ruby utility flvtools2 to tag flv files. On windows, it can be installed as a cgi script, but we suggest to compile a standalone binary using the utility p2exe. In order to compile uconvert you will need to install the development environment. The minimal requirement is to install the development environment: - python 2.5 (http://www.python.org/download/) - py2exe (http://www.py2exe.org/) Compile on Windows ------------------ To compile and install the application you need: - ffmpeg.exe (for example: http://ffdshow.faireal.net/mirror/ffmpeg/ ) - flvtool2.exe ( http://blog.inlet-media.de/flvtool2 ) - adodb abstraction layer ( http://adodb.sourceforge.net/ ) - Python Mysql connector ( http://sourceforge.net/projects/mysql-python/ ) - Any other DB connector To build the development environment: - install python and pyexe. - install adodb, and all other db connectors. In order to use python from command line is necessary to set the environment variable PATH to include the python installation directory (ie c:\python25 ). Once the development environment is correctly configured, just copy uconvert source code in a local directory together with ffmpeg.exe and flvtool2.exe and open a windows shell (cmd.exe). from the prompt run : #python setup.py py2exe The installation program will generate the distribution in the dist directory in the current folder. The distribution directory can be then copied to the production server. DB Setup ======== The application has been test with mysql. CREATE TABLE `queue` ( `id` int(11) NOT NULL auto_increment, `filename` varchar(50) NOT NULL, `target` varchar(50) default NULL, `thumb` varchar(50) default NULL, `bitrate` varchar(20) NOT NULL default '', `aspect` varchar(20) NOT NULL default '320x240', `format` varchar(20) NOT NULL default 'flv', `duration` varchar(20) default NULL, `size` varchar(20) default NULL, `location` varchar(100) NOT NULL default '', `metadata` longtext, `created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `status` enum('pending','done','error') default 'pending', `debug` longtext, PRIMARY KEY (`filename`,`bitrate`,`aspect`,`format`,`location`), UNIQUE KEY `id` (`id`) ) To configure the application you will need get the distribution directory, set the DB credential in the configuration file and set up the database using the table above. Configuration ============= To configure the application you need to customize the configuration file specifying the following: - type, username, password and address of the DataBase - the source directory and a working directory - the debug level of the application: quite, debug, info, warning, error, critical On Unix, in other to use flvtool2 you must set the following environment variable: export RUBYLIB=`pwd`/ruby