[mythtv-users] mpeg2 playback performance issue makes no sense

Joseph A. Caputo jcaputo1 at comcast.net
Tue Oct 12 13:56:02 UTC 2004


On Tuesday 12 October 2004 08:54, Michael J. Lynch wrote:
> I ran into a strange problem that makes absolutely no sense to me and
> was hoping someone could shed some
> light on it.  Here's what I did.  First I ripped a DVD and used
> mplayer (via "watch videos") to playback the
> ripped VOB(s).  I checked CPU idle time and it was about 70% idle.
>
> Just for grins and giggles I wanted to see how performance of Myth's
> internal playback compared to playing
> a file using mplayer.  Since VOB, and NUV files are simply MPG files
> with non-standard extenstions, I figured
> I could simply rename or copy one of the VOB files to NUV (with
> proper basename format), inform Myth of the
> NUV files existance, and play it back using Myth's internal playback.
>
> First I used Myth to record something.  Then I deleted the resulting
> NUV file and renamed one of the VOB files
> from my DVD rip to the file I had deleted.  This effectively informed
> myth of the existence of the recording.  I
> probably could have used the rebuilddb script too, but this seemed to
> get the job done.  I went to "watch recordings"
> and sure enough the VOB file was watchable under the name of what I
> had recorded.
>
> Now this is where it get's weird.  The playback was skipping and
> generally acting like there was not enough
> processor to do the playback, so I checked it out.  Sure enough,
> playback using Myth's internal playback was
> pegging the processor.
>
> First, is the test methodology I described valid?  If so, what could
> account for the large difference in processor
> usage between "watch videos" and "watch recordings" playing the same
> file?
>
> My system is 733 PIII with 384M, FC1, and Myth 0.16.

Well, the first thing that accounts for the difference is that "Watch 
Videos" uses mplayer (at least, that's what you told us), and "Watch 
Recordings" uses Myth's internal player.  The second thing is that you 
didn't need to go through all those steps to test Myth's internal 
player; indeed, that may be the cause of the problem.

When you record something in Myth, it writes a seektable to the 
database.  When you copied a different file over top of the one you 
recorded, you may have confused Myth.  Was the file Myth recorded an 
MPEG-2 recording (i.e., made with a PVR-x50 or similar card)?  Even if 
it was, the seektable in the database no longer matches the recording.  
This could be a source of playback problems.

Also, I'm not sure it's really valid to simply treat a VOB file as a 
standard MPEG-2 file.  Mplayer may handle it OK because it has support 
for VOBs, but Myth's internal player may have problems.  Someone with 
more knowledge in this area may want to chime in...

If you really want to see how Myth's internal player performs, instead 
of trying to trick Myth into playing it as a recorded TV program, 
simply use MythVideo ("Watch Videos").  There is a setup option that 
lets you configure the player command to use for this; apparently you 
have yours configured for mplayer (the default, IIRC).  If you change 
this to "Internal", it will use the internal player without the need to 
fool Myth.

Finally, (and I'm not sure if this still holds true) you could simply 
launch the internal player from the command line with "mythtv 
<filename>".

-JAC


More information about the mythtv-users mailing list