[Live-devel] invalid ts stream

Jeff Shanab jshanab at smartwire.com
Fri Dec 23 05:33:36 PST 2011


I wanna thank you for looking, I thought I was going nuts. I did get it to stream! It turned out to be 1 bit. Like I mentioned before, I had posted on that list a week before posting here!. I got a reply when I posted the ts file. The developer who wrote the mediastreamvalidator took one look and pointed to the timestamps!

In trying to make it work, one of the things I did was enable DTS in the PES headers and put the DTS in there, What I missed was that the first 4 bits change from 2 for the PTS to 3 for the PTS and 1 for the DTS.

This :
   // Fill in the PES PTS (from our SCR):
  fInputBuffer[9] = 0x20|(fSCR.highBit<<3)|(fSCR.remainingBits>>29)|0x01;
  fInputBuffer[10] = fSCR.remainingBits>>22;
  fInputBuffer[11] = (fSCR.remainingBits>>14)|0x01;
  fInputBuffer[12] = fSCR.remainingBits>>7;
  fInputBuffer[13] = (fSCR.remainingBits<<1)|0x01;

Had to change to this:

// Fill in the PES PTS (from our SCR):
  fInputBuffer[9] = 0x30|(fSCR.highBit<<3)|(fSCR.remainingBits>>29)|0x01;
  fInputBuffer[10] = fSCR.remainingBits>>22;
  fInputBuffer[11] = (fSCR.remainingBits>>14)|0x01;
  fInputBuffer[12] = fSCR.remainingBits>>7;
  fInputBuffer[13] = (fSCR.remainingBits<<1)|0x01;

    // Fill in the PES DTS (from our SCR):
  fInputBuffer[14] = 0x10|(fSCR.highBit<<3)|(fSCR.remainingBits>>29)|0x01;
  fInputBuffer[15] = fSCR.remainingBits>>22;
  fInputBuffer[16] = (fSCR.remainingBits>>14)|0x01;
  fInputBuffer[17] = fSCR.remainingBits>>7;
  fInputBuffer[18] = (fSCR.remainingBits<<1)|0x01;

Understanding that I have gorilla subclassed the MPEG2TransportStreamFromESSource and MPEG2TransportStreamMultiplexor into MPEG2TransportStreamFromESSource4iOS and MPEG2TransportStreamMultiplexor4iOS that makes my segmenter trivial.

I now have a RTSP and my own PUSH RTSP along with HTTP multiple in, out, record and HLS streaming built on mongoose and the live555 libs. The apple validator still throws a warning about timestamps which I think is the cause of it to not play back smoothly after the first 3 segments, but I am working on it.


PS, I will look at that Xmas present, sounds great! I was thinking of writing one in my spare time (*cough*)





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

OK, I couldn't see anything obviously wrong with this TS file.  It played OK in VLC, and I was able to stream it (out and in) OK via RTSP/RTP, using our software.

But when I tried streaming it to an iPhone via HTTP Live Streaming from "live555MediaServer" (after indexing the file), it didn't work at all.

Unfortunately I don't know whether this is because there's something about your H.264 profile that's making the iPhone unhappy, or whether this is because there's something about the TS file that's making the iPhone (using HTTP Live Streaming) unhappy.

So, your next task is to find out - via appropriate Apple mailing list(s) and/or forum(s) - what is going wrong.  (You're not allowed to post on *this* mailing list any more about this issue until you've done that :-)

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.1890 / Virus Database: 2109/4697 - Release Date: 12/22/11
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111223/adb762d3/attachment.html>


More information about the live-devel mailing list