Wowza Community

MediaCache and SMIL

I’m trying to use adaptive San Jose HTTP, Smooth Streaming and Apple Cupertino streams with the MediaCache AddOn.

The origin HTTP server has the files:

This Flash URL works for me:

http://WowzaHost:1935/mediacache/definst/mp4:http/OriginHost:8080/MediaFile_2048.mp4/manifest.f4m

This does not:

http://WowzaHost:1935/mediacache/definst/smil:http/OriginHost:8080/MediaFile.smil/manifest.f4m

I see an HTTP request coming from Wowza to the origin (GET /MediaFile.smil HTTP/1.1" 200) but no further requests. Wowza then returns a nearly empty manifest.f4m. I’m pretty sure the .SMIL is valid as it will stream off the Wowza local file system (http://WowzaHost:1935/localapp/MediaFile.smil/manifest.f4m)

Any idea what I am doing wrong with the SMIL URL or SMIL file?

What you show looks right. Post the smil contents to look at that.

Check for .txt extension on the smil file.

Check the error log, is there any message about the file not being in cache?

Richard

  1. Server must support HTTP 1.1

  2. Server must support byte ranges

  3. If you include the port as part of the setting it should work. Example:

<BasePath>http://www.mydomain.com:8080/</BasePath>

Charlie

Zip up and send conf and logs to support@wowza.com

Include a link to this thread.

Richard

Here is what the Wowza console is reporting (same in the error log)

INFO sanjose connect 1980715798 -

INFO stream create http/8080/MediaFile.smil -

WARN server comment - MediaListReaderSMIL.readMediaList[mediacache/definst:http/OriginHost:8080/MediaFile.smil]: Error reading file: 0 != 182

WARN server comment - HTTPStreamerSanJoseIndex.indexFile[mediacache/definst/smil:http/OriginHost:8080/MediaFile.smil]: MediaList is empty.

Here are the .SMIL contents:

I have isolated a few of the MediaCache issues I ran into:

  1. If the origin HTTP server does not full support HTTP 1.1 keep-alive, the MediaCache AddOn will error out with a non-descript message. Usually something like: Error reading file: 0 != 182.

This can be seen by examining the HTTP communications, Wowza requests a .SMIL file with keep-alive: true. If the HTTP Origin server responds with connection: close, Wowza will still send the next request on the same (now closed) connection. This is not a major issue as most HTTP servers support HTTP 1.1.

  1. If the HTTP Origin server does not fully support HTTP Range responses, the MediaCache AddOn will error out with a non-descript message. Usually something like: Error reading file: 0 != 182.

In my case, I was using a very small HTTP server that could handle HTTP Range requests but did not always return the correct Content-Range header response. Again, this is not a major issue but it would be nice to see a more descript error message.

  1. MediaCache does not seem to support HTTP origin servers that are not listening or port 80. For example, I set up an origin server on 192.168.209.241:9740. When MediaCache requests the .SMIL file, it will error out with:

ERROR server comment - MediaReaderFactory.getInstance: Missing definition for 192.168.209.241sanjose

Once I changed the origin server to port 80, everything worked.