Wowza Community

Variable bitrate stream name, Flash client

We are having trouble implementing variable bitrate Flash client for Wowza. With ordinary streams, everything works perfectly (the video is played smoothly). But if we switch the stream name to, for example, ngrp:mpegts.stream_all/manifest.f4m (taken from the example on Wowza support site), in order to connect to a multi-bitrate stream, Wowza access logs show that the flash client discards everything before the colon (:slight_smile: sign, and actually tries to connect to a stream named mpegts.stream_all/manifest.f4m (which doesn’t exist). The server is configured correctly, because the stream works when invoked from JW player, so the problem has to be with the flash client.

Is this the right way to invoke this stream, or are we doing something wrong?

Here is the relevant piece of code used to connect to the server:

conn = new NetConnection();
conn.connect("10.0.0.7");         // Wowza IP
var streamPlayer = new NetStream(conn);
var streamPlayerClient:Object = new Object();
streamPlayer.client = streamPlayerClient;	
// streamPlayer.play("mpegts.stream");                                                  // this one works
streamPlayer.play("ngrp:mpegts.stream_all/manifest.f4m");                      // this one doesn't, showing only mpegts.stream_all/manifest.f4m on server
	

Thank you for your help.

Hi

Are you using Flash HTTP because if your using Flash RTMP you don’t need manifest.f4m on the end of the stream name.

I’m not sure if that will fix the problem because I found the “ngrp:myStream_all” at the bottom of this page,

https://www.wowza.com/docs/how-to-set-up-and-run-wowza-transcoder-for-live-streaming

There is no mention of rtmp connections with the “ngrp” method, they are all HLS connection types.

Are you using OSMF player for testing?

There is a Wowza simple example player for flash HTTP at this location :

Windows - [Wowza-Install]\examples\SimpleVideoStreaming\clientOSMF\bin-release

Linux - [Wowza-Install]/examples/SimpleVideoStreaming/clientOSMF/bin-release

Jason

Take a look at JW Player’s RTMP Dynamic Streaming plugin:

http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/16012/setting-up-rtmp-dynamic-streaming

And here is a bridge between Wowza MediaPlaylist (ngrp or smil) and JW player .rss file used in the above plugin:

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

Richard

You can use RTMP Dynamic Streaming in Flash, and JW Player has a plugin:

http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/16012/setting-up-rtmp-dynamic-streaming

And you can leverage server-side smil or transcoder ngrp to generate the rss for JW Player

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

Richard

Thank you for your response.

I have done some more research since my original post, and came across this:

http://www.wowza.com/forums/showthread.php?15503-Using-Transrate-xml-Works-on-IPad-Iphone-not-Flash-Clients

Around the middle of the page it is said that (server-side) Adaptive bitrate is not supported for Flash RTMP clients, but only for HTTP Flash streaming (which we are not using). Is that true, or did I misunderstand the post? If it is true, it seems that the only solution would be to implement stream switching on the client side.

Do you have any advice on implementing this functionality on the client side, because we have a custom Flash client?