Menu

Tree [r5] /
 History

HTTPS access


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

Read Me

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