Icecast is a very popular transmission protocol for audio live streaming.
Qosifire allows monitoring the quality of service and quality of content of Icecast streams. A customer installs monitoring agent on designated server, then sets up monitoring settings using Qosifire web console. Read more about why using Qosifire to see how else it's useful for you.
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 streams setup, read Managing streams article in our knowledge base. Current article describes how Icecast steams are monitored and what stream characteristics you may check with Qosifire.
Also check Getting started guide to see how you can initiate Qosifire usage in a few easy steps.
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.
First, you'll see Stream status chart, showing number of events - both successful events and errors.
Traffic chart shows how much data was received from the stream each second.
Buffer chart indicates the buffer size available on agent.
Stream events feed on the right side of the page 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.
- Error - some general error, with proper details on failure. This event generates user notification.
- 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.
- Streams info shows Icecast-specific general information for the stream.
- Metadata provides full Icecast metadata as provided by the origin Icecast server.
- 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.
Audio quality related events, all of them generate proper user notifications.
- General error means some basic error, with further description.
Most of events have Details button. If you click on it, you'll see more information about what's happened at the point of time.
These are settings specific to Icecast audio quality monitoring. Go to streams list and lick on stream edit button. In a details dialog, you need to click on "Audio features".
- Decoder name allows selecting which decoding library will be used for quality of content. At the moment they are ffmpeg and libfdk_aac.
- Thread count is a setting which you will use in case of heavy load on your agent nodes. By default it's not required.
- Silence detection checkbox defines whether Qosifire will run silence detection check over the stream's content.
- Per channel checkbox allows defining if quality check needs to be performed on each channel separately.
- Noise threshold field defines the audio noise level which will be considered as silence for its detection
- Duration threshold field defines how long the audio noise level must be equal or below Noise threshold to be considered as silence. As soon as this duration is reached, the silence detection event occurs and users get proper notification.
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
Point to stream in streams' list, you will see icons on the right - Pause, Edit and Delete. So just click on Pause, this will un-assign all nodes from the stream and initiate "Task finished" event. You won't get any notifications going forward. If you'd like to resume, click on Play, this will assign a stream back.