2010-09-13, 18:32
It seems I might have a few months of extra time on my hands since I will likely be between jobs soon. So I was thinking of helping out a bit with some XBMC coding.
One feature that I would love to add is frame based EDL. Currently the EDL (edit decision list) support is time based, and I'm pretty sure it does a good job for skipping commercials, etc. However, I'd like to be able to use EDL for editing scenes out of movies (gory scenes, or scenes with lots of swearing, etc. ... ie: make a movie child safe). The existing EDL just didn't seem to have fine enough resolution for specifying which parts to edit, etc. since after all it's time based and in one tenth of a second 2.4 frames fly by (or more). Usually I'd either cut off the last part of the previous scene or show the first part of the scene I wanna cut out. It just didn't look perfect enough for my taste
My plan is to make use of a lot of the code found here (http://github.com/lbrandy/ffmpeg-fas/) which allows frame based interaction with ffmpeg and incorporate it into the existing EDL code.
In the end what I would like to achieve is the ability for XBMC to skip as little as one frame or several thousand frames, all with perfect frame accuracy.
For short skips it might take longer to seek to the end of the skip than to just play the frames (ie: a skip of 5 frames for example). So for short skips I would just blank the screen and add a small blurb about what's happening (sort of like what happens when XBMC has to buffer). I also would like to add the ability to skip just video, just audio, or both which would allow editing swearing, etc.
The only downside I can see is that all of this would add a small performance hit since each time XBMC displays a frame I would need to check which frame it is and decide whether to actually display it or not, etc.
Before I begin this endeavor though I wanted to make sure that this would even make it into XBMC. If my code meets all XBMC coding standards, etc. would you guys be willing to include this feature? Or would you consider this not too useful for most other people and pass?
I know dteirney did the majority of the existing EDL coding, so if you're reading this, I'd love to hear your input on this idea too.
Thanks,
Harry
One feature that I would love to add is frame based EDL. Currently the EDL (edit decision list) support is time based, and I'm pretty sure it does a good job for skipping commercials, etc. However, I'd like to be able to use EDL for editing scenes out of movies (gory scenes, or scenes with lots of swearing, etc. ... ie: make a movie child safe). The existing EDL just didn't seem to have fine enough resolution for specifying which parts to edit, etc. since after all it's time based and in one tenth of a second 2.4 frames fly by (or more). Usually I'd either cut off the last part of the previous scene or show the first part of the scene I wanna cut out. It just didn't look perfect enough for my taste
My plan is to make use of a lot of the code found here (http://github.com/lbrandy/ffmpeg-fas/) which allows frame based interaction with ffmpeg and incorporate it into the existing EDL code.
In the end what I would like to achieve is the ability for XBMC to skip as little as one frame or several thousand frames, all with perfect frame accuracy.
For short skips it might take longer to seek to the end of the skip than to just play the frames (ie: a skip of 5 frames for example). So for short skips I would just blank the screen and add a small blurb about what's happening (sort of like what happens when XBMC has to buffer). I also would like to add the ability to skip just video, just audio, or both which would allow editing swearing, etc.
The only downside I can see is that all of this would add a small performance hit since each time XBMC displays a frame I would need to check which frame it is and decide whether to actually display it or not, etc.
Before I begin this endeavor though I wanted to make sure that this would even make it into XBMC. If my code meets all XBMC coding standards, etc. would you guys be willing to include this feature? Or would you consider this not too useful for most other people and pass?
I know dteirney did the majority of the existing EDL coding, so if you're reading this, I'd love to hear your input on this idea too.
Thanks,
Harry