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

Reply via email to