Re: question for the Arista/Transmageddon groups

"Daniel G. Taylor" <[email protected]>
Newsgroups gmane.comp.gnome.multimedia
Message-ID <[email protected]>
On 09/29/2010 12:01 AM, Jeff Cobb wrote:
> Greetings; I have downloaded the source for Transmageddon but not looked
> at it yet (multitasking heavily tonight on a deadline) but noticed that
> Transmageddon and Arista are two overlapping projects, are open source
> and at least one is written in Python. I also read on part of the
> Transmageddon site that one of the intended directions will be to rip
> DVDs in addition to the existing file imports. Also I saw something
> about how they shared lots of source with Arista and that they are
> pushing a profile download service (as opposed to having phone-book
> sized transcoding profile libraries). Now all of that would seem to have
> a certain amount of overlap with my open-source project which is more
> narrowly-defined but if people were interested enough there is a key
> portion of my project that I could rewrite to be shared with these two
> projects.  If no one wants it or shows interest I will be on my way but
> I think this is an area we could help each other. In short, my app
> started life as a wrapper/abstraction layer for different rip engines
> (ogmrip, HandBrake, mencoder, etc) and while it does do this well
> enough, the part you might be interested in the track lookup service I
> built. What this does is look at a DVD when inserted, uses libdvdread to
> create an MD5 hash on the disc, sends a request to my back-end server in
> XML-RPC and if found, will feed the right information to the ripper to
> properly name the tracks. Yes, it is a lot like CDDB only it covers more
> metadata about DVDs/tracks like track type (such as movie, show (like an
> hour TV show), cartoon/animated (same thing only about Simpsons-size) or
> extra feature. The ripper portion of my system then uses this
> information to provide custom rip information so (for example) the main
> feature of a disc can be automatically ripped with a different profile
> than say the extra features on that disc (or the special features can be
> omitted entirely) or animation or anime can be ripped with different
> quality settings than a movie. You get the idea. The part of all this
> that might appeal to these two projects (and I would be delighted to
> help out on) is the python plugin code to do the hash and track lookup.
> There are associated records for things like reviews, IMDB or other
> internet site references as well but these are not used all that much.
> This plugin/python code comes in really handy under two key situations:
> 1. You hit what I call the '99 track' trick. Seen more recently, the
> main feature or several real episodes are nested within 95 or so fake
> tracks which invariably wind up being the correct track with the
> chapters shuffled (take the latest CG Tinkerbell flick for example).
> Simply knowing which tracks are "real" can be of immense help
> 2. Ripping TV show discs. Depending on episode-length, there might be
> 3-9 episodes per disc. Under the existing methods of ripping sometimes
> the episodes are listed and sometimes not. Worse, most of the time the
> season-air order is not listed, calling for a rip and then grepping the
> web for an episode guide.  With my system it can turn what would
> normally appear as track_01.avi, track_02.avi, etc into something like:
> jeff@minotaur:~/dvdmetabase/rips$ tree ./mx5-0n-nw2.1_des/
> ./mx5-0n-nw2.1_des/
> |-- 69_storm_front_part_I.mp4
> |-- 70_storm_front_part_II.mp4
> |-- 71_jubilees_fairytale_theater.mp4
> |-- 72_the_fifth_horseman.mp4
> |-- 73_old_soldiers.mp4
> |-- 74_descent.mp4
> |-- 75_hidden_agendas.mp4
> `-- 76_graduation_day.mp4
>
> 0 directories, 8 files
> jeff@minotaur:~/dvdmetabase/rips$
> Thus if you want to say rip a disc of Lost for your cellphone/iPod
> touch, etc, you can run my system and you will get real track/episodes
> by just inserting the disc and saying "go".
>
> As for me, I have had a few requests for a GUI plus I want to
> expand/enhance my support for (more) open source rip-engines. Since
> Transmageddon and Arista (testing that out in a minute) both use
> different but also great open source engines, this would seem to be a
> match made in heaven.
>
> With that in mind I have three questions, starting with the
> most-important one:
> 1. Is there any interest in my porting this to something these two
> projects can use?
> 2. If so, do they both use a plugin system and if so:
> 3. Do they use a common plugin framework?

I'm definitely interested in such functionality as the author of Arista. 
I get a lot of bugs about ripping the wrong titles on DVDs and use some 
ridiculous code to try and get all the titles and guess which one to use.

Arista doesn't have a plugin framework per-se, but you could easily fork 
it on github and add the feature and I will merge it into the main 
development repo. If something is a useful feature I don't mind adding 
it to the core codebase.

Just so everyone is on the same page, both Arista and Transmageddon:

  * Are written in python
  * Use GStreamer as a backend
  * Shared a lot of stuff initially but have diverged significantly
  * Are friendly to patches

For more info on Arista:

  * http://www.transcoder.org/
  * http://github.com/danielgtaylor/arista#readme

> FWIW my project is here:
> http://jbcobb.net/?page_id=28
> There is a link at the bottom of the page. Caveat Compilor: I am
> rewriting this now to be more modular, my description of it stinks for a
> number of reasons and finally I am cleaning up the code because it
> started to be one tool and morphed over the years to what it is today.
> Finally I am open to rewriting the RPC stuff to another type if it makes
> sense because while what is there works (been online serving lookups for
> years with zero downtime) it probably would not scale well if this takes
> off (uses nothing but Python and SQLite for the back-end) so a more
> robust server portion would not be a bad thing ;)

Take care,
-- 
Daniel G. Taylor
http://programmer-art.org/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.