I subclassed the MediaSInk to receive from MPEG2traonsportStreamFramer I gorilla subclassed MPEG2TransportStreamMultiplexor calling it MPEG2TransportStreamMultiplexor4ios and MPEG2TransportStreamFromESSource calling it MPEG2TransportStreamFromESSource4iOS
The trick I used was to set up a standard filter chain and then modify the classes to insert the necessary PES headers at "apple" defined intervals instead of timed. The media sink then just segments and serves them out. They live in memory only and never hit the disk. Hitme at http://206.205.9.143:9000/application/845.stream/playlist.m3u8 with safari on mac or ipad/iphone This is a wireless security camera in my front window pushed(camera initiates conversation thru firewall) to a desktop PC at work and restreamed HLS. From: live-devel-boun...@ns.live555.com [mailto:live-devel-boun...@ns.live555.com] On Behalf Of Ross Finlayson Sent: Tuesday, May 15, 2012 3:14 PM To: LIVE555 Streaming Media - development & use Subject: Re: [Live-devel] HTTP Live Streaming from a camera advice I'm interested in streaming from a camera using HLS. I've looked at the live555MediaServer application and the liveMedia/DeviceSource.cpp code. I can't seem to modify the live555MediaServer app in order to not make it use a .tsx file, which sorta makes me think the FAQ link http://www.live555.com/liveMedia/faq.html#liveInput is the way to go. As I'm completely new to live555 I was hoping someone could say HLS from a camera is possible No, unfortunately it's not currently possible to use our server code to support HLS from a live source. The reason for this is that our implementation implements HLS by seeking within the input source (as specified by the segment denoted in the 'm3u' playlist), and live input sources are not seekable. Note line 124 of "liveMedia/RTSPServerSupportingHTTPStreaming.cpp". This is why we currently support HLS only on streams that come from seekable files. (And Transport Stream files, to be seekable, have to have a corresponding ".tsx" file.) To implement HLS on a live source, one would have to develop an appropriate "ServerMediaSubsession" subclass that sits in front of the live source, caching recent data, and presenting this cached data - to the server - as a seekable object. (You'd also have to make changes to the playlist.) This is probably doable, but would be a lot of work. Ross Finlayson Live Networks, Inc. http://www.live555.com/
_______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel