DVD Playback ?

mfreakz's picture

Is it possible to build a DVD Player Patch that could read VOB files like the classic video importer but with DVD navigation/options trigger inputs ? Play/Pause/Stop/FW/RW/Skip/up, down, left right, Enter/Angle/audio/subs ? Could Apple DVD Player or FrontRow be hacked for that ?

cwright's picture
possible, but not probable

This is entirely possible. However, it's not very likely.

Getting the menu navigation to work would be tricky. As would writing the decoder (it's technically illegal to write dvd decoding software without a license.... because that keeps people from infringing on copyrights or something?).

DVD Player could be modified to perform this, but that would be unnecessarily complex. there's a DVD Playback framework from Apple that already does this -- however, it doesn't give you access to the image or audio data (again, because this would let you violate copyrights), so it wouldn't be useful in QC at all for anything (you could just render the dvd over the screen at specified locations.... lame)

(I also have a personal vendetta against both the DVDPlayback framework, which successfully hard-crashes my machine when I try to experiment with it, and with DRM-related monstrosities that infringe on fair-use rights. so getting me involved in this might get messy and unprofessional ;)

mfreakz's picture
Command Line Tools could help ?

I understand... :( Well i'm planing to do my own media-center with QC for 2 month now... The interface is ok, navigation/browsers are ok too, and now i understand that i could'nt ad a DVD Playback ! Well, i think i could try to start the Apple DVD Player with an AppleScript... (i'm such disappointed !). Could you help me ? Could the Command Line Tool help for Starting and control (with shortcuts) the Apple DVD Player with QC ?

gtoledo3's picture
I'm throwing out a

I'm throwing out a theory.... a way of doing this through Quicklook?

Would it be possible to leverage something along the lines of the Quiklook Droplet, or Quick Viewer, since "in my memory" at least, that comes out of Unix, and might not have all of the DRM stuff attached?

No clue... talking out of my butt here.

cwright's picture
you could start Apple DVD Player with a shell script

Yes, you could open it that way.

Try "open /Applications/DVD Player.app" to start it.

Control would just be via the mouse/keyboard -- there's not really a good way to work around that, as far as I've seen.

cwright's picture
not really

QL doesn't support DVD media.

DRM isn't the difficult part -- DVDs have been broken since 1999 (DeCSS stuff). However, the legal ramifications of this are rather dangerous -- C&D's, DMCA takedowns, colo's/homes raided, etc. I'd rather not touch that whole quagmire.

Options at this point:

  • Get a license to make/use a dvd decoder (costs money)
  • Use Apple's DVDPlayback framework (no cost, severely limited)
  • Ignore the rules, and hope nothing bad happens.

I'm not going to choose 1 or 3 (and if 1 was chosen, it might not allow what's being proposed here anyway), and 2 isn't useful for anything other than strict DVD plyback (at which point, why not just use Apple's DVD Player app, which is more reliable and already working).

A better work around (for my needs, at least), is just using Handbrake to re-encode the movie to something quicktime can use. That doesn't work at all for menu stuff, but I hate DVD menus anyway personally...

mfreakz's picture
Routing Shortcuts ?

Well that's a good point ! Could Command Line Tools ask for other things ? Is it possible to swap applications with a Shell Script ? Could we control applications (using the shortcuts) like "remote buddy" does with a Sheel Script or a Kineme Patch ? It could be great to control and grab sounds and picture from applications running in background ! Someone ask for an EyeTV input, and it wasn't possible, maybe he can control EyeTV with a patch that route ShortCuts and grab video with another ? I was looking at Vade's "Borderless" a QC host application. If my Mediacenter run in full screen, and then start DVD Player, and then get transparent, it could be great to see Full Screen DVD. Then i could "Open" and "quit" DVD player without leaving my QC application not ? Could we "route" shortcuts with a Shell Script ?

cwright's picture
applescript

those things (switch apps, send shortcuts) aren't possible with shell script directly, but they are possible with applescript (which you can run from a shell command, "oascript" I think).

for a media center, you probably want to make a thin Cocoa app that incorporates QC, DVDPlayback, and some other things (QuickTime, maybe QuickLook, etc). This would be much easier and cleaner than trying to do it all in QC, and would make shell/applescript stuff unnecessary.

I've seen EyeTV support in some third party apps, so I may have been mistaken on that -- however, I've not come across any developer documentation to integrate with it, and I don't have a device to start exploring...

mfreakz's picture
Could you send me an exemple ?

I'm not able to make a Cocoa App... :( My MediaCenter project is about:

• Video files player (including DVD with options)

• A MP3 (and other using "Perian" plugins) Player with a multiple files location ability (merging structures/lists as a single giant list !) and a kind of smart Playlist composer... • A RSS/PDF/Website/email viewer...

• A TV recorder/player (eyesTV !)

I'm working on a multiple Interface: Kineme's Apple remote/Wii/OpenCV tracking/and... Speech recognition (That's why i'm asking for an input string and a Gate trigger to grab a new list from a Directory Browser in Kineme's Speech recognition Patch !) It could be very nice to send me a kind of exemple of AppleScript/Shell command trigger, to help me. I would be very happy to send you my project, if you think you could "have a look" on it, when you have time ! Thanx for your help.

cwright's picture
not I

I've never really used applescript successfully (except for some trivial hacks), so I'm not one to ask about examples -- perhaps someone else can chime in with their experience with this (I've heard of people doing it all the way back in Tiger once we released the Shell Command patch, so I know /someone/ out there knows more details).

vade's picture
Or you could

Use something like FFMPEG or other tools like VLC and wrap them into a plugin. Ive been pondering this for some time, it should totally be doable, but its a decent amount of work...

mfreakz's picture
MPlayer ?

I was thinking that FFMpeg and other soft use MPlayer to display DVD contant... And MPlayer is free... But i'm not able to create a Plugins... I was speaking about that in your forum, Vade... Your Player patch is really good ! I need help ! It could be great to have more Inputs in QC, like DVD, EyesTV, Other applications Windows...

tobyspark's picture
i have a qc+cocoa media centre written...

http://tobyz.net/tobyzstuff/diary/2008/10/cocoa-mac-minis-and-50-plasmas

while it started out as a development of qc-performer example project, with all content being pushed through a qc skin, its ended up with most cocoa content such as webviews and pdf views making their own nswindow and overlaying that over the top, and other apps run layered behind it and remote controlled from my kiosk app.

so long story short, i've looked into all these things, and while i wish i was the c-savvy coder that could take the vlc api and wrap it into a qc plug-in, for my full-screen kiosk setup it gave better interaction and full framerate to just bypass qc entirely.

oh - and i should say it was a commercial job, and so the source is not mine to share.