Issues with JWPLAYER and Adaptive Bit Rate

Afraid that with all the steps I’ve managed to muddle my way through with setting up a working installation, I’m officially at my wit’s end on this one.

I have an origin-edge setup with the edge running transcoder to generate multiple streams (using default template with audio set to disabled).

This much appears to work fine. I’m able to call the ngrp-based .m3u8 file directly from Safari on an iPad for example and it plays the video.

My objective is to be able to play the video across all* devices. I’m using JWPlayer for this. I’m not married to it by any means, I just need a proof of concept right now. This worked flawlessly when it was a simple live-live-repeater setup.

I have followed the instructions the best I could at https://www.wowza.com/docs/how-to-use-jw-player-with-adaptive-bitrate-streaming-from-wowza-streaming-engine

I do in fact get the RSS file when I call it. The contents are as follows:

<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:jwplayer="http://developer.longtailvideo.com/">
	<channel>
		<item>
			<title>STREAM_all</title>
			<description>STREAM_all</description>
			<jwplayer:streamer>rtmp://EDGE_IP:1935/APP/_definst_</jwplayer:streamer>
			<media:group>
				<media:content url="mp4:STREAM_source" bitrate="51200" width="320" height="240"/>
				<media:content url="mp4:STREAM_360p" bitrate="850" width="480" height="360"/>
				<media:content url="mp4:STREAM_160p" bitrate="200" width="214" height="160"/>
			</media:group>
		</item>
	</channel>
</rss>

But of course I end up with nothing on the screen as a result. On the PC with Firefox, I see absolutely nothing. Nothing indicated in page source either. On the iPad, I see a black box with the dimensions supplied in the JWPLAYER JS with a play arrow that does nothing.

It’s probably worth noting that in the player’s assigned DIV (mediaplayer), I do have text indicating JavaScript is required and that text disappears indicating to me that the JWPlayer is doing something with the container on all platforms, but I’m not seeing anything in way of video.

Any ideas? I tried following along with others having the issue in the aforementioned thread, but I have to be honest in that I’m not sure what to do. Copying the RSS contents to playlist.xml and specifying it as the playlistfile does not appear to work for me. I don’t know how to use the debug player, if that’s meant for client or host (client being PC, host being Linux).

Brad,

If it is just a white screen, you might have the .js or .swf file in a different place than you are referencing it.

Richard

Are you connecting to Wowza? Run Wowza in stand-alone (/bin/startup.bat) mode so you can see log output in the console. When you click play you should see log output immediately, it might show ERROR or WARN messages but there should be something. Otherwise you are not connecting to Wowza.

You can take the RSS output and save it to a file alongside player.swf instead of using the link.

Richard

StreamManager and ngrp groups? Please explain what you are doing. From source, to encoder, to Wowza, to player.

Richard

StreamManager is used to start MediaCaster streams, for example IP cameras and mpeg-ts encoders?

StreamManager will not be listing ngrp groups.

What is the source?

If you explain what you are doing in more detail I can help.

Richard

Use playlistfile instead of playlist. There is an example here

https://www.wowza.com/docs/how-to-use-jw-player-with-adaptive-bitrate-streaming-from-wowza-streaming-engine

Richard

You also have a space after the ngrp: prefix. Sometimes the forum adds spaces, but I think that is what you pasted in:

 http://s4.tilda.com.tr/live/ngrp: onur_all/jwplayer.rss

It should be:

http://s4.tilda.com.tr/live/ngrp:onur_all/jwplayer.rss

which works:

<rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:jwplayer="http://developer.longtailvideo.com/" version="2.0">
<channel>
<item>
<title>onur_all</title>
<description>onur_all</description>
<jwplayer:streamer>rtmp://s4.tilda.com.tr/live/_definst_</jwplayer:streamer>
<media:group>
<media:content url="mp4:onur_360p" bitrate="663" width="640" height="360"/>
<media:content url="mp4:onur_270p" bitrate="249" width="480" height="270"/>
<media:content url="mp4:onur_audioonly" bitrate="49"/>
</media:group>
</item>
</channel>
</rss>

Richard

I just tested in JW Player 6 and evidently the .rss playlist is deprecated, it no longer works. The smil version does work though.

file: "http://localhost:1935/vod/smil:sample.smil/jwplayer.smil"

However, you are using Wowza version 3.1.2 build1624, and support for smil in JW Player was added in 3.5. So you must upgrade to do this with JW Player 6. It should still work in JW Player 5, but I suggest upgrading Wowza instead of downgrading JW Player. You can upgrade with this patch:

https://www.wowza.com/downloads/WowzaMediaServer-3-6-2/WowzaMediaServer-3.x.x-3.6.2.zip

And while you at it you might as well apply the latest patch, which you would copy over the above upgrade patch

Richard

Did you copy old configuration files from the old version to the new, specifically /conf/VHost.xml? That’s my guess, since the rss version still works but the smil file doesn’t. If so, please revert.

Richard

You messed it up when you copied the old files, the change you need is in the new VHost.xml

Also, you changed the URL. It was correct before, now it is wrong. Go back to the URL you had before, and revert to the new configuration files. Or just re-install Wowza. It might be difficult to straighten things out after copying old conf files over the patch.

Richard

There is no automated way to generate smil file

Richard

Refer to the 2nd example is the JW Player 6 Guide

Richard

This still works:

http://s4.tilda.com.tr:80/vod/smil:onur.smil/jwplayer.rss

But this still does not work:

http://s4.tilda.com.tr:80/vod/smil:onur.smil/jwplayer.smil

I know you mucked up the conf files, so I recommend you do a fresh install. The above works in Wowza 3.6.2

Upgrade Wowza (correctly) or downgrade JW Player to version 5. I recommend upgrading Wowza. But don’t copy old configuration files over it, much of the upgrade is in those files.

Richard

Again, if you do a fresh install this will work. Try that.

Richard

I don’t recommend this based on what you have told me, but you can probably just add the necessary RequestFilter to the /conf/VHost.xml file. Search for “com.wowza.wms.http.HTTPProviderMediaList”, then replace the RequestFilter below that to this:

<RequestFilters>*jwplayer.rss|*jwplayer.smil|*medialist.smil|*manifest-rtmp.f4m</RequestFilters>

But fresh install is still recommended

Richard

Be sure to re-start Wowza after this change

Richard

Consider my prior suggestions

Richard

Are you using the jwplay.rss or jwplayer.smil?

Since only the jwplayer.rss feed works for you, and that works in JW Player 5, be sure you are using that

Richard

JW player uses Flash Dynamic Streaming, the user does not select quality, the player switches as necessary. Glad it’s working. They have a quality monitor plugin that shows the switching and other data.

Richard

What version of Wowza are you using?

In my test using 1936, the meta base value shows 1936.

http://localhost:1936/vod/smil:sample.smil/jwplayer.smil

sample.smil

<smil>
<head>
<meta base="rtmp://localhost:1936/vod/_definst_"/>
</head>
<body>
<switch>
<video src="mp4:sample.mp4" system-bitrate="1500000"/>
</switch>
</body>
</smil>

Richard