Adaptive Streaming from Content Directory sub folders

Hi,

We currently run a VOD adaptive streaming service, not using Wowza, where the content is stored in sub folders of the main content directory and we are investigating whether we can use Wowza to replace the current streaming engine.

When I try to build a SMIL definition via the streaming engine manager UI, I see that the / character is not allowed in the source file name. Does this means that VOD adaptive streaming can only be done when the source files are in the main content directory and not in sub folders?

If it is possible to run VOD adaptive streaming for files in sub folders could you please provide an example SMIL for both HDS and HLS delivery?

Thanks in advance

Peter

Hello there.

You reference the videos in the .smil file relative to the .smil files location.

So, for instance, an application named “vod” with a sub-directory named “test” you would put the .smil (test.smil for example) along with the ABR set of files in the “test” directory. The you would have something like this:

<smil>
	<head>
	</head>
	<body>
		<switch>
			<video src="mp4:bigbuckbunny_450.mp4" system-bitrate="450000"/>
			<video src="mp4:bigbuckbunny_750.mp4" system-bitrate="750000"/>
		</switch>
	</body>
</smil>

And the playback URL would look like this:

http://[wowza-ip]:1935/vod/[B]_definst_[/B]/smil:test/test.smil/playlist.m3u8

App instance part is only needed when content is located in a sub-directory and you are using one string. HTTP urls are always one string. RTMP players often split the connection part from the stream part, but some don’t and in that case you also need to use definst between the application name and the path.

Regards,

Salvadore

Peter,

The rendition which is being played can sometimes be found from the player side as it’s the one which is doing the switches based on the end user’s available bandwidth.

You could also write a custom Module by extending ModuleBase:

public void onHTTPCupertinoStreamerRequest(HTTPStreamerSessionCupertino httpSession, HTTPStreamerCupertinoRequestContext reqContext){
		getLogger().info("onHTTPCupertinoStreamerRequest");
	}

Take a look at this guide:

How to extend Wowza Streaming Engine using the Wowza IDE

And the Wowza API

If you need additional assistance with this please consider posting a request to the find a consultant forum

Regards,

Salvadore

Thanks Salvadore, that makes a lot of sense and does exactly what we need.

Peter

Hi Salvadore,

How would I check that the stream was changing the selected video bit rate from the management UI?

Peter