[mythtv] iPhone streaming implementation
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
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