« Moonlight web stream » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
|||
| Ligne 26 : | Ligne 26 : | ||
"credential": "<font color = blue>un_mot_de_passe</font>" | "credential": "<font color = blue>un_mot_de_passe</font>" | ||
<font color = grey>...</font> | <font color = grey>...</font> | ||
== Paramètres forcés == | |||
Exemple avec une configuration retrogaming en 720p : | |||
remplacer à la fin : | |||
"default_settings": null | |||
Par : | |||
"default_settings": { | |||
// possible values: "left", "right", "up", "down" | |||
"sidebarEdge": "left", | |||
"bitrate": 10000, | |||
"packetSize": 2048, | |||
"fps": 60, | |||
"videoFrameQueueSize": 3, | |||
// possible values: "720p", "1080p", "1440p", "4k", "native", "custom" | |||
"videoSize": "720p", | |||
// only works if videoSize=custom | |||
//"videoSizeCustom": { | |||
// "width": 1920, | |||
// "height": 1080 | |||
}, | |||
// possible values: "h264", "h265", "av1", "auto" | |||
"videoCodec": "h265", | |||
"forceVideoElementRenderer": false, | |||
"canvasRenderer": false, | |||
"playAudioLocal": true, | |||
"audioSampleQueueSize": 20, | |||
// possible values: "highres", "normal" | |||
"mouseScrollMode": "highres", | |||
"controllerConfig": { | |||
"invertAB": false, | |||
"invertXY": false, | |||
// possible values: null or a number, example: 60, 120 | |||
"sendIntervalOverride": null | |||
}, | |||
// possible values: "auto", "webrtc", "websocket" | |||
"dataTransport": "auto", | |||
"toggleFullscreenWithKeybind": false, | |||
// possible values: "standard", "old" | |||
"pageStyle": "standard" | |||
} | |||
= vhost = | = vhost = | ||
server { | server { | ||
Version du 22 mars 2026 à 16:30
Installation version Docker
# mkdir /opt/moonlightwebstream # cd /opt/moonlightwebstream # vi docker-compose.yml
services:
moonlight-web:
image: mrcreativ3001/moonlight-web-stream:latest
container_name: moonlight-web
restart: unless-stopped
ports:
- "8080:8080"
- "40000-40100:40000-40100/udp"
volumes:
- /opt/moonlightwebstream/server:/moonlight-web/server
# docker compose up -d
Configuration
# vi /opt/moonlightwebstream/server/config.json
Auhtentification
Au minimum renseigner les champs suivant :
...
"username": "un_utilisateur",
"credential": "un_mot_de_passe"
...
Paramètres forcés
Exemple avec une configuration retrogaming en 720p :
remplacer à la fin :
"default_settings": null
Par :
"default_settings": {
// possible values: "left", "right", "up", "down"
"sidebarEdge": "left",
"bitrate": 10000,
"packetSize": 2048,
"fps": 60,
"videoFrameQueueSize": 3,
// possible values: "720p", "1080p", "1440p", "4k", "native", "custom"
"videoSize": "720p",
// only works if videoSize=custom
//"videoSizeCustom": {
// "width": 1920,
// "height": 1080
},
// possible values: "h264", "h265", "av1", "auto"
"videoCodec": "h265",
"forceVideoElementRenderer": false,
"canvasRenderer": false,
"playAudioLocal": true,
"audioSampleQueueSize": 20,
// possible values: "highres", "normal"
"mouseScrollMode": "highres",
"controllerConfig": {
"invertAB": false,
"invertXY": false,
// possible values: null or a number, example: 60, 120
"sendIntervalOverride": null
},
// possible values: "auto", "webrtc", "websocket"
"dataTransport": "auto",
"toggleFullscreenWithKeybind": false,
// possible values: "standard", "old"
"pageStyle": "standard"
}
vhost
server {
listen 443 ssl http2;
server_name moonlight.tondomaine.com;
ssl_certificate /etc/letsencrypt/live/moonlight.tondomaine.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/moonlight.tondomaine.com/privkey.pem;
location /api/host/stream {
proxy_pass http://192.168.123:8080/api/host/stream;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 86400;
}
location / {
proxy_pass http://192.168.1.123:8080/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_read_timeout 86400;
}
}