question for the Arista/Transmageddon groups
Jeff Cobb <[email protected]>
| Newsgroups | gmane.comp.gnome.multimedia |
|---|---|
| Message-ID | <1285732868.1947.43.camel@minotaur> |
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? 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 ;) Best, jeffcobb