[WINDOWS] EDL & C++ Media Player File
#1
Hello,

Does XBMC use a single player to play back all content sources? For example, I am using Boxee code which supports Netflix, Hulu, etc.

Is the playback all handled by a single player with source code or does each service have there own playback feature?

I am wanting to implement essentially a more complex version of EDL that does commercial skipping, etc. I also am curious to try this with Netflix provided through Boxee. I know there are no commercials but I want to play around with the mute controls, skipping controls, etc., inside of the Netflix environment.

I have read a little and EDL seems promising as the tools with which I would work. Which source code files does EDL affect? Which source code file is the main playback file that contains the player for all streams? How would I implement EDL on something like Netflix where it is going to be a bizarre, possibly dynamic file name?

Thanks for your help. I am new at all of this so I apologize in advance for posting what are likely trivial questions. This is part of a senior capstone university project so I confess to being a beginner in this field.

I'd appreciate responses.

Joseph Irvine
[email protected]
Reply
#2
the netflix player is completely closed source and out of your control to do anything with pretty much. xbmc does all video playback through dvdplayer (dubious name eh ;P). we already support most edl features afaik. xbmc/cores/dvdplayer is where the code is at - have at it.
Reply
#3
Hello,

Well, I can always hope on that "pretty much" caveat you give. I know the Netflix codec is closed-source. Do the playback features run through DVDPlayer.cpp as well? I noticed there was also an EDL.cpp as part of the Boxee distribution.

You obviously have remote control capabilities over Netflix so somehow, there are triggers that are passed as parameters to the closed-source player. That is really all I am after.

So, is it a safe assumption to make based on your comment that the Boxee Netflix does NOT use DVDPlayer.cpp for playback? If so, what file does it use? It certainly interfaces somehow to give minimal player controls.

Thanks,

Joseph Irvine
[email protected]
Reply
#4
not at all. the boxee netflix player is simply a browser + a javascript hack (that's what gives the controls, they have small .js snippets that 'push' the button on the web page when you use the osd controls)
Reply
#5
I refactored a lot of the EDL handling in XBMC many months back. As part of this I fixed some of the EDL handling within dvdplayer (the internal XBMC video player). Shortly after I added commercial skip support and then some more advanced functionality to better deal with the slightly hit and miss world of commercial break detection.

EDL.cpp is responsible for loading any associated edit decision lists for the video that is chosen. It handles merging detected commercial breaks based on some configurable settings.

DVDPlayer.cpp is responsible for playing the video. It gets the cuts and commercial breaks via the EDL class and then automatically skips the time periods as specified in any edit decision list that was found.

More information on the wiki about what is supported http://wiki.xbmc.org/?title=EDL
Use MythTV for recording TV? Try the integrated MythTV support in XBMC Media Center. Now with commercial skip support built-in and integration with the Movie database!
Reply
#6
Hello,

What content is handled by DVDPlayer.cpp; the original XBMC player as currently represented in the Boxee distribution.

It appears that the Boxee Netflix implementation is not played back through DVDPlayer.cpp. Is that correct according to my understanding? If so, what possibilities exist for implementing EDL to the outside Netflix JS controls in order to accomplish content filtering such as muting, skipping frames, etc.

Secondly, are HULU and the other media streams played back through Boxee's implementation of DVDPlayer.cpp?

What exactly goes through DVDPlayer.cpp and what is independent of it?

Thank you,
Joseph Irvine
Reply
#7
@jkeagle13, I think you might be better off posting these questions in the Boxee forum (assuming they have one) if you are interested in adding EDL support to the Netflix player.

dvdplayer in XBMC is used to play all of the video formats that XBMC supports out-of-the-box (mostly through ffmpeg). XBMC does not support Netflix or Hulu.

Boxee has a completely different player for Netflix as spiff has already stated. It is a browser player with JavaScript hooks to perform the necessary actions. You will need to find out more about what that player exposes if you want to introduce any EDL type functionality. At a minimum you will need:
* To get the playback clock time (or pts) so you can automatically trigger seeks. If you are looking to mute "explicit words" which only playback for fractions of a second you would need to get this information VERY often and have very fine grained control over the mute on/off. Personally I think this will be a challenge.
* To be able to jump to a particular point in time for automated skipping of commericials
* To be able to turn the sound on and off (if you want to implement mute - other notes above)
Use MythTV for recording TV? Try the integrated MythTV support in XBMC Media Center. Now with commercial skip support built-in and integration with the Movie database!
Reply

Logout Mark Read Team Forum Stats Members Help
[WINDOWS] EDL & C++ Media Player File1