The Meta-Player
If you have read upon our protocol documentation you might have noticed that a good amount of streaming protocols require a custom or scripted player. MistServer includes several open source options for these protocols. The meta-player itself is designed as a shell around these players allowing you to provide a similar experience to all your browser-based viewers.
The easiest way to implement the meta-player is to go by its default settings available at our embed panel. You only have to copy the code and paste it in your website.
Why the Meta-Player
The MistServer Meta-Player is created to provide users with 2 key features:
- Extend the amount of protocols available to use
- Provide a similar experience no matter the protocol selection.
The protocol selection is quite important as not every protocol is equal. Each protocol has its own strengths, weaknesses, expected latency and features that it covers. A good list of what is possible can be found here
Protocol selection & fallback behaviour
At all times the Meta-Player will attempt to find the best combination possible, the playback priority is decided as follows:
- Loop over all outputs available from MistServer & check current player compatibility
- The combinations on this list then get judged on support for Audio, Video and Subtitles
- If combinations are equal they receive priority based on what the MistServer team deems a better usable protocol
Should a combination still fail or start experiencing issues the next selection on the list will be attempted.
The Meta-Player skins
The Meta-Player comes in two flavours, the development skin. Meant to give full control of all options available, even if they will not provide a usable result and the default skin. Which is meant for your users.
Default skin
The default skin will give viewers control over play/pause, a seekbar, volume controls, fullscreen, picture in picture and Track switching if available.
Protocol selection & Player selection is made unavailable as the automatic player/protocol detection should provide the best experience for viewers. In the event that player/protocol quality degrades an automatic switch to a new protocol will be done.

You can access the default skin for any stream name by connecting to the HTTP(S) endpoint and requesting the .html output as noted within the Embed panel of the stream. For example:
https://example.com/streamname.html
Development skin
The development skin provides full controls including player/protocol selection and advanced logging for both messages as well as stream statistics.
The goal of this skin is to provide all potential options for testing & development even should MistServer report to the player that they might not be valid for playback.

You can access the development skin for any stream by connecting to the HTTP(S) endpoint and requesting the .html output and adding ?dev=1 to the URL. For example:
https://example.com/streamname.html?dev=1
Other Player topics:
🗃️ Meta-Player configuration
4 items
📄️ Keyboard shortkeys for the Meta-Player
Keyboard shortkeys available in the Meta-Player
📄️ Meta-Player included players
Players included in the meta-player