<p><br>
On 7/03/2012 7:39 AM, "Ian Bishop" <<a href="mailto:ibishop@gmail.com">ibishop@gmail.com</a>> wrote:<br>
><br>
> > I'm not an expert but I have noodled around with streams a little and can<br>
> > pass on what I know. MythTV implements http streaming as originated by Apple<br>
> > which you can read about in their developer library document titled "HTTP<br>
> > Live Streaming Overview". At this moment the document lives here & I believe<br>
> > nearby is a link to a PDF.<br>
><br>
> Sweet, well that's what I wanted to hear! I would expect the native<br>
> Android video player to play nicely with the Apple-like stream. I<br>
> just didn't want to dive in and waste a bunch of time to find out what<br>
> I wanted to do wasn't possible. I guess I'll need to build up a .25<br>
> backend in a VM now. :)<br>
></p>
<p>From my reading http live streaming is not supported below android 3.0. (I think, maybe 2.3) </p>
<p>> > The big picture goes like this: a server (MythTV in this case) encodes a<br>
> > video as a series of short clips, say 10 seconds long, and supplies clients<br>
> > with an "m3u8" file url containing the names of the segments. You retrieve<br>
> > each segment in turn and play them back to back so it's seamless to the<br>
> > user. If the list is open ended then it's considered to be an in-progress<br>
> > event and you have to periodically requery the m3u8 url for the current list<br>
> > of segments. As you might guess you can calculate the total length of the<br>
> > video by multiplying the segment duration by the number of segments and you<br>
> > can seek by dividing your desired position by the segment duration to get<br>
> > the segment number and using the remainder as an offset into that clip.<br>
> ><br>
> > In the previous paragraph I said "you" a few times but you personally don't<br>
> > have to get involved at such a low level. Software such VLC will take an url<br>
> > and do the grunt work. Or, in writing your own application you would embed a<br>
> > video widget supplied by your O/S and have it do the grotty stuff. I'm<br>
> > pretty sure you don't want to write your own widget, go with your OS's one.<br>
> > Typically a widget will take an URL and play it without further prodding but<br>
> > they also expose an api for you to query the current position, seek to a<br>
> > given offset, pause, resume, etc. Also, widgets supply an OSD so users can<br>
> > see where they're at and click arrows or a slider to move back and forth.<br>
> > Your job as a programmer then becomes slicing and dicing the list of media<br>
> > offered up by mythtv, initiating streaming transcodes, and handing off m3u8<br>
> > urls to your embedded player.<br>
> ><br>
> > That's a fairly breezy introduction but hopefully gets you oriented. It's<br>
> > really not very complicated but there are several moving parts and at first<br>
> > it's hard to tell where one ends and the other begins.<br>
> ><br>
> > Assuming you're running a recent master you can get a decent education by<br>
> > kicking off a stream and examining the entrails. Start by defining a<br>
> > directory for the "Streaming" storage group (mythtv-setup -> Storage<br>
> > Directories) and then starting a stream. In that folder you'll find the<br>
> > expected m3u8 file but also an html file which shows how you might play a<br>
> > stream in a browser. An Android application would be conceptually similar.<br>
> > Aside from the video clips everything in that streaming directory will be<br>
> > text files so snoop and learn.<br>
> ><br>
> > - George<br>
><br>
> Sounds straightforward. Thanks again for the help!<br>
><br>
> Ian<br>
> _______________________________________________<br>
> mythtv-users mailing list<br>
> <a href="mailto:mythtv-users@mythtv.org">mythtv-users@mythtv.org</a><br>
> <a href="http://www.mythtv.org/mailman/listinfo/mythtv-users">http://www.mythtv.org/mailman/listinfo/mythtv-users</a><br>
</p>