streaming elementary h264 over mpegts/rtp

Hi,

I would like to stream a .264 file over mpegts/rtp using gstreamer pipeline to wowza server.I’m able to do this if i reencode the 264 file using x264enc plugin of gstreamer.

The pipleline used is

gst-launch -v filesrc location=/home/riversilica/New_Driver_Aio/MMap_read/ttest/test_107mb.264 ! decodebin ! x264enc ! video/x-h264 ! mpegtsmux ! rtpmp2tpay ! udpsink host=192.168.2.108 port=10000

Even If i store the output of x264enc and use that file to stream to wowza,im not able to receive it.

What is the way wowza is expecting the packets which contain h264?

Can you let me know how the x264enc in pipeline is able to send the packets to wowza as per wowza’s requirement.

Thank you

Vaishnavi

We do not have much experience with GStreamer so we will most likely not be much help.

Charlie

It looks like this MPEG-TS stream is not properly aligned. Some muxers do not properly start each new RTP packet on a new MPEG-TS sub-packet. This can lead to this warning in the logs. We do not have way to work around this. What encoder is being used for this stream?

Charlie

It should but this is MPEG-TS over RTP. With MPEG-TS over RTP a single RTP packet will container more than one 188 byte MPEG-TS packet. Some muxers will not properly start each RTP packet with a new MPEG-TS packet. They will instead break 188 byte MPEG-TS packets mid-packet.

Charlie

Thank you…

We just wan2 stream a raw h264 in mpegts over rtp. So is there any specific way wowza expects the packets. Even without gstreamer if there’s any other method let us know.

I get this in the log

INFO stream publish mpegts.stream -

INFO server comment - RTPUDPTransport.bind[rtplive/definst]: /0.0.0.0:10000

INFO server comment - RTPMediaCaster.Reconnector[30303804:rtplive/definst:mpegts.stream]: done: 58

INFO server comment - UDPTransport.firstPacket: /0.0.0.0:10000

INFO server comment - LivePlayer.play[rtplive/definst/mpegts.stream]: Dynamic Stream Markers are on.

INFO server comment - RTPDePacketizerMPEGTS.handleRTPPacket: MPEG-TS over RTP

INFO server comment - RTPDePacketizerMPEGTS.handleRTPPacket: videoPID[H264]: 0x40

WARN server comment - RTPPacketFragmentListReader.skip: Bad skip count: -1060979710

WARN server comment - RTPPacketFragmentListReader.skip: Bad skip count: -1204272307

WARN server comment - RTPPacketFragmentListReader.skip: Bad skip count: -1603270914

WARN server comment - RTPPacketFragmentListReader.skip: Bad skip count: -1551071953

WARN server comment - RTPPacketFragmentListReader.skip: Bad skip count: -1576910848

WARN server comment - RTPPacketFragmentListReader.skip: Bad skip count: -1225777029

WARN server comment - RTPPacketFragmentListReader.skip: Bad skip count: -2054929666

WARN server comment - RTPPacketFragmentListReader.skip: Bad skip count: -2109939955

This is my error log

WARN server comment 2011-07-22 11:02:37 - - - - - 68.487 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -2144321537

WARN server comment 2011-07-22 11:02:48 - - - - - 80.015 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -1044847032

WARN server comment 2011-07-22 11:03:47 - - - - - 139.048 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -1817551242

WARN server comment 2011-07-22 11:03:47 - - - - - 139.049 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -121220095

WARN server comment 2011-07-22 11:03:48 - - - - - 139.213 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -1744764211

WARN server comment 2011-07-22 11:03:48 - - - - - 139.214 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -2098269651

WARN server comment 2011-07-22 11:03:48 - - - - - 139.214 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -1963301904

WARN server comment 2011-07-22 11:03:48 - - - - - 139.214 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -803661568

WARN server comment 2011-07-22 11:03:48 - - - - - 139.215 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -327881662

WARN server comment 2011-07-22 11:03:48 - - - - - 139.215 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -238255652

WARN server comment 2011-07-22 11:03:48 - - - - - 139.411 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -1695767510

WARN server comment 2011-07-22 11:04:15 - - - - - 166.254 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -1236080335

WARN server comment 2011-07-22 11:04:15 - - - - - 166.491 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -1025453575

WARN server comment 2011-07-22 11:04:15 - - - - - 166.973 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -907871435

WARN server comment 2011-07-22 11:04:15 - - - - - 166.974 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -587152374

WARN server comment 2011-07-22 11:04:15 - - - - - 166.974 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -465636597

WARN server comment 2011-07-22 11:04:44 - - - - - 195.768 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -1060979710

WARN server comment 2011-07-22 11:04:44 - - - - - 195.769 - - - - - - - - RTPPacketFragmentListReader.skip: Bad skip count: -1204272307

Thank you

Vaishnavi

The encoder is gstreamer x264enc plugin. (h264 encoder). So if i sent one NAL unit of 264 to mpegts,will it be recognized by wowza as valid packet. One mpegts packet is 188 byte packet

Vaishnavi