Feat : OBS presets
This commit is contained in:
45
README.md
45
README.md
@@ -29,6 +29,8 @@ IP publique nécessaire, et obs-websocket reste sur `127.0.0.1`.
|
||||
- Reconnexion automatique de bout en bout (agent → serveur, agent → OBS, dashboard → serveur).
|
||||
- [Pause automatique pendant les shows privés](#pause-automatique-pendant-les-shows-privés)
|
||||
(Stripchat), avec reprise et rappel du plein écran au retour du flux public.
|
||||
- [Presets d'enregistrement](#presets-denregistrement) appliqués à OBS depuis l'interface,
|
||||
réglables VM par VM : de « Économe » à « Sans perte ».
|
||||
|
||||
## Prérequis
|
||||
|
||||
@@ -172,6 +174,44 @@ Si le rappel du plein écran s'avère fragile sur ta VM, l'alternative sans clav
|
||||
lancer le navigateur en mode kiosque (`chromium --kiosk`) : il n'y a alors plus de plein
|
||||
écran à restaurer.
|
||||
|
||||
## Presets d'enregistrement
|
||||
|
||||
Chaque VM peut être réglée sur un compromis qualité / charge CPU différent, depuis la
|
||||
fiche de l'agent (⚙ → « Preset d'enregistrement »). Tant que la case n'est pas cochée,
|
||||
l'agent ne touche à rien et OBS garde sa configuration manuelle.
|
||||
|
||||
| Preset | Sortie | Qualité | Conteneur | CPU |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Économe | 720p 30 fps | haute (CRF ~23) | MP4 | ● |
|
||||
| Équilibré | 1080p 30 fps | très haute (CRF ~16) | MP4 | ●● |
|
||||
| Qualité maximale | définition de la scène, 60 fps | très haute, encodage lent | MKV | ●●● |
|
||||
| Sans perte | définition de la scène, 60 fps | aucune perte | MKV | ●●●● |
|
||||
|
||||
L'encodeur se choisit séparément : x264 (le seul disponible sur un VPS sans GPU), NVENC,
|
||||
Quick Sync, AMF ou VideoToolbox. Le preset fournit la valeur de vitesse adaptée à la
|
||||
famille retenue — `veryfast` pour x264, `p5` pour NVENC, etc.
|
||||
|
||||
### Ce qui se passe à l'application
|
||||
|
||||
L'agent écrit dans le profil OBS courant (`SetProfileParameter`, section `SimpleOutput`)
|
||||
puis ajuste la sortie vidéo (`SetVideoSettings`). Trois comportements à connaître :
|
||||
|
||||
- **La qualité prend effet au prochain démarrage d'enregistrement.** OBS relit ces
|
||||
paramètres à ce moment-là ; l'interface d'OBS, elle, ne les rafraîchit qu'au changement
|
||||
de profil.
|
||||
- **Changer d'encodeur exige un redémarrage d'OBS.** L'objet encodeur n'est instancié
|
||||
qu'au lancement. L'agent le détecte et le signale dans son compte rendu.
|
||||
- **Un preset n'est jamais appliqué pendant une capture** : cela la corromprait. La
|
||||
demande est refusée, ou différée jusqu'à l'arrêt de l'enregistrement.
|
||||
|
||||
Le mode de sortie du profil est forcé sur « Simple » : c'est la section que ces réglages
|
||||
pilotent. Un paramètre refusé par la version d'OBS installée n'interrompt pas les autres —
|
||||
il apparaît dans le compte rendu affiché sous le bouton « Appliquer maintenant ».
|
||||
|
||||
Un preset trop lourd pour la VM fait chuter les images par seconde : la qualité perçue
|
||||
baisse alors malgré un meilleur CRF. Après un changement, surveille « FPS » et « Frames
|
||||
perdues » sur la fiche de l'agent.
|
||||
|
||||
## API HTTP
|
||||
|
||||
Toutes les routes hors `/api/login` exigent `Authorization: Bearer <jeton de session>`.
|
||||
@@ -181,7 +221,7 @@ Toutes les routes hors `/api/login` exigent `Authorization: Bearer <jeton de ses
|
||||
| `POST` | `/api/login` | Ouvre une session (`{ password }`) |
|
||||
| `GET` | `/api/agents` | Liste des agents et de leur état |
|
||||
| `POST` | `/api/agents` | Provisionne un agent, renvoie son jeton **une seule fois** |
|
||||
| `PATCH` | `/api/agents/:id` | Nom, notes, paramètres OBS, auto-connexion |
|
||||
| `PATCH` | `/api/agents/:id` | Nom, notes, paramètres OBS, auto-connexion, surveillance, navigateur, preset |
|
||||
| `POST` | `/api/agents/:id/token` | Régénère le jeton (coupe la session en cours) |
|
||||
| `DELETE` | `/api/agents/:id` | Supprime l'agent |
|
||||
| `POST` | `/api/agents/:id/command` | `{ action, params }`, attend le résultat de l'agent |
|
||||
@@ -192,7 +232,8 @@ Toutes les routes hors `/api/login` exigent `Authorization: Bearer <jeton de ses
|
||||
Actions disponibles : `obs.connect`, `obs.disconnect`, `obs.refresh`, `record.start`,
|
||||
`record.stop`, `record.pause`, `record.resume`, `record.split`, `stream.start`,
|
||||
`stream.stop`, `scene.set`, `profile.set`, `collection.set`, `recordDirectory.set`,
|
||||
`watch.check`, `hotkey.fullscreen`, `agent.ping`.
|
||||
`watch.check`, `hotkey.fullscreen`, `browser.open`, `browser.close`, `capture.start`,
|
||||
`capture.stop`, `preset.apply`, `agent.update`, `agent.ping`.
|
||||
|
||||
## Structure
|
||||
|
||||
|
||||
Reference in New Issue
Block a user