PlayerConfig¶
createDefaultConfig construit un PlayerConfig complet à partir d'une source. Seul source est obligatoire dans les surcharges ; les sous-configurations obligatoires sont remplies avec des valeurs par défaut connues.
import { createDefaultConfig } from "@ngxsp/core";
export const config = createDefaultConfig({
source: {
type: "url",
url: "https://cdn.example.com/trailer.mp4",
contentId: "trailer-2026"
}
});
Valeurs par défaut documentées¶
| Bloc | Défaut | Explication | À éviter |
|---|---|---|---|
progress |
{ mode: "local", intervalSec: 5 } |
Sauvegarde de progression locale par défaut. | Choisir server ou hybrid sans endpoint ni port HTTP. |
ui |
{ ratios: ["16:9"], defaultRatio: "16:9", keyboardShortcuts: true } |
Habillage, ratios, titres, raccourcis, chapitres, vignettes, segments ignorables et épisode suivant. | Mettre des données métier lourdes dans ui. |
resilience |
{ retries: 2, backoffMs: { min: 300, max: 1500 } } |
Base des reprises après erreurs transitoires. | Augmenter retries sur DRM/live sans télémétrie. |
subtitles |
{ enabled: false, providers: ["local"] } |
Recherche et chargement de sous-titres. | Activer un fournisseur Internet sans clé d'API, cache, quotas et cadre légal. |
metadata |
{ enabled: false, providers: ["local"], localSidecar: false } |
Enrichissement catalogue ou sidecar. | Activer un fournisseur externe sans cache ni gestion de secrets. |
ads |
{ enabled: false, mode: "csai" } |
Stratégie publicitaire : CSAI, SSAI ou mixed. | Activer les publicités sans providerConfig ni droits de contenu. |
Champs avancés¶
| Champ | Sens | À utiliser quand |
|---|---|---|
profile |
Profil global default, tv, mobile, low-latency. |
Une application cible un contexte de lecture dominant. |
drm |
DRM de premier niveau qui surcharge ou complète source.drm. |
Droits séparés de la source catalogue. |
playlist / playlistStartIndex |
Liste de PlayerSource et index de départ. |
File d'attente audio, lecture continue, cours, galerie vidéo. |
autoNext |
Passage automatique à l'item suivant. | Séries, playlists, cours par chapitres. |
series |
Mode épisodes avec titre, index courant, preload et surcharges UI. | Séries TV, formations, podcasts épisodiques. |
offline |
Intention hors-ligne via enabled et key. |
Contenus explicitement téléchargeables. |
remoteConfig |
Charge un JSON distant avec TTL, mode de fusion et allow-list. | Ajuster résilience, publicités, UI, subtitles ou metadata sans recompilation. |
Fusion de createDefaultConfig
Les fusions sont superficielles sauf resilience.backoffMs, qui conserve min et max par défaut si un seul champ est fourni. Ne pas supposer une fusion profonde pour tous les objets imbriqués.