[mythtv] [mythtv-commits] Ticket #4222: Update MythMusic to continue playing in the background after exiting it.

Steven Adeff adeffs.mythtv at gmail.com
Tue Jan 1 18:23:34 UTC 2008


On Jan 1, 2008 9:47 AM, Stuart Morgan <stuart at tase.co.uk> wrote:
> On Tuesday 01 January 2008 13:52:43 Ashley Bostock wrote:
> > mplayer, xine, etc... will play most files you throw at them and
> > ffwd/rewind without issue.  For the Internal player you have to make sure
> > you have pre-built a seek table for each file otherwise it doesn't
> > ffwd/rewind at all, or is very jumpy, and/or you get sound still playing
> > while it does so. I think most people are put off straight away when that
> > doesn't work and just switch to using an external player.  Once that part
> > gets automated I think more people will use it.  On a side note, any idea
> > why myth needs the seek table to be built when mplayer, xine, etc... don't
> > have any problems at all?  Only time I've been prompted by mplayer or xine
> > to rebuld one (assuming that's the same thing) is if I have a slightly
> > broken avi file. Aren't these stored in the file already?
> >
> > Ash
>
> The seeking without a seektable is a little broken in trunk, it needs fixing
> but it's off the radar of most devs because recordings will generally have
> seektables. It shouldn't be hard to do though and if someone opens a ticket
> it will probably get fixed for 0.21.
>
> To explain the reason for building seektables I'm just going to
> copy/edit/paste what I said in IRC last night to this same question:
>
> By building a seektable mythtv can do frame accurate skipping and smoother
> ffw/rew etc. Notice that mplayer/xine don't really offer ffw/rew.
>
> In order to skip etc you need to move the read pointer ahead in the file. So
> you need to know what point in the file is equal to the time unit used. e.g.
> 1 minute might be 36,163 bytes ahead in the file.
>
> Mplayer/xine etc just make guesses based on average bitrate, so although you
> are asking them to skip 1 minute forward in the video, they might actually do
> anything from 45 seconds to 1 minutes 15 seconds.
>
> When you build a seektable in mythtv, we go through the file at high speed and
> record the location of every keyframe, so when you skip 1 minute you move
> exactly one minute in the video. We are not performing calculations to work
> out the correct byte/jump amount and can skip much faster, thus allowing
> FFW/REW as well as accuracy down to the exact frame of video.

Stuart,

Am I correct in my understanding that MythTV can't create a seektable
for MKV x264 files yet?

-- 
Steve


More information about the mythtv-dev mailing list