Wowza Community

How to do adaptive bitrate for live streaming apps

Hi… I’m new with Wowza, i am followed the tutorial here https://www.wowza.com/docs/how-to-do-adaptive-bitrate-streaming, i’am using Wowza 4.0.3 (updated) with jwplayer premium, but its not worked, here’s my code with jwplayer

[HTML]

[/HTML]

i did change the atribute file to http://202.158.39.140:1935/live/smil:myStream.smil/jwplayer.smil (with smil file) but the same issue occur.

Thanks in advance.

Regards,

Janitra Panji

Hi there,

It looks like you are missing a bit of code here. Try it like this:

<script type="text/javascript">
  jwplayer('mediaplayer').setup({
    'flashplayer': 'player.swf',
    'id': 'playerID',
    'width': '720',
    'height': '306',
    'playlistfile': 'http://202.158.39.140:1935/live/smil:myStream.smil/jwplayer.smil',
    'plugins': {
       'qualitymonitor-2': {}
    }
  });
</script>

Take a look at this guide for more detailed explanations:

How to use JW Player with adaptive bitrate streaming from Wowza Streaming Engine

Salvadore

First, that method of getting the .smil file from Wowza works with JW player’s RTMP Dynamic Streaming implementation. For HLS streaming with JW Player you need to refer directly to the .m3u8 file. However HLS streaming with JW Player is only supported in some versions and license types and in different ways. For HLS streaming to the desktop you need JW Player 6 and the Premium or Enterprise license. For HLS streaming to iOS devices using JW Player, I think you can use JW Player 5 and up and any license type, but this is really just using the HTML5 video tag when playing on iOS devices. So depends on what you are trying to do and what version and license type you have for JW Player.

Testing your HLS url (

http://202.158.39.140:1935/live/smil:myStream.smil/playlist.m3u8

) in VLC, and downloading the playlist.mu38 and its chunklistxx.m3u8 files, it seems like myStream_200, myStream_350 and myStream_500 are not live at the moment.

btw, the qualitymonitor is a JW Player 5 plugin that does not work in JW Player 6 and I think it is only relevant to RTMP dynamic streaming. There is an example of how to do this with their javascript API in this article

VLC is great for testing HLS playback because you can test locally on the same machine instead of device, and you can see data in Tools > Codec Info.

Richard

Janitra,

When I look at your smil I see the underlying streams (myStream_200, myStream_350 and myStream_500) which I have tried to play and are not working.

So first thing is to test these streams one at a time in a the Wowza RTMP test player. One step at a time. This is my test in the Wowza RTMP test player:

rtmp://202.158.39.140:1935/live

myStream_200

I tried rtmp://202.158.39.140:1935/live/myStream_200 in ffprobe and it reports “NetStream.Play.StreamNotFound”.

If you are publishing 3 streams from an encoder, you might not have the bandwidth on the encoder side. The best solution for this is to use the Wowza Transcoder so you can send one higher quality stream, and transcode to several renditions which will always be key frame aligned, which is a requirement for ABR streaming.

Richard

Which Wowza version installed on the centos server? Try updating if not the latest version.

Richard

Hi Salvadore

Hi there,

It looks like you are missing a bit of code here. Try it like this:

<script type="text/javascript">
  jwplayer('mediaplayer').setup({
    'flashplayer': 'player.swf',
    'id': 'playerID',
    'width': '720',
    'height': '306',
    'playlistfile': 'http://202.158.39.140:1935/live/smil:myStream.smil/jwplayer.smil',
    'plugins': {
       'qualitymonitor-2': {}
    }
  });
</script>

Take a look at this guide for more detailed explanations:

How to use JW Player with adaptive bitrate streaming from Wowza Streaming Engine

Salvadore

Still remains an error.

I get an error message from jwplayer “No playable sources found”, I change the attributes playlistfile with files, and add the attribute source, but still have an error with messages “ID Not found on server”.

Janitra

Testing your HLS url (

http://202.158.39.140:1935/live/smil:myStream.smil/playlist.m3u8

) in VLC, and downloading the playlist.mu38 and its chunklistxx.m3u8 files, it seems like myStream_200, myStream_350 and myStream_500 are not live at the moment.

btw, the qualitymonitor is a JW Player 5 plugin that does not work in JW Player 6 and I think it is only relevant to RTMP dynamic streaming. There is an example of how to do this with their javascript API in this article

VLC is great for testing HLS playback because you can test locally on the same machine instead of device, and you can see data in Tools > Codec Info.

Richard

Hi richard,

I try with my VLC player, but Still have an error :, here’s my error messages:

VLC can’t recognize the input’s format:

The format of ‘http://202.158.39.140:1935/live/smil:myStream.smil/playlist.m3u8’ cannot be detected. Have a look at the log for details.

whats the problem? I’am very confused :expressionless:

Thanks.

Janitra

Richar,

Thanks for your recomendation, it works, but why, graph monitor in live apps could not run?

I’am using linux centos, but if i used windows its worked.

Regards,

Janitra