# How to do adaptive bitrate for live streaming apps

**URL:** <https://community.wowza.com/t/how-to-do-adaptive-bitrate-for-live-streaming-apps/42967>\
**Category:** Wowza Streaming Engine\
**Created:** [May 7, 2014, 6:01pm UTC](https://community.wowza.com/t/how-to-do-adaptive-bitrate-for-live-streaming-apps/42967 "2014-05-07T18:01:27Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Janitra\_Panji](https://avatars.discourse-cdn.com/v4/letter/j/a88e4f/32.png) [@Janitra\_Panji](https://community.wowza.com/u/Janitra_Panji)\
**Post date:** [May 7, 2014, 6:01pm UTC](https://community.wowza.com/t/how-to-do-adaptive-bitrate-for-live-streaming-apps/42967/1 "2014-05-07T18:01:27Z")

</div>

Hi… I’m new with Wowza, i am followed the tutorial here [https://www.wowza.com/docs/how-to-do-adaptive-bitrate-streaming](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](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

---

<div class="post-metadata">

**Author:** ![sal\_jefferson](https://avatars.discourse-cdn.com/v4/letter/s/6de8d8/32.png) [@sal\_jefferson](https://community.wowza.com/u/sal_jefferson)\
**Post date:** [May 7, 2014, 6:13am UTC](https://community.wowza.com/t/how-to-do-adaptive-bitrate-for-live-streaming-apps/42967/2 "2014-05-07T06:13:00Z")

</div>

Hi there,

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

```auto
<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](https://www.wowza.com/docs/how-to-use-jw-player-with-adaptive-bitrate-streaming-from-wowza-streaming-engine&page=2#comments)

Salvadore

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [May 7, 2014, 1:18pm UTC](https://community.wowza.com/t/how-to-do-adaptive-bitrate-for-live-streaming-apps/42967/3 "2014-05-07T13:18:41Z")

</div>

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 (

```auto
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](https://www.wowza.com/docs/how-to-use-jw-player-with-wowza-streaming-engine)

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

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [May 7, 2014, 2:13pm UTC](https://community.wowza.com/t/how-to-do-adaptive-bitrate-for-live-streaming-apps/42967/4 "2014-05-07T14:13:27Z")

</div>

Janitra,

When I look at [your smil](http://202.158.39.140:1935/live/smil:myStream.smil/jwplayer.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](https://www.wowza.com/docs/how-to-set-up-and-run-wowza-transcoder-for-live-streaming) 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

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [May 9, 2014, 12:24pm UTC](https://community.wowza.com/t/how-to-do-adaptive-bitrate-for-live-streaming-apps/42967/5 "2014-05-09T12:24:37Z")

</div>

Which Wowza version installed on the centos server? [Try updating](https://www.wowza.com/docs/wowza-streaming-engine-software-updates) if not the latest version.

Richard

---

<div class="post-metadata">

**Author:** ![Janitra\_Panji](https://avatars.discourse-cdn.com/v4/letter/j/a88e4f/32.png) [@Janitra\_Panji](https://community.wowza.com/u/Janitra_Panji)\
**Post date:** [May 7, 2014, 8:06pm UTC](https://community.wowza.com/t/how-to-do-adaptive-bitrate-for-live-streaming-apps/42967/6 "2014-05-07T20:06:26Z")

</div>

Hi Salvadore

> Hi there,
> 
> It looks like you are missing a bit of code here. Try it like this:
> 
> ```auto
> <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](https://www.wowza.com/docs/how-to-use-jw-player-with-adaptive-bitrate-streaming-from-wowza-streaming-engine&page=2#comments)
> 
> 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

---

<div class="post-metadata">

**Author:** ![Janitra\_Panji](https://avatars.discourse-cdn.com/v4/letter/j/a88e4f/32.png) [@Janitra\_Panji](https://community.wowza.com/u/Janitra_Panji)\
**Post date:** [May 7, 2014, 8:37pm UTC](https://community.wowza.com/t/how-to-do-adaptive-bitrate-for-live-streaming-apps/42967/7 "2014-05-07T20:37:14Z")

</div>

> Testing your HLS url (
> 
> ```auto
> 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](https://www.wowza.com/docs/how-to-use-jw-player-with-wowza-streaming-engine)
> 
> 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](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 😑

Thanks.

Janitra

---

<div class="post-metadata">

**Author:** ![Janitra\_Panji](https://avatars.discourse-cdn.com/v4/letter/j/a88e4f/32.png) [@Janitra\_Panji](https://community.wowza.com/u/Janitra_Panji)\
**Post date:** [May 9, 2014, 2:00pm UTC](https://community.wowza.com/t/how-to-do-adaptive-bitrate-for-live-streaming-apps/42967/8 "2014-05-09T14:00:49Z")

</div>

Richar,

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

![](http://indonesiakaya.com/rtmp/monitoring.png)

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

Regards,

Janitra
