HLS is a de-facto standard for end-user live streaming. It's widely supported on all major client platforms.
Qosifire allows monitoring the quality of service and quality of content of HLS streams. A customer installs monitoring agent on designated server, then sets up monitoring settings using Qosifire web console.
Qosifire supports HLS both available containers, MPEGTS and fMP4 (including CMAF) for video/audio and audio-only.
In Qosifire, a stream is a basic unit which defines specific live stream to monitor and its check-over parameters.
Notice To learn more about stream setup, read Managing streams article in our knowledge base. Current article describes how HLS steams are monitored and what stream characteristics you may check with Qosifire.
Viewing streams stats
To view currently monitored streams, log into Qosifire and click on Streams menu in the navigation panel.
Each stream has its name and URL, current status and logging settings.
The statuses can be one of the following
- Idle means the streams was added but not yet synced up with agent node.
- Syncing means the stream are being synced at this moment, it normally takes several seconds.
- Online means that the stream is being checked and it's working with no errors.
- Offline means the stream is not received.
Clicking on the stream name will open its status page.
Stream status chart
First, you'll see Stream status chart, showing number of events - both successful events and errors. It's a basic overview to get a picture of what was going on with the stream.
Playlists flow panel
This panel allows tracking the downloads of chunklists and chunks, as well as browsing the original playlist and chunklists.
Playlist tab allows viewing original playlist used for further stream tracking.
Flow tab shows the history of downloads for chunklists and chunks. You can click on chunklist for any given moment of time to view it.
Each rendition has its tab which shows current chunklist. It's updated real-time, but you can freeze it at particular moment. If you open chunklist from the Flow tab, it's shown in its respective state.
Watch this video to see how Qosifire dynamically displays the chunklist and other stream's parameters:
This chart shows the timeline of download of chunklists and chunks for each rendition in HLS stream.
Each rendition has its own time line. The dark blue line shows downloaded pieces of content, the light blue indicates the content piece which is being downloaded at the moment. The size of each piece shows its length.
Stream events feed
This is a panel on the right side of the page which shows events received from the agents regarding this stream, in the reverse order of reception. Some of the events initiate sending a notification to proper subset of users, we'll mention them specifically. The following events are displayed.
- Task started - the agent started the task of continuous check-over.
- Task finished - the agent finished check-over, e.g. a node was unassigned from this stream.
DNS-related and network events:
- Hostname resolved for the stream URL.
- Failed to resolve host for the URL. This event generates user notification.
- Redirect to other URL.
- Connected to host means the agent has connected successfully to stream.
- Failed to connect in case connection to the stream has failed. This event generates user notification.
- Stream info shows general information for the stream.
- Invalid task means some invalid URL was used for defining the stream.
- Bad playlist means that the received playlist is incorrect for some reason.
- Bad chunklist means that the received chunklist is incorrect.
- Request timeout indicates that playlist, chunklist or chunk could not be downloaded.
- Gap in chunklist means that there was a gap in chunklist which caused problem in playback.
- Wrong media sequence indicates issue with media sequence in chunklist.
- Chunklist parameters changed shows that some chunk in chunklist has different URL.
- Bad chunk means the downloaded chunk was not valid for processing.
- Bad init segment indicates that init segment was broken.
- Buffer too short means that the buffer sent by the server is too short for proper playback and check. This event generates user notification.
- Buffer too long means that the buffer sent by the server is too long for the player. This event generates user notification.
Most of events have Details button which allows you to see more information about what's happened at that point of time.
Traffic chart shows how much data was received from the stream each second.
Bandwidth chart shows an average transmission speed of a stream.
Another series of chars show buffer size available on agent for all renditions. Each individual rendition has its own separate chart.
Using teams for access control
The stream's details can be viewed by:
- All admin users.
- Non-admin users who are assigned to a team which has access to current stream.
To learn more about using teams for access control, please refer to Using teams article.
As mentioned above, some of the events initiate sending notifications to the users who were eligible for receiving the messages. The web console will use the user account email to send them. If the user has installed our app on a mobile device and has registered in the system, then this user will also get a push notification.
How to stop monitoring a stream
If you'd like to pause the stream monitoring for some time, currently you can just un-assign all nodes from the stream. This will initiate "Task finished" event and you won't get any notifications going forward.