HTML page output
MistServer will make every stream that is set up available as a dedicated HTML page. This page will serve the default MistServer Meta-Player. While you can use this output directly we generally recommend using the embed code as it allows for greater control.
Changing the player on the html page
You can set several options through URL parameters to affect how the player behaves. Below is a list of options and what they do.
example:
http://mistserveraddress/streamname.html?dev=1&forcetype=whep
This would turn on the development skin and set the protocol to be used to WebRTC WHEP.
Development skin
dev=1
The development skin is the same skin used on the preview page. It allows users to select all protocol/player options regardless whether they should work and provides additional information.
Start Muted
muted=1
Force a protocol output
forcetype=TYPE
TYPE needs to match the type as listed on the embed page.
A list of likely types to use is below.
- WS/MP4:
ws/video/mp4 - MP4:
html5/video/mp4 - WebM:
html5/video/webm - WHEP:
whep - WS/WebRTC:
webrtc - HLS (TS-based):
html5/application/vnd.apple.mpegurl - HLS (CMAF-based):
html5/application/vnd.apple.mpegurl;version=7 - DASH:
dash/video/mp4
New Option Syntax for MistServer 3.9.2
applies to MistServer 3.9.2 and newer In 3.9.1 and under each option needs a value, in later versions this will no longer be the case if the option is binary. Simply passing the option will then be enough, a value is now optional.
http://mistserveraddress/streamname.html?dev&muted&forcetype=whep
The above uses the newer syntax to open the development skin, start muted and force the protocol to WebRTC WHEP.
3.9.2 options
Autoplay
This specifically needs to be set to 0 or false in order to stop autoplay. By default this is on and the stream should attempt to play immediately. There is no need to set the HTML page to autoplay=true.
autoplay=0
FillSpace
This gets a special mention as it is enforced to be active. If you wish to turn this off you will need to edit the source code itself.
Forceplayer
This forces a specific player within the Meta-Player to be used. By default MistServer will only attempt matching protocols. If the protocol to be used is enforced to something that cannot play it will be attempted regardless.
forceplayer=PLAYER
PLAYER should match one of the names below. The mimes are the protocols that they should be able to play.
{
"html5": {
"name": "HTML5 video player",
"mimes": [
"html5/application/vnd.apple.mpegurl",
"html5/application/vnd.apple.mpegurl;version=7",
"html5/video/mp4",
"html5/video/ogg",
"html5/video/webm",
"html5/audio/mp3",
"html5/audio/webm",
"html5/audio/ogg",
"html5/audio/wav"
],
"priority": 1,
"mistControls": true,
"shortname": "html5"
},
"hlsjs": {
"name": "HLS.js player",
"mimes": [
"html5/application/vnd.apple.mpegurl",
"html5/application/vnd.apple.mpegurl;version=7"
],
"priority": 2,
"shortname": "hlsjs"
},
"videojs": {
"name": "VideoJS player",
"mimes": [
"html5/application/vnd.apple.mpegurl",
"html5/application/vnd.apple.mpegurl;version=7"
],
"priority": 3,
"shortname": "videojs"
},
"dashjs": {
"name": "Dash.js player",
"mimes": [
"dash/video/mp4"
],
"priority": 4,
"shortname": "dashjs"
},
"wheprtc": {
"name": "WebRTC player (WHEP)",
"mimes": [
"whep"
],
"priority": 5,
"shortname": "wheprtc"
},
"webrtc": {
"name": "WebRTC player (WS)",
"mimes": [
"webrtc"
],
"priority": 6,
"shortname": "webrtc"
},
"mews": {
"name": "MSE websocket player",
"mimes": [
"ws/video/mp4",
"ws/video/webm"
],
"priority": 7,
"shortname": "mews"
},
"rawws": {
"name": "WebCodec Player",
"mimes": [
"ws/video/raw"
],
"priority": 8,
"cacheSupported": {},
"shortname": "rawws"
},
"flv": {
"name": "HTML5 FLV Player",
"mimes": [
"flash/7"
],
"priority": 9,
"shortname": "flv"
},
"flash_strobe": {
"name": "Strobe Flash media playback",
"mimes": [
"flash/10",
"flash/11",
"flash/7"
],
"priority": 10,
"shortname": "flash_strobe"
}
}
No unix times
This removes any date and timing information from the playback. Only the current media point for the stream will be shown instead.
nounix
Planned for 3.10 - nocatchup
This removes any attempts by the Meta-Player to catch up with the live edge. Normally the Meta-Player will slightly increase the playback speed to slowly catch up to the live point, this enforces a 1 to 1 speed in playback.
nocatchup