[Live-devel] invalid ts stream

Jeff Shanab jshanab at smartwire.com
Tue Dec 27 05:49:53 PST 2011


Sorry, I was away from  the computer that receives this list for the holidays.

Maybe I should try to explain in greater detail what apple needs.

They need short segments that start with a PAT packet, then, in order, a PMT and a Keyframe and so on.
So we have to have a ts stream that contains the PAT,PMT,keyframe, diff frames that can be splitable into these segments. What I did was change the periodic inserting of PAT and PMT to on detection of the nth keyframe. That way I could, at 10 FPS and gopsize of 10, have my segmenter code trigger off the PAT frame and splits these into separate, consecutively numbered files and create and index for them. This is part of our overall application's internal webserver and is all in memory so it is not posted. For live555 to make full use of this there is going to need to be a "segmenter" filter that takes the ts frames in, detects the PAT packet and starts a new file and adds an entry to the index file(.m3u8). Once these are available on a web server, iPads and iPhones (and safari on mac, and the upcoming android version) can play it.

Apple has a good explanation and demo files on their site.

http://developer.apple.com/library/ios/#documentation/networkinginternet/conceptual/streamingmediaguide/Introduction/Introduction.html

demo stream
http://devimages.apple.com/iphone/samples/bipbopgear1.html

The last bit is the "adaptive part" That requires transcoding or otherwise substitutable streams. The Index can take some parameters that indicate the bandwidth so the client can measure the bandwidth and switch to a different URI if the bandwidth is not cutting it.



From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: Sunday, December 25, 2011 4:01 AM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] invalid ts stream

(My goal here is to have a H.264 file that I know that - if processed with our "testH264VideoToTransportStream" demo application, after I've modified our Transport Stream multiplexing code based on your changes - will produce a Transport Stream file that works with HTTP Live Streaming.)

Unfortunately I wasn't able to succeed in doing this.  As an experiment, I modified our "MPEG2TransportStreamMultiplexor" and "MPEG2TransportStreamFromESSource" implementations to exactly match what you did in your code.  But even when I did this, I wasn't able to produce a Transport Stream file (from your "CaptureH264.es<http://CaptureH264.es>" file, using our "testH264VideoToTransportStream" demo application) that works with HTTP Live Streaming.

So, 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.

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

________________________________
No virus found in this message.
Checked by AVG - www.avg.com<http://www.avg.com>
Version: 2012.0.1901 / Virus Database: 2109/4701 - Release Date: 12/24/11
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111227/78b60bf7/attachment.html>


More information about the live-devel mailing list