<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.apple-tab-span
        {mso-style-name:apple-tab-span;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I was aware of it by description only. The “explicitly do not segment” and having to create the index after the file is completed were game killers for me </span><span style='font-size:11.0pt;font-family:Wingdings;color:#1F497D'>L</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> .  I needed to segment and build the index in real time to restream a live source and have pieces time out and go away. Maybe I should of looked closer at it instead.  But maybe misguided, when I dug into the multiplexor code I found that the PAT and PMT were being added on an interval and had nothing to do with segment size or relative keyframe position. Something that I thought was essential for iOS.(it is “strongly suggested” LOL ) The cleanest method for me was to have a muxer for iOS that made a ts stream that makes segmenting and indexing almost trivial.  <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I am afraid I do not know what the trick play index looks like and thought the index mentioned was the .m3u8 being done after the fact.  I believe it is an external index and I unfortunately already have an external index and my own file format which is now our “legacy” for our archives. Can the trick play index be created and maintained on the fly? Or does it need , and need to be, a completed file? <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>For our live stream, there are no files on disk, it is all rolling virtual files in memory. What I gathered from the documentation was that the existing implementation was 1) serving on it’s own port and 2) file based.   <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>In my server, If a user gets the .m3u8 index and it has 3 - 5 second entries in it, ie segment1.ts, segement2.ts ,segment3.ts, and they come back 5 seconds later for the same index, they get an updated one that has segment2.ts, segment3.ts, segment4.ts. It implements a “sliding window” to quote the apple docs.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> live-devel-bounces@ns.live555.com [mailto:live-devel-bounces@ns.live555.com] <b>On Behalf Of </b>Ross Finlayson<br><b>Sent:</b> Tuesday, December 27, 2011 8:49 AM<br><b>To:</b> LIVE555 Streaming Media - development & use<br><b>Subject:</b> Re: [Live-devel] invalid ts stream<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sigh...  I think you might not be familiar with the HTTP Live Streaming server implementation that we *already* have (and have had for almost 6 months now).  See:<o:p></o:p></p><div><p class=MsoNormal><span class=apple-tab-span>            <a href="http://www.live555.com/mediaServer/#http-live-streaming">http://www.live555.com/mediaServer/#http-live-streaming</a></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Our server can *already* stream a H.264-encoded Transport Stream file via HTTP Live Streaming.  We explicitly *do not* segment the file in any way.  Instead, we create (automatically, in our server) a playlist to serve to clients.  Each entry in the playlist refers (using time-based parameters in the URL) to a specific region of the file, but we do not actually segment the file.  Instead, our server delivers the appropriate portion of the file automatically.  Our only requirement is that the file be indexed (using our normal 'trick mode' indexing mechanism) beforehand.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>And this works just fine - e.g., with a file made up from Apple's "bipbopgear1" Transport Stream example.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>However, it *did not* work with a Transport File that I created - using our "testH264VideoToTransportStream" demo application - from the "<a href="http://CaptureH264.es">CaptureH264.es</a>" file that you provided - ***even after*** I modified our "MPEG2TransportStreamMultiplexor" and "MPEG2TransportStreamFromESSource" implementations to exactly match what you did in your code.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>So, as I said before, until I know for sure what changes, if any, are necessary to the "MPEG2TransportStreamMultiplexor" and "MPEG2TransportStreamFromESSource" code in order for HTTP Live Streaming to work, I'm going to hold off - at least for now - on making any changes to this code.<o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><p class=MsoNormal><span class=apple-style-span><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black'>Ross Finlayson</span></span><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black'><br><span class=apple-style-span>Live Networks, Inc.</span><br><span class=apple-style-span><a href="http://www.live555.com/">http://www.live555.com/</a></span></span> <o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div class=MsoNormal align=center style='text-align:center'><hr size=1 width="100%" noshade style='color:#A0A0A0' align=center></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>No virus found in this message.<br>Checked by AVG - <a href="http://www.avg.com">www.avg.com</a><br>Version: 2012.0.1901 / Virus Database: 2109/4706 - Release Date: 12/27/11<o:p></o:p></p></div></body></html>