[mythtv-users] HTTP live stream and seeking in .25

Nick Rout nick.rout at gmail.com
Thu Mar 8 04:34:45 UTC 2012


On 7/03/2012 7:39 AM, "Ian Bishop" <ibishop at gmail.com> wrote:
>
> > I'm not an expert but I have noodled around with streams a little and
can
> > pass on what I know. MythTV implements http streaming as originated by
Apple
> > which you can read about in their developer library document titled
"HTTP
> > Live Streaming Overview". At this moment the document lives here & I
believe
> > nearby is a link to a PDF.
>
> Sweet, well that's what I wanted to hear!  I would expect the native
> Android video player to play nicely with the Apple-like stream.  I
> just didn't want to dive in and waste a bunch of time to find out what
> I wanted to do wasn't possible.  I guess I'll need to build up a .25
> backend in a VM now.  :)
>

>From my reading http live streaming is not supported below android 3.0. (I
think, maybe 2.3)

> > The big picture goes like this: a server (MythTV in this case) encodes a
> > video as a series of short clips, say 10 seconds long, and supplies
clients
> > with an "m3u8" file url containing the names of the segments. You
retrieve
> > each segment in turn and play them back to back so it's seamless to the
> > user. If the list is open ended then it's considered to be an
in-progress
> > event and you have to periodically requery the m3u8 url for the current
list
> > of segments. As you might guess you can calculate the total length of
the
> > video by multiplying the segment duration by the number of segments and
you
> > can seek by dividing your desired position by the segment duration to
get
> > the segment number and using the remainder as an offset into that clip.
> >
> > In the previous paragraph I said "you" a few times but you personally
don't
> > have to get involved at such a low level. Software such VLC will take
an url
> > and do the grunt work. Or, in writing your own application you would
embed a
> > video widget supplied by your O/S and have it do the grotty stuff. I'm
> > pretty sure you don't want to write your own widget, go with your OS's
one.
> > Typically a widget will take an URL and play it without further
prodding but
> > they also expose an api for you to query the current position, seek to a
> > given offset, pause, resume, etc. Also, widgets supply an OSD so users
can
> > see where they're at and click arrows or a slider to move back and
forth.
> > Your job as a programmer then becomes slicing and dicing the list of
media
> > offered up by mythtv, initiating streaming transcodes, and handing off
m3u8
> > urls to your embedded player.
> >
> > That's a fairly breezy introduction but hopefully gets you oriented.
It's
> > really not very complicated but there are several moving parts and at
first
> > it's hard to tell where one ends and the other begins.
> >
> > Assuming you're running a recent master you can get a decent education
by
> > kicking off a stream and examining the entrails. Start by defining a
> > directory for the "Streaming" storage group (mythtv-setup -> Storage
> > Directories) and then starting a stream. In that folder you'll find the
> > expected m3u8 file but also an html file which shows how you might play
a
> > stream in a browser. An Android application would be conceptually
similar.
> > Aside from the video clips everything in that streaming directory will
be
> > text files so snoop and learn.
> >
> > - George
>
> Sounds straightforward.  Thanks again for the help!
>
> Ian
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://www.mythtv.org/mailman/listinfo/mythtv-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.mythtv.org/pipermail/mythtv-users/attachments/20120308/0d8af299/attachment.html 


More information about the mythtv-users mailing list