Wowza Community

HLS playback issues with JWPlayer 6.8

Hello,

We’ve received complaints from our customers using JW Player for delivery of HLS streams. Playback starts fine but after a period of time (anywhere from 15 minutes to a couple of hours), the player loses the active session to the edge server and initiates a new session for the subsequent chunk requests. Our wowza edge servers are load balanced and as a result, the new session ends up hitting a different edge. The new edge, having no knowledge of the chunks or the session id, rejects the session thus stopping playback. Is there anything that can be done on the server side to help resolve this issue? Have you received similar complaints from other wowza users? We’re running a Live Repeater Origin Edge configuration with both the Origin and the Edge running 3.6.4.01.

Thanks!

Hi there,

Are you packetizing on the origin or edge? If packetizing on the origin and repeating on the edges then the chunk list request should trigger the mediaCaster to reconnect on the new edge.

Also, if the user pauses the player then restarts, it may be requesting a ts chunk that has already expired which would cause an error, even with a single server setup.

What sort of load balancer are you using? You should probably be using some sort of persistence setting with the load balancer, as the player will change port number every so often which could cause the load balancer to think it is a new connection. Which could also cause an issue.

Salvadore

Hi,

You can redirect an HTTP session with IHTTPStreamerSession.redirectSession(url)

Richard

We are packetizing on the origin. We’re seeing the issue occur without pausing the player. Our load balancers are already configured to be sticky but will confirm again. We don’t see this behavior when viewing the HLS stream on an iOS device.

Hi Salvadore,

Is it possible to issue a redirect for an hls request? We’ve implemented the onHTTPCupertinoStreamingSessionCreate() method but getHTTPStreamerSession().doSessionRedirect() doesn’t seem to work. The idea here is that if an edge gets a request for a chunk or a child playlist that it doesn’t recognize, it redirects the request to the master playlist instead.

Thanks.

Thanks Richard. Will take a look.