[mythtv] iPhone streaming implementation

Chase Douglas chasedouglas.lists at gmail.com
Mon Mar 23 17:45:43 UTC 2009


On Mar 23, 2009, at 1:08 PM, Rob Smith wrote:
> On Mon, Mar 23, 2009 at 5:41 AM, Chase Douglas
> <chasedouglas.lists at gmail.com> wrote:
>> Mythweb can't do live tv. I'm looking for a solution that includes  
>> live tv
>> streaming. I want to be able to be on the 3G network and watch  
>> sports games
>> for instance.
>
> So use the -re ffmpeg option, start up a recording on the 'live' show
> you want and off it'll go, never catching up (-re is basically encode
> in realtime only). It works fine, with a small start up delay.

You're missing the point. ffmpeg can probably do all the transcoding  
needed for most clients. However, it does not provide much in the way  
of stream transport. It claims support of rtp for instance, but I've  
never gotten it to work. Your solution works fine if the client just  
expects a streaming media file hosted over http, but not all clients  
can operate this way.

In summation, there's three main parts to streaming live tv:

1. Control - Can use and extend MythTV protocol, can probably also be  
universal
2. Transcoding - Includes reencoding and remuxing, can probably also  
be universal given ffmpeg is so good at transcoding
3. Transport - Definitely not universal, and the method preferred by  
each client will be different. For instance, some clients that handle  
transport almost exactly the same may differ just in how they seek.  
One client's video player may be able to seek on the stream, while  
another client's video player may not and thus would need to request a  
seek all the way to the MythTV server. It's practically impossible to  
support all clients in a one-size-fits-all approach, and it probably  
makes the most sense to have a plugin architecture due to the number  
of different transport implementations I foresee. Maybe plugins aren't  
absolutely necessary if each transport implementation can be enabled  
or disabled at configure time.


More information about the mythtv-dev mailing list