I am not using the "LIVE555 Media Server" because I didn't think it could do 
Http Live Streaming.**
I have my own web server and generate the index on the fly. This is very simple 
and works well, it is just the contents of the .ts file that are incorrect.
I think this because the saved .ts file is also unplayable with VLC when other 
recorded files from the same H264 source play fine.
I do not know if the ts file is just a container or if it needs to be wrapped 
around RTP that then contains the Elementary Stream data.
Or perhaps the frames coming to the MPEG2TransportStreamFromESSource are looked 
at to determine the meta data and non payload stuff. I have an aggregated 
keyframe that contains the SPS,PPS and the keyframe slices. I am gonna have VLC 
dump a ts file and do the byte-by-byte comparison, I just thought I was maybe 
missing something fundamental.

**HTTP Live Streaming is delayed by usually 3 - 10 second chunks or 30 seconds. 
The index (playlist ) does not contain the end marker and the client just goes 
back for more when it runs out. So ... HTTP almost Live Streaming.

From: live-devel-boun...@ns.live555.com 
[mailto:live-devel-boun...@ns.live555.com] On Behalf Of Ross Finlayson
Sent: Tuesday, December 13, 2011 9:08 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] mpeg2transportstreamfromessource

I have an existing multi rtsp source application that records video to disk and 
streams saved video and live video across our own http protocol. I am now 
trying to add HTTP Live Streaming for portable devices. I go to the point where 
all the connections are happening and index files and ts files are created but 
the .ts files containing the H264 video are not playable. I don't know what I 
am doing wrong.

If you stream these (indexed) files using the (original, unmodified) "LIVE555 
Media Server" application, can iPhones or iPads receive the stream OK?  If not, 
then the problem is probably that the iPhone/iPad is unhappy with some feature 
of the H.264 (e.g., the H.264 "profile").  (If that's the case, then there's 
nothing we can do about this; you need to modify your encoding).


I have an evvironment and scheduler and a MPEG2TransportStreamFrameFromSource 
instance with a ESSource modeled after the DeviceSource and a class that 
inherits from MediaSink for the sink. Frames are added into the source and 
everything flows with 188 byte packets coming out the other side. The eventloop 
calls my sink and I add the 188 byte packets into the buffer that represents 
the .ts file. (it is all in memory).  The web server creates the index file 
(.m3u8 playlist) and the client comes back for the file. It downloads the file 
to disk in Firefox on windows and tries to play the video on the iPad.

??? I don't understand what this has to do with HTTP Live Streaming.  For our 
server code to do HTTP Live Streaming, you *must* be streaming *indexed* 
Transport Stream *files*.  Our implementation of HTTP Live Streaming *cannot* 
work with a live input source, even if you (somehow) have made the data look 
like a file, because the file also needs to be indexed, and that's something 
that you can do only with a prerecorded file.

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.1873 / Virus Database: 2108/4679 - Release Date: 12/13/11
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to