[Live-devel] HTTP Live Streaming from a camera advice

Jeff Shanab jshanab at smartwire.com
Wed May 16 06:01:46 PDT 2012


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-bounces at ns.live555.com [mailto:live-devel-bounces at 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/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20120516/7304354f/attachment-0001.html>


More information about the live-devel mailing list