EDL (and ComSkip) integration
#16
go for it
Reply
#17
spiff Wrote:go for it

How about something like:

Code:
Edit Decision List

XBMC supports Edit Decision Lists.

An Edit Decision List or EDL allows you to automatically skip or mute sections of videos during playback, based on a movie specific EDL configuration file. The EDL can for example be used to to skip commecials or intros.

The current EDL file format is:
[begin second] [end second] [action]

Where the seconds are floating-point numbers and the action is either 0 for skip or 1 for mute. Example:

5.3   7.1    0
15    16.7   1
420   422    0

This will skip from second 5.3 to second 7.1 of the video, then mute at 15 seconds, unmute at 16.7 seconds and skip from second 420 to second 422 of the video. These actions will be performed when the playback timer reaches the times given in the file.

To use an edl file with a video file, put it in the same folder as the video file.
The edl and video files must have the same name, for example:

Video File: The Matrix.avi
EDL: The Matrix.edl

This is a mix of wikipedia, the mplayer manual and the subtitles section.
Can I reference third party tools like comskip in the manual?
Reply
#18
sure. looks nice and informative to me
Reply
#19
Feel free to reference 3rd party stuff, sure. Best with just a link to the site so that if they change stuff that breaks what you write on the wiki it's not our problem Wink
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#20
Are there publicly available EDL files for tv shows? Should there be?
Reply
#21
szsori Wrote:Are there publicly available EDL files for tv shows? Should there be?

I don't think so.

I use my HTPC to record tv shows, and use comskip to find commercials.
Comskip generates an EDL that is now picked up by XBMC to skip these commercials.
Reply
#22
spiff Wrote:it does use the same code. however there's no such support as of yet.

patch welcome, i doubt any of the devs care (i for one do not). it would be rather tricky, as the progress bar is just generated based on info labels

I tried to understand the mechanism, and indeed it doesn't seem simple.
The progress bar is a texture, and it is displayed at a percentage of 100% length.
I might need another texture and method of displaying it, to show the cutpoints. Furthermore, the contents of the EDL file need to be parsed so the cutpoints are available every time the OSD is shown.

Is it possible to take the 'green bar' texture, make it another color, and show it at an offset (to be repeated for every cutpoint)?
Reply
#23
tbh i dont know, elupus?

a general wiseass answer; most stuff is possible, what price it comes at however... ;P
Reply
#24
I have a feeling it would be quite complicated to get this to work. You would either have to modify mplayer to output information about the edl list, so you know when the cutpoint will occure, or parse the edl list yourself.

Then add some sort of new guielement that can highlight parts of the progressbar. Not sure how one would go about that. Either one extends the progressbar class with this, or you add some new type of element wich you can overlay on it.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#25
What about EDL for the DVDPlayer video-core in XBMC?, so it will work on the Linux port (MPlayer isn't going to be supported by it anytime soon)
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#26
elupus Wrote:I have a feeling it would be quite complicated to get this to work. You would either have to modify mplayer to output information about the edl list, so you know when the cutpoint will occure, or parse the edl list yourself.

Then add some sort of new guielement that can highlight parts of the progressbar. Not sure how one would go about that. Either one extends the progressbar class with this, or you add some new type of element wich you can overlay on it.

I was thinking of parsing the EDL list myself, and putting it in a CEdl class.
This might be the most future proof, with possibilities like importing different cutlist formats, and recording/writing new cutlists during video watching.
Also it would be nice to be able to jump to cutpoints.

I'm willing to try to write the class, but the progress bar stuff is a bit too complicated for me now. Maybe I can do something with text in one of the existing 'info' osd pages?
Reply
#27
If and when it'll be useful to do a GUI Element I can probably give a hand in that respect.

Other uses may be showing the chapter points of DVDs etc.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#28
I'm trying to understand the already available classes, but it's hard for me to understand what to use for what, and what to write from scratch.

I'm planning to put the following functionality in the CEdl class:

- construct is using the movie as parameter
- a reader
Read EDL if exists, and/ord read other formats
- store edl in internal format, I was thinking of a variable list of CCutpoint class items.
- write internal EDL structure to cache
- retrieve name of cached edl file to feed to mplayer
- pre-calculate values to use for displaying cutpoints on timeline
- Optional: add/remove cut when playing a file in mplayer
- Optional: jump to previous/next cutpoint

My questions:
- Can I find more documentation somewhere about the XBMC source?
- Are there recommendations of what classes to use for the proposed class? I need to read the a file, process it per line, write the (converted) result to an variable size internal structure, and cache the interal structure using the EDL format.
Reply
#29
sorry, no, the only documentation available is the source itself.

files you read using CFile. it has a readstring() method.
for writing/caching use either CFile or normal fileio since it will be local anyway.

you can catch us on #xbmc (or #xbmc-linux) on irc.freenode.net. we're happy to answer dev questions so dont hesitate to ask
Reply
#30
I found a bug/feature in the current implementation:

Mplayer does skip over a cutpoint-pair, but you cannot jump 30seconds/10 minutes back to a point before the cutpoint somehow. It 'bounces back' to a point beyond the cutpoint.

Is this a Mplayer problem, or a XBMC problem?
Reply

Logout Mark Read Team Forum Stats Members Help
EDL (and ComSkip) integration0