| 1 | Introduction |
|---|
| 2 | ============ |
|---|
| 3 | |
|---|
| 4 | The Qualitymonitor plugin for the JW Player is used to monitor the status of the bitrate switching / dynamic streaming functionalty of the player. This functionality is triggered by loading multiple quality levels of one video into the player. It will then monitor certain quality metrics and play the optimal stream is served for every viewer. |
|---|
| 5 | |
|---|
| 6 | For more info about this functionality, please refer to the dedicated sections in the HTTP resp. RTMP streaming guides: |
|---|
| 7 | |
|---|
| 8 | * `HTTP bitrate switching <http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/12534/video-delivery-http-pseudo-streaming#bitrateswitching>`_ |
|---|
| 9 | * `RTMP dynamic streaming <http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/12535/video-delivery-rtmp-streaming#dynamicstreaming>`_ functionality of the player. |
|---|
| 10 | |
|---|
| 11 | Screenshot |
|---|
| 12 | ========== |
|---|
| 13 | |
|---|
| 14 | Here's a screenshot of a JW Player with the qualitymonitor plugin: |
|---|
| 15 | |
|---|
| 16 | .. image:: ../assets/qualitymonitor.png |
|---|
| 17 | :alt: Skinning examples. |
|---|
| 18 | |
|---|
| 19 | |
|---|
| 20 | The plugin consists of two sections. The biggest one is the overlay at the top of the video that lists and charts the current quality metrics. Additionally, the plugin contains a small messaging area in the middle of the screen, for printing player messages that relate to the video quality. |
|---|
| 21 | |
|---|
| 22 | |
|---|
| 23 | Metrics |
|---|
| 24 | ======= |
|---|
| 25 | |
|---|
| 26 | The Qualitymonitor plugin monitors the following metrics: |
|---|
| 27 | |
|---|
| 28 | * The **bandwidth** of the current connection, in kilobits per second (green). |
|---|
| 29 | * The number of **frames dropped** per second (red). |
|---|
| 30 | * The **width** of the video screen (blue). |
|---|
| 31 | * The currently playing **quality level** (white). The required width and bandwidth of this level is shown between parentheses. |
|---|
| 32 | |
|---|
| 33 | Messages |
|---|
| 34 | -------- |
|---|
| 35 | |
|---|
| 36 | In addition to these four metrics, the plugin displays two quality level related messages in the middle of the screen: |
|---|
| 37 | |
|---|
| 38 | * The completion of a smooth transition for `RTMP dynamic streaming <http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/12535/video-delivery-rtmp-streaming#dynamicstreaming>`_ (in green text). |
|---|
| 39 | * The blacklisting and un-blacklisting of a quality level as a result of too many framedrops (in red text). |
|---|
| 40 | |
|---|
| 41 | .. note:: |
|---|
| 42 | |
|---|
| 43 | The framedrop detection and resulting (un)blacklisting of levels is only supported in JW Player 5.3+. For JW Player 5.0, 5.1 and 5.2, the framedrop chart will simply remain at 0. |
|---|
| 44 | |
|---|
| 45 | |
|---|
| 46 | Configuration Options |
|---|
| 47 | ===================== |
|---|
| 48 | |
|---|
| 49 | Embedding the qualitymonitor plugin is a matter of setting amending its name to the **plugins** player option. The plugin contains no configuration options itself. |
|---|
| 50 | |
|---|
| 51 | Here is a basic embed code example of a player using the qualitymonitor plugin. This example uses the `JW Embedder <http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/15995/jw-embedder-reference-guide>`_: |
|---|
| 52 | |
|---|
| 53 | .. code-block:: html |
|---|
| 54 | |
|---|
| 55 | <p id="container">The player will be placed here</p> |
|---|
| 56 | |
|---|
| 57 | <script type="text/javascript"> |
|---|
| 58 | jwplayer("container").setup({ |
|---|
| 59 | file: "/static/dynamic_stream.xml", |
|---|
| 60 | flashplayer: "/static/player.swf", |
|---|
| 61 | height: 270, |
|---|
| 62 | plugins: { |
|---|
| 63 | "qualitymonitor": {} |
|---|
| 64 | }, |
|---|
| 65 | width: 480 |
|---|
| 66 | }); |
|---|
| 67 | </script> |
|---|
| 68 | |
|---|
| 69 | |
|---|
| 70 | |
|---|
| 71 | Skinning |
|---|
| 72 | ======== |
|---|
| 73 | |
|---|
| 74 | This plugin cannot be skinned. |
|---|
| 75 | |
|---|
| 76 | |
|---|
| 77 | |
|---|
| 78 | Changelog |
|---|
| 79 | ========= |
|---|
| 80 | |
|---|
| 81 | Version 2.0 |
|---|
| 82 | ----------- |
|---|
| 83 | |
|---|
| 84 | * Switched from the 4.x to the 5.x plugin API. As of now, the plugin cannot be loaded in the JW Player v4. |
|---|
| 85 | * Added support for monitoring framedrops in the chart, and level (un)blacklisting events in the center message. |
|---|
| 86 | * Colored the various quality metrics in the chart, to easily distinct between them. |
|---|
| 87 | * Made the chart stop drawing when the video is paused or stopped. |
|---|
| 88 | |
|---|
| 89 | Version 2.1 |
|---|
| 90 | ----------- |
|---|
| 91 | |
|---|
| 92 | * Added fix to support playlists loaded through the JavaScript API. |
|---|
| 93 | * Some updates around formatting of the chart labels. |
|---|