Posts: 1,722
Joined: Sep 2009
Reputation:
20
I'm trying to create EDL data but I'm running into a bind. MythTV generates epg data by frames and XBMC expects seconds.
I know that mpg framerate is around 24fps, however I question that framerate when my recordings display freezes temporarily because the desktop used too much processor. Also, different recordings and encoders have different framrates.
Is there a way to use frame data instead of seconds for EDL in XBMC?
Posts: 838
Joined: Jul 2007
Reputation:
6
Everything inside dvdplayer (the internal player) is time based as this is what all the underlying libraries and APIs are based on, e.g. ffmpeg. Nothing is frame based and all the current EDL related formats that expose frame information are converted to time offsets so they can be used by XBMC. For example, the version 2 Comskip file format includes the frame rate inside the file, which is then used to convert the frame markers in the file to time offsets.
I had the same problem when implementing commercial skip support for the myth:// protocol. The final implementation of this within XBMC passes the detected frame rate (according to the demuxer) of the video stream that is about to be played and that is used to convert the frame offsets held in MythTV to the time offsets.
This doesn't work perfectly all the time. I have at least one case where a 1080i stream is detected as 50fps, but is actually 25fps.
I may need to alter the EDL implementation inside XBMC to better handle this conversion to time offsets using the detected frame rate with some other work that has been happening to calculate the actual frame rate based on playback sampling rather than believing what the stream says it is. This will involve changing the EDL offsets after some playback though so isn't completely straight forward.
If anyone thinks that they are getting commercial breaks skipped at the wrong times due to an incorrectly detected frame rate, please compare the time that XBMC thinks the commercial break starts and when mythfrontend thinks the commercial break starts. If there is a difference (sometime commercials are simply flagged badly) post a debug log along with the noted time differences for the commercial break (likely the times will be different by half).
Posts: 1,722
Joined: Sep 2009
Reputation:
20
So, from what I'm reading here, I should just generate frame data and XBMC will eventually take care of determining framerates?
Posts: 50
Joined: Dec 2009
Reputation:
0
you know, i just reread your question and dteirney's reply - it does sound like frame counts are supposed to work w/o first converting to time. so, i tried that, but i can't get that to work - i didn't even test the comm skip part, but the time slider never displays the total time, so i just stopped there.
So, with your script, is that an additional myth user job script you run or do you take it and add it into MythSExx at the end?
-jay
Posts: 1,722
Joined: Sep 2009
Reputation:
20
it goes in the "unreleased" version. It's not fully supported yet. The newest version will use the database for further recognition of both movies and shows. There's substantial changes throughout the file from the last version. It also is prepared to record and label programs which are not yet supported by XBMC Media Center. I'm still debugging multiple things before I release it, however I put a feature freeze on it until release and it's just debug now. 650 lines sounds easy, but it should be done by Friday.
Posts: 50
Joined: Dec 2009
Reputation:
0
2009-12-21, 04:56
(This post was last modified: 2009-12-21, 05:04 by jaygardner.)
outleradam - sounds good, i'll check your thread &/or xbmc wiki page next week for the update... thanks
dteirney - my apologies, i had the best of intentions (& attempted to redirect interest to more recent posts that reflected updated info), but understand and will refrain from that.) thanks for the clarification on the time vs frame info.