Ticket #1126 (closed bug: fixed)

Opened 2 years ago

Last modified 2 years ago

Detect hard-coded RTMP ports (that break tunnelling)

Reported by: jeroen Owned by: jeroen
Priority: Milestone: Player 5.5
Component: flash Keywords:
Cc: Forum thread:

Description

Here's the feedback from a customer using Wowza:

Every now and then (perhaps once every 5-10 plays of the video), JW Player shows the error:

Application folder ([install-location]/applications/:80) is missing

This has come from Wowza, and we can see it in the Wowza error logs. If we look in the Wowza access log, we can also see the following (this is an extract of a few of the columns):

[any] 1935 rtmpe://avtest.derby.gov.uk:1935/vodsecure 10.132.36.67 rtmpe
[any] 1935 rtmpe://avtest.derby.gov.uk:1935/vodsecure 10.132.36.67 rtmpe
[any] 1935 rtmpe://avtest.derby.gov.uk:1935/vodsecure 10.132.36.67 rtmpe
[any] 1935 rtmpte://avtest.derby.gov.uk:1935:80/vodsecure 172.16.1.88 rtmpte (HTTP-1.1)
[any] 1935 rtmpe://avtest.derby.gov.uk:1935/vodsecure 10.132.36.67 rtmpe
[any] 1935 rtmpe://avtest.derby.gov.uk:1935/vodsecure 10.132.36.67 rtmpe

I’ve highlighted the rows with the problem – My hypothesis is that due to a busy network or server, port 1935 isn’t responding fast enough for JW Player, so it’s trying port 80 instead, but the problem is that it isn’t stripping off the :1935 port number first. This causes Wowza to think that the application name we are trying to access is called “:80”, instead of “vodsecure”.

Change History

comment:1 Changed 2 years ago by jeroen

  • Type changed from enhancement to bug

comment:2 Changed 2 years ago by jeroen

This specific issue should be fixed by detecting (and stripping) the port number in the tunneling logic. That logic should see the :1935 and replace it with :80 instead of amending :80.

In addition to this, I'll also extend the time the player allows the server to respond before moving to rtmpt. That's part of #1151

comment:4 Changed 2 years ago by jeroen

  • Status changed from new to closed
  • Resolution set to fixed

Provided RTMPT kicks in (see #1151 for that), the player now does see hardcoded ports. So when an original streamer was defined like this:

rtmp://myserver.com:1935/app

The 5.4 player returned this streamer for tunneling:

rtmpt://myserver.com:1935:80/app

But the 5.5 player returns this value:

rtmpt://myserver.com:80/app
Note: See TracTickets for help on using tickets.