Hello!
I hate starting with apologies, but let me clear the air. First, I apologize for being new here. Secondly, I apologize for being new to VLC development. Third, I apologize if I've posted in the wrong category and this would be a topic better suited for another discussion. Fourth, I apologize if this has been discussed elsewhere, but I have searched here, google, and the IRC chat and not found a resolution.
With that out of the way, I am researching a way to use VLC to package an end-user application that will play a DVD along with a separate MP3 sound track, appearing to the end user as if it were a commentary track on the DVD. I am still doing my fundamental analysis on this and am looking for suggestions on how to proceed - I'm definitely not looking for you to do my work for me, I'm just making sure I'm not reinventing the wheel and that I'm going down the right path.
There are rumors that there is experimental code to play simultaneous streams/channels in VLC, but I have not found much more about this than rumors.
Our goals:
* End user friendly (shouldn't require an IT expert to use)
* Cross platform (Linux/Windows/OSX)
* Play standard DVDs on computer's DVD hardware along with an accompanying MP3 elsewhere on computer
* Keeps DVD and MP3 in sync with each other
I have thought of ways of hacking VLC to create a custom solution, but without completely rewriting parts of it I am thinking of the following architecture:
* Create a separate "master" application that will launch a VLC "Video Process" for the DVD with Telnet enabled
* Have "master" app also launch a VLC "External audio" process for the MP3 (thus two separate intances, both with Telnet enabled, will be running simultaneously)
* "Master" app reads sync information from an XML file that would map from one to the other (i.e., 00:43:37 in DVD = 00:44:21 in MP3)
* Have this master process control the two slave processes behind the scenes via Telnet (polling each to see where they are at, seeking each to keep in sync, responding to detected play/pause/rewind requests from user, etc.)
* Modifying the base VLC is totally acceptable - especially in areas where the Telnet command set may need to be expanded to support more options
ActiveX would be a nice Windows-only solution, but obviously won't work since I want to keep it cross-platform.
My questions:
First - am I going down the right (best) path? Is there an easier way to do this?
Second - Is this a better question for the Scripting part of the forum?
Third - has anyone ever tried doing anything like this before? (And if so, is there an example out there, somewhere?)
Any code I write for this I will also publish as an Open Source project if it's of any interest to anyone else.
Thank you very much in advance, I'm very much looking forward to any suggestions you might have.
- Tony