Wowza Community

Timing out on MPTS multicast join

Hello!

Instead of continuing to pull my hair out over this, I figure I’ll appeal to you all. I’m trying to use WMS on a RedHat EL6 server to connect to the MPTS multicast of a Sencore MRD4400, but it appears to continuously time out.

From the logs:

INFO application app-start definst live/definst

INFO server comment - RTPMediaCaster.create[811495456]

INFO server comment - RTPMediaCaster.init[811495456]

DEBUG server comment - RTPSessionDescriptionDataProviderBasic.rtspSessionTimeout: 15000

DEBUG server comment - RTPSessionDescriptionDataProviderBasic.rtspConnectionTimeout: 4000

INFO server comment - RTPMediaCaster.Reconnector[811495456:live/definst:mpegts.stream]: start: 1

DEBUG server comment - RTPMediaCaster#Reconnector.run: reconnectDelay: 100

INFO server comment - HTTPStreamManager.onHTTPRequest: Publish stream successfully started [live/definst]: flv:mpegts.stream

INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo[live/definst]: URI: udp://239.192.0.200:10000?videoPID=0x310&audioPID=0x300

DEBUG server comment - sdp: v=0

DEBUG server comment - sdp: o=- 1846185774 1846185774 IN IP4 127.0.0.1

DEBUG server comment - sdp: s=WowzaMediaServer

DEBUG server comment - sdp: t=0 0

DEBUG server comment - sdp: a=range:npt=now-

DEBUG server comment - sdp: c=IN IP4 239.192.0.200

DEBUG server comment - sdp: m=mpegts-transport 10000 RTP/AVP 96

DEBUG server comment - sdp: a=rtpmap:96 MP2T/90000

DEBUG server comment - sdp: a=control:mpegts

DEBUG server comment - sdp: a=audioPID:0x300

DEBUG server comment - sdp: a=videoPID:0x310

DEBUG server comment - LiveReceiver.onFlushNotifyClients[live/definst/]: false

DEBUG server comment - LiveReceiver.flushInterval[live/definst/]: 50

DEBUG server comment - LiveReceiver.verboseDebug[live/definst/]: false

INFO stream create - -

DEBUG server comment - RTPDePacketizerMPEGTS.init

INFO server comment - RTPDePacketizerMPEGTS.init: Drop incomplete video frames

INFO stream publish mpegts.stream -

INFO server comment - MulticastTransport.bind[live/definst]: 239.192.0.200/10000

INFO server comment - MulticastTransport.bind: multicastInterfaceAddress: /10.0.0.1

DEBUG server comment - MulticastTransport.bind.joinGroup: multicastInterfaceAddress: /239.192.0.200

INFO server comment - RTPMediaCaster.Reconnector[811495456:live/definst:mpegts.stream]: done: 1

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

INFO server comment - RTPMediaCaster.streamTimeout[811495456:live/definst:mpegts.stream]: timeout:12000 diff:12008 reason:101

INFO server comment - RTPMediaCaster.resetConnection[811495456:live/definst:mpegts.stream]:

INFO server comment - RTPMediaCaster.closeRTPSession[811495456:live/definst:mpegts.stream]

INFO server comment - MulticastTransport.unbind[live/definst]: 239.192.0.200/10000 sent:0 recv:0

INFO stream unpublish mpegts.stream -

INFO stream destroy mpegts.stream -

A tcpdump of the interface shows me that the multicast traffic is coming across:

11:36:55.953753 IP 10.0.0.72.3020 > 239.192.0.200.10000: UDP, length 1316

11:36:55.954327 IP 10.0.0.72.3020 > 239.192.0.200.10000: UDP, length 1316

11:36:55.954903 IP 10.0.0.72.3020 > 239.192.0.200.10000: UDP, length 1316

And I also see these on the interface:

10.0.0.1 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 239.192.0.200 to_ex { }]

10.0.0.1 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 239.192.0.200 to_in { }]

10.0.0.1 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 239.192.0.200 to_ex { }]

But ultimately, I can’t ever seem to join the group. Help please!

Have you seen this guide on How to listen for multicast on a particular inferface ?

Richard

Try setting the Application.xml /RTP /RTSP /RTPTransportMode to “udp”

Also, follow this RTSP guide:

And this trouble-shooting guide

Richard

Great, glad it’s sorted. Thanks for the update

Richard

I have seen it and I’ve tried it.

Here’s with only the VHost updated as suggested:

INFO application app-start definst live/definst

INFO server comment - RTPMediaCaster.create[9052195]

INFO server comment - RTPMediaCaster.init[9052195]

DEBUG server comment - RTPSessionDescriptionDataProviderBasic.rtspSessionTimeout: 15000

DEBUG server comment - RTPSessionDescriptionDataProviderBasic.rtspConnectionTimeout: 4000

INFO server comment - RTPMediaCaster.Reconnector[9052195:live/definst:mpegts.stream]: start: 1

DEBUG server comment - RTPMediaCaster#Reconnector.run: reconnectDelay: 100

INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo[live/definst]: URI: udp://239.192.0.200:10000?videoPID=0x310&audioPID=0x300

DEBUG server comment - sdp: v=0

DEBUG server comment - sdp: o=- -2062705833 -2062705833 IN IP4 127.0.0.1

DEBUG server comment - sdp: s=WowzaMediaServer

DEBUG server comment - sdp: t=0 0

DEBUG server comment - sdp: a=range:npt=now-

DEBUG server comment - sdp: c=IN IP4 239.192.0.200

DEBUG server comment - sdp: m=mpegts-transport 10000 RTP/AVP 96

DEBUG server comment - sdp: a=rtpmap:96 MP2T/90000

DEBUG server comment - sdp: a=control:mpegts

DEBUG server comment - sdp: a=audioPID:0x300

DEBUG server comment - sdp: a=videoPID:0x310

DEBUG server comment - LiveReceiver.onFlushNotifyClients[live/definst/]: false

DEBUG server comment - LiveReceiver.flushInterval[live/definst/]: 50

DEBUG server comment - LiveReceiver.verboseDebug[live/definst/]: false

INFO stream create - -

DEBUG server comment - RTPDePacketizerMPEGTS.init

INFO server comment - RTPDePacketizerMPEGTS.init: Drop incomplete video frames

INFO stream publish mpegts.stream -

INFO server comment - MulticastTransport.bind[live/definst]: 239.192.0.200/10000

DEBUG server comment - MulticastTransport.bind.joinGroup: multicastInterfaceAddress: /239.192.0.200:10000:name:em3 (em3)

INFO server comment - RTPMediaCaster.Reconnector[9052195:live/definst:mpegts.stream]: done: 1

INFO server comment - HTTPStreamManager.onHTTPRequest: Publish stream successfully started [live/definst]: flv:mpegts.stream

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

INFO server comment - RTPMediaCaster.streamTimeout[9052195:live/definst:mpegts.stream]: timeout:12000 diff:12011 reason:101

INFO server comment - RTPMediaCaster.resetConnection[9052195:live/definst:mpegts.stream]:

INFO server comment - RTPMediaCaster.closeRTPSession[9052195:live/definst:mpegts.stream]

ERROR server comment - RTPMulticastListener.unbind: java.net.SocketException: Cannot assign requested address

INFO stream unpublish mpegts.stream -

INFO stream destroy mpegts.stream -

Here’s with both conf/VHost.xml AND conf/live/Application.xml updated:

INFO application app-start definst live/definst

INFO server comment - RTPMediaCaster.create[418787413]

INFO server comment - RTPMediaCaster.init[418787413]

DEBUG server comment - RTPSessionDescriptionDataProviderBasic.rtspSessionTimeout: 15000

DEBUG server comment - RTPSessionDescriptionDataProviderBasic.rtspConnectionTimeout: 4000

INFO server comment - RTPMediaCaster.Reconnector[418787413:live/definst:mpegts.stream]: start: 1

DEBUG server comment - RTPMediaCaster#Reconnector.run: reconnectDelay: 100

INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo[live/definst]: URI: udp://239.192.0.200:10000?videoPID=0x310&audioPID=0x300

DEBUG server comment - sdp: v=0

DEBUG server comment - sdp: o=- 2109999969 2109999969 IN IP4 127.0.0.1

INFO server comment - HTTPStreamManager.onHTTPRequest: Publish stream successfully started [live/definst]: flv:mpegts.stream

DEBUG server comment - sdp: s=WowzaMediaServer

DEBUG server comment - sdp: t=0 0

DEBUG server comment - sdp: a=range:npt=now-

DEBUG server comment - sdp: c=IN IP4 239.192.0.200

DEBUG server comment - sdp: m=mpegts-transport 10000 RTP/AVP 96

DEBUG server comment - sdp: a=rtpmap:96 MP2T/90000

DEBUG server comment - sdp: a=control:mpegts

DEBUG server comment - sdp: a=audioPID:0x300

DEBUG server comment - sdp: a=videoPID:0x310

DEBUG server comment - LiveReceiver.onFlushNotifyClients[live/definst/]: false

DEBUG server comment - LiveReceiver.flushInterval[live/definst/]: 50

DEBUG server comment - LiveReceiver.verboseDebug[live/definst/]: false

INFO stream create - -

DEBUG server comment - RTPDePacketizerMPEGTS.init

INFO server comment - RTPDePacketizerMPEGTS.init: Drop incomplete video frames

INFO stream publish mpegts.stream -

INFO server comment - MulticastTransport.bind[live/definst]: 239.192.0.200/10000

INFO server comment - MulticastTransport.bind: multicastInterfaceAddress: /10.0.0.1

DEBUG server comment - MulticastTransport.bind.joinGroup: multicastInterfaceAddress: /239.192.0.200:10000:name:em3 (em3)

INFO server comment - RTPMediaCaster.Reconnector[418787413:live/definst:mpegts.stream]: done: 1

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

DEBUG server comment - ServerHandler.handleSessionIdle: idleTimeout: 32

INFO server comment - RTPMediaCaster.streamTimeout[418787413:live/definst:mpegts.stream]: timeout:12000 diff:12011 reason:101

INFO server comment - RTPMediaCaster.resetConnection[418787413:live/definst:mpegts.stream]:

INFO server comment - RTPMediaCaster.closeRTPSession[418787413:live/definst:mpegts.stream]

INFO server comment - MulticastTransport.unbind[live/definst]: 239.192.0.200/10000 sent:0 recv:0

INFO stream unpublish mpegts.stream -

INFO stream destroy mpegts.stream -

Here are my XML files for reference:

VHost.xml http://pastebin.com/raw.php?i=7ys89Hey

Application.xml http://pastebin.com/raw.php?i=ugt4MfuD

Thanks!!

Ping!

Can you think of anything else I might be able to check/try/provide to get moving on this?

It was a firewall issue. I added “-A INPUT -m pkttype --pkt-type multicast -j ACCEPT” before “-A INPUT -j REJECT --reject-with icmp-host-prohibited” in /etc/sysconfig/iptables and that did the trick.

Thanks!