Good idea, definately want to have that one ;)

/jan 

-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Im Auftrag von den_RDC
Gesendet: Samstag, 1. November 2003 01:34
An: [EMAIL PROTECTED]
Betreff: [Freevo-devel] A new approach for dvdbackup : EncodingServer

As Gustavo already mentioned, i am changing course on dvdbackup and am going
(or at least trying) to make a EncodingServer. This will get rid of the cwd
problems, and will allow people to encode things on a different computer
then the one freevo is running on (very handy if the freevo box is a "slow"
box like an epia, so u can keep loud powerfull pcs away from your living
room). 
Initially it will only encode DVD's (from drive or HD), but i'll design it
so that encoding video files and audio files will be easy to add (doing it
all at once would mean it would take too long for me to code). 

Anyway, i already made a small list of methods that the server will export
and how they will be handled, so u have an idea what i am going to and maybe
have some constructive comments (and design first , then code is a good
principle anyway :) The code will be a bit like recordserver, and each call
will fx also return a true/false return code for success/failure.

initEncodeJob(source, friendlyname)
this initializes the process of qeueing an encoding source can be a DVD
(wich is a device or a directory) or a file, this is autodetected. Friendly
name is a nice name for the encoding job to be created. This method returns
a unique id identifying the encoding job, so multiple clients can use the
encodingserver at once without a problem, and qeueed jobs (that aren't
executed yet) can be edited or removed

setOutputCodec(id, codec, tgtsize)
Sets the video output codec, initially, only xvid (and probly lavcodec will
be supported). Tgtsize is the targetsize of the encoding in mbytes.

setProcessing(id, deint=0, aspect=0)
Sets wheter u want deinterlacing. 0 being none, 1 being the default
interlacer or a string specifying a certain deinterlacer. Ascpect sets
aspectratio (or rather initializes scaling/cropping). Default 0 is
autodetect, with a string specifying an exact ratie (probably 4:3 16:9 and
2.35:1). More filters/operations can be added later)

qeueIt(id, now)
Adds the job with id to the encoding qeue. If now is specified it starts
directly, otherwise it will start in a timeframe specified in the
recordserver config (fx at night). I also think that for direct rips from
dvd, encoding should always be started now.

getProgress(id)
Returns 0 if the job has not been started yet, or a tuple (pass, progress,
trem) if the job is being executed. pass being a name describing the current
pass (fx Audio, Video pass 1 etc). Progress is a number between 0-100
describing the progress, and trem is a string with the estimated time left
for completing the current pass.

removeJob(id)
Removes a job from the encoding qeue

listJobs()
Returns a list of tuples, each tuple containg id and friendly name (id,
friendlyname)

What do u guys think?
Mvg
den_RDC




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to