[mythtv-users] LiveTV zapping speed

Raymond Wagner raymond at wagnerrp.com
Sat Sep 3 19:31:07 UTC 2011

On 9/3/2011 14:03, Josu Lazkano wrote:
> I have 2 DVB-T and 1 DVB-S2 card and it takes 4-7 seconds. I have 2
> other 2 dvb receptors, and both take much less time to change channels
> (less than a second).

Half a second to a second is absolute best case scenario for a tuner.  
There is a lot more going on here than most people realize.  First, you 
have to physically retune the tuner.  On some devices, this may take a 
fraction of a second.  On others, this may be a second or longer.  Look 
at how many people on the MythTV and LinuxTV mailing lists find their 
problems are solved by increasing various timeouts.  If you are changing 
to a different channel on the same multiplex, some devices may skip this 
step, artificially improving performance in those situations.

Once you tune the multiplex, you have to wait for a channel table to 
decide specifically what stream to pull out.  If you store enough 
information, you can skip this step in what MythTV calls 'quick tune'.  
It shaves off a bit of time, but it is also less robust.  As before, if 
changing to a channel on the same multiplex, some devices may keep the 
last broadcast table, and don't need to wait for a new one.

Once you have picked out your stream, you still have to contend with the 
issue that it is compressed digital video, and most of the frames are 
incapable of standing on their own.  You have to wait for an I-frame 
before you can begin playback.  On broadcast MPEG2 in North America, 
this generally comes once every half second.  With broadcast H264 in 
Europe and Australia, this has been known to happen several seconds 
apart.  Some devices may be set up to store the last few seconds of the 
entire broadcast stream, so if changing to another channel on the same 
multiplex, it will already have this information and doesn't have to 
wait for the next good frame to come by.  MythTV does not operate in 
this manner.

Depending on your hardware and provider, several seconds may have 
passed, and you're just not getting to the point that MythTV has any 
effect over.  MythTV is set up as a DVR, meaning it records everything, 
and has a division between playback and recording.  Whether the frontend 
is accessing the content from the filesystem directly, or streaming it 
from the backend, the recorded video is read back off the disk 
independently of writing to it.  In order to ensure the frontend does 
not get starved of data, it enforces a couple second lag.

There is some that can be done to improve channel chaning (zapping) 
speed, but there is just as much, if not more, that is completely 
outside of MythTV's control.

More information about the mythtv-users mailing list