Want to point out the working prototype of the w...@home extension. 
Presently it focuses on a system for transcoding uploaded media to free 
formats, but will also be used for "flattening sequences" and maybe 
other things in the future ;)

Its still rough around the edges ... it presently features:
* Support for uploading a non-free media assets,

* putting those non free media assets into a jobs table and distributing 
the transcode job into $wgChunkDuration length encoding jobs. ( each 
pieces is uploaded then reassembled on the server. that way big 
transcoding jobs can be distributed to as many clients that are 
participating )

* It supports multiple derivatives for different resolutions based on 
the requested size.
** In the future I will add a hook for oggHanlder to use that as well .. 
since a big usability issue right now is users embedding HD or high res 
ogg videos into a small video space in an article ... and it naturally 
it performs slowly.

* It also features a JavaScript interface for clients to query for new 
jobs, get the job, download the asset, do transcode & upload it (all 
through an api module so people could build a client as a shell script 
if they wanted)
** In the future the interface will support preferences , basic 
statistics and more options like "turn on w...@home every-time I visit 
wikipedia" or only get jobs while I am away from my computer.

* I try and handle derivatives consistently with the "file"/ media 
handling system. So right now your uploaded non-free format file will be 
linked to on the file detail page and via the api calls. We should 
probably limit client exposure to non-free formats. Obviously they have 
the files be on a public url to be transcoded, but the interfaces for 
embedding and the stream detail page should link to the free format 
version at all times.

* I tie transcoded chunks to user ids this makes it easier to disable 
bad participants.
** I need to add an interface to delete derivatives if someone flags it 
as so.

* it supports $wgJobTimeOut for re-assigning jobs that don't get done in 
$wgJobTimeOut time.

This was hacked together over the past few days so its by no means 
production ready ... but should get there soon ;)  Feedback is welcome. 
Its in the svn at: /trunk/extensions/WikiAtHome/

peace,
michael


_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to