Wowza Community

Dynamic Streaming with JW Player 6

I’ve succeeded in getting single stream RTMP streaming to work with my EC2 instance of Wowza and JW Player 6, but I’m have a problem with Dynamic Streaming. I’m worked with the JW Player people to confirm my HTML, JS and the SMIL is correctly formatted, and they look like they are.

Here is a link to my test site: http://deploy.whateverdigital.com/

Here is my SMIL file:

<smil>
	<head>
		<meta base="rtmp://54.241.243.106/vod/">
	</head>
	<body>
		<switch>
			<video src="izor_ch3_1.mp4" system-bitrate="250000" witdh="480" height="360"/>
			<video src="izor_ch3.mp4" system-bitrate="450000" width="1280" height="720"/>
		</switch>
	</body>
</smil>

In my Web Console, when I try to load the SMIL file, the last entry is the GET for the crossdomain.xml, but I don’t think it’s getting access to it. I’ve followed the instructions I can find and the vHost.xml looks correct but it looks like Wowza isn’t serving the crossdomain.xml file. How can I confirm this?

Thanks!

First, add port 1935 because your Wowza server is not responding on port 80.

http://54.241.243.106:1935/vod/smil:izor_ch3.smil/jwplayer.smil

What version of Wowza are you using? This requires a recent version.

Does the file izor_ch3.smil exist?

Richard

The smil should be in the /content folder, unless you have modify the StorageDir in the Application.xml.

Something is wrong. Re-start Wowza and run through tests, try to load that URL in a browser. Then stop Wowza and zip up /conf and /logs folders and send them to support@wowza.com

Make sure to do the re-start first before testing.

Include a link to this thread for reference.

Richard

If this is setup correctly, and the smil you reference does not exist, the output looks like this:

<smil>
<head>
<meta base="rtmp://localhost:1935/vod/_definst_"/>
</head>
<body>
<switch></switch>
</body>
</smil>

Richard

Mike,

Sorry for the late response, but there does not seem to be a way to change this behavior. That HTTPProvider returns an empty smil in that case.

Richard

If this is setup correctly, and the smil you reference does not exist, the output looks like this:

<smil>
<head>
<meta base="rtmp://localhost:1935/vod/_definst_"/>
</head>
<body>
<switch></switch>
</body>
</smil>

Richard

Sorry to open an old thread, but what you have stated above is exactly my issue right now. Occasionally our .smil file just isn’t created quite yet when the player tries to load, and for a number of reasons, we can’t just disable the player before the .smil file exists. In our case, the request to the .smil file returns the empty manifest with an HTTP 200 Response, Ok. But we want it to 404, not respond with an empty manifest. Is there a boolean flag or something that can be set?

Thanks,

MIke

Sorry to open an old thread, but what you have stated above is exactly my issue right now. Occasionally our .smil file just isn’t created quite yet when the player tries to load, and for a number of reasons, we can’t just disable the player before the .smil file exists. In our case, the request to the .smil file returns the empty manifest with an HTTP 200 Response, Ok. But we want it to 404, not respond with an empty manifest. Is there a boolean flag or something that can be set?

Thanks,

MIke

Here is a link to a smil file that doesn’t exist on the server:

http://ms-4.sbgnet.com:1935/mediacache/definst/smil:mcache/home/2014/02/clips/OTg5NDNiOWQwMTY1.smil/jwplayer.smil

I renamed it to .smil.bak, so the following link works

http://ms-4.sbgnet.com:1935/mediacache/definst/smil:mcache/home/2014/02/clips/OTg5NDNiOWQwMTY1.smil.bak/jwplayer.smil

Both return HTTP 200 responses. Hoping for an HTTPStreamer property or something like:

mikeDoesNotWant200ResponsesForMissingSmilFiles

true

boolean

:slight_smile:

Thanks!

Mike

Hey Richard,

Well that helped get me to the next part. I’m using Wowza Media Server 3 for EC2 3.5.2.01 build 3917.

Now instead of timing out, JW Player immediately throws an error about manifest not found or invalid. The console shows it now getting past the crossdomain request, and it’s responding with 200 OK for the SMIL request (http://54.241.243.106:1935/vod/smil:izor_ch3.smil/jwplayer.smil). The file izor_ch3.smil does exist in the Storage Directory that I assigned in the Application.xml, along with the mp4 files in the SMIL file.

One clue is I’m getting the same HTTP response (200 OK) even when I change the SMIL file name from izor_ch3.smil to !izor_ch3.smil. So Perhaps I don’t understand where the smil file should reside on the server, or is there another configuration I need to change to point SMIL requests to my Storage Directory?

Richard and Jason,

Thank you so much for your help. It solved my issue and everything works as it should. For anyone else with this problem, what ended up happening is the EC2 install for Wowza was missing a filter in the VHost.xml. Below is the email I got from Wowza that solved my issue.

Hi,

I can see that you may need to add to a line into the [Wowza-install]/conf/VHost.xml.

Under the section you will see a yours looks like this:

com.wowza.wms.http.HTTPProviderMediaList

*jwplayer.rss|*medialist.smil|*manifest-rtmp.f4m

none

>

You need to add this:

|*jwplayer.smil directly after *jwplayer.rss

The result should look like this:

com.wowza.wms.http.HTTPProviderMediaList

*jwplayer.rss|*jwplayer.smil|*medialist.smil|*manifest-rtmp.f4m

none

I’m really pleased with the support Wowza provides, and more importantly I now have a happy client.