Chemin du flux en deux segments, et revalidation de la console
Larix Broadcaster refuse une URL RTMP a un seul niveau : il impose le schema rtmp://serveur/application/streamkey et affiche "Can't find rtmp app and stream". Le chemin passe donc de "biblio" a "live/biblio", ce qui satisfait cette contrainte sans rien changer pour SRT. Au passage, un defaut mis en evidence par ce renommage : les ressources statiques etaient servies sans directive de cache. Un navigateur laisse ouvert continuait d'appeler l'ancien chemin, et la panne etait invisible cote serveur - il ne voyait que des requetes vers une route disparue. max-age=0 + must-revalidate : avec ETag, la revalidation coute un 304. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
d017ba4958
commit
9f7a3bece7
3 changed files with 23 additions and 6 deletions
|
|
@ -57,7 +57,7 @@ authInternalUsers:
|
||||||
ips: []
|
ips: []
|
||||||
permissions:
|
permissions:
|
||||||
- action: publish
|
- action: publish
|
||||||
path: biblio
|
path: live/biblio
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Entrees : ce que l'iPhone peut utiliser pour pousser
|
# Entrees : ce que l'iPhone peut utiliser pour pousser
|
||||||
|
|
@ -110,6 +110,10 @@ hlsAlwaysRemux: no
|
||||||
# Flux
|
# Flux
|
||||||
###############################################################################
|
###############################################################################
|
||||||
paths:
|
paths:
|
||||||
# Le capteur du studio. Nom volontairement aligne sur le deviceId utilise
|
# Le capteur du studio.
|
||||||
# par le domaine d'alarme (iphone-biblio).
|
#
|
||||||
biblio:
|
# Deux segments et non un seul : Larix Broadcaster impose le schema RTMP
|
||||||
|
# "rtmp://serveur/application/streamkey" et refuse de valider une URL a un
|
||||||
|
# seul niveau. Un chemin en deux segments satisfait cette contrainte sans
|
||||||
|
# rien changer pour SRT, qui accepte les deux formes.
|
||||||
|
live/biblio:
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,19 @@ spring:
|
||||||
enabled: true
|
enabled: true
|
||||||
baseline-on-migrate: true
|
baseline-on-migrate: true
|
||||||
|
|
||||||
|
web:
|
||||||
|
resources:
|
||||||
|
cache:
|
||||||
|
cachecontrol:
|
||||||
|
# La console est un fichier statique servi par l'application, mais
|
||||||
|
# elle evolue a chaque deploiement. Sans revalidation, un navigateur
|
||||||
|
# laisse ouvert des jours continue d'appeler l'ancienne API - panne
|
||||||
|
# invisible cote serveur, qui ne voit que des requetes vers une route
|
||||||
|
# qui n'existe plus. ETag et Last-Modified rendent la revalidation
|
||||||
|
# quasi gratuite : 304 et rien dans le corps.
|
||||||
|
max-age: 0
|
||||||
|
must-revalidate: true
|
||||||
|
|
||||||
threads:
|
threads:
|
||||||
virtual:
|
virtual:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
@ -91,7 +104,7 @@ alarm:
|
||||||
# 3 sondes ratees = 60 s reelles sans image. En 4G, le flux tombe
|
# 3 sondes ratees = 60 s reelles sans image. En 4G, le flux tombe
|
||||||
# regulierement sans que personne n'ait touche au telephone.
|
# regulierement sans que personne n'ait touche au telephone.
|
||||||
offline-threshold: ${CAMERA_OFFLINE_THRESHOLD:3}
|
offline-threshold: ${CAMERA_OFFLINE_THRESHOLD:3}
|
||||||
stream-path: ${CAMERA_STREAM_PATH:biblio}
|
stream-path: ${CAMERA_STREAM_PATH:live/biblio}
|
||||||
api-url: ${MEDIA_API_URL:http://mediamtx:9997}
|
api-url: ${MEDIA_API_URL:http://mediamtx:9997}
|
||||||
api-user: probe
|
api-user: probe
|
||||||
api-password: ${MEDIA_API_PASSWORD:}
|
api-password: ${MEDIA_API_PASSWORD:}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const STREAM = 'biblio';
|
const STREAM = 'live/biblio';
|
||||||
const WHEP_URL = '/webrtc/' + STREAM + '/whep';
|
const WHEP_URL = '/webrtc/' + STREAM + '/whep';
|
||||||
const HLS_URL = '/hls/' + STREAM + '/index.m3u8';
|
const HLS_URL = '/hls/' + STREAM + '/index.m3u8';
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue