Problem with Adobe HDS!

Hi!

We configured the transcoder for three streams 360p, 240p and 160p. With Apple HLS and Microsoft Smooth streaming, there seems to be no issues. Even after few days running the stream switching is smooth and fast. We use the Flowplayer for Adobe HDS format. First 1 or 2 days it works sort of OK, (not as good as HLS or Smooth streaming) because it has trouble selecting the correct bitrate. However, in case of Adobe HDS, selecting the correct stream is a function of the player plugin.

Now, after about 2 days since the server restarted, the Flowplayer is no longer able to correctly switch between streams. Here is how that looks:

1.) When the switch to higher bitrate should happen, the video image freezes, audio skips few seconds backward. Finally audio and video continue in sync, when audio again reaches the position at which the bitrate switch happened.

2.) When switch to other bitrate should happen, the stream can simply freeze.

3.) It does not matter how many times the web page is reloaded or browser restarted. The behavior is consistent.

While all these is happening, Apple HLS and MS Smooth streaming work without issues. So It was my conclusion that something happens to the Wowza server on the Adobe HDS processing path which causes for HDS to loose its track.

Are there any known issues with relation to HDS or Flowplayer? Can something to be done to fix this, because it is clearly Wowza server that goes bad as well. I am not saying that Flowplayer is doing everything right, but normally the sever should no just fall-over in case of a problem on the player.

(It is also possible that server gets confused through some other third party video player which uses the same Adobe HDS URL as our web page. )

Thanks!

Atmapuri

Hi there,

Using this guide as a reference:

Live adaptive bitrate playback with SMIL file example

you have all the flowplayer.*.swf files referenced in your embed script available in your flowplayer folder from the webserver?

Can you check with “Firebug” if all the necessary .swf files are properly loaded by the browser?

Salvadore

Dear Salvadore,

We use URL with manifest.f4m. Here is the javascript:

adobeHds: function(siteUrlBase, adobeHdsUrlBase) {

flowplayer(“player”, siteUrlBase + “/js/flowplayer/flowplayer-3.2.18.swf”, {

plugins: {

f4m: {

url: siteUrlBase + “/js/flowplayer/flowplayer.f4m-3.2.10.swf”

},

httpstreaming: { url: siteUrlBase + “/js/flowplayer/flowplayer.httpstreaming-3.2.11.swf” },

bwcheck: {

url: siteUrlBase + “/js/flowplayer/flowplayer.bwcheck_httpstreaming-3.2.13.swf”,

netConnectionUrl: siteUrlBase + “/js/flowplayer/flowplayer-3.2.18.swf”,

dynamic: true,

}

},

clip: {

url: ‘manifest.f4m’,

autoPlay: true,

urlResolvers: [‘f4m’,‘bwcheck’],

provider: ‘httpstreaming’,

live: true,

scaling: ‘fit’,

// directory where the manifest and video fragments are stored

baseUrl: adobeHdsUrlBase

}

});

},

There are no load errors reported by Firebug. Also, note that sometimes the stream runs without errors for a day or more and is able to switch relatively well between different bitrates. The problem is corruption over time. And only for Adobe HDS.

Thanks!

Atmapuri

Dear Salvadore,

The code I posted is working because it is the recommended way by Flowplayer community. There is an article on their website and I mostly only copied it over. We tried smil example from Wowza before, but your example is old and the automatic bitrate switch never happened. It is always running at the lowest bitrate.

I can only conclude that Adobe HDS problems have something to do with Wowza server degradation over time because:

“The example works when server restarts fresh.” I can close and open any number of browser windows on any computer. But after some time (hours or days) it starts to misbehave. You open fresh browser window and the switching is completely messed up. Since the player code remained unchanged this can only mean that the server somehow got corrupted.

Kind Regards!

Atmapuri

Atmapuri, I am not sure if this will work.

Can you configure your setup according to this guide, which is the recommended method:

Live adaptive bitrate playback with SMIL file example

If this will not meet your needs can you please explain why, and what exactly it is you are trying to do?

Thanks.

Salvadore