---
title: Historique des versions
url: https://doc.pstreamer.tv/fr/manual/whats_new.html
lang: fr
product: Perfect Streamer
version: 1.13.3.445
---

# Historique des versions

## version 1.13.3.445 Bêta

*02.06.2026*

- **OTT (Low-Latency HLS / DASH sur CMAF)** : un nouveau mode de diffusion *OTT/HLS/LL-HLS/LL-Dash* (*ott-hls = 3*) — le multiplexeur intégré produit du **MP4** / **CMAF** fragmenté (*fMP4*), au-dessus duquel **MPEG-DASH** (désormais sur CMAF au lieu de MPEG-TS) et Low-Latency **HLS** sont diffusés sur un nouvel endpoint (chemin *…/llhls/…*). Le lecteur démarre la lecture sans attendre le segment complet : la playlist média **LL-HLS** est découpée en *partial segments* («parts»), et l’on utilise le rechargement bloquant de la playlist (le serveur retient la requête jusqu’à ce que le part suivant soit prêt) et l’indice de préchargement *EXT-X-PRELOAD-HINT*.
- **OTT (Low-Latency : réglages et synchronisation)** : la durée cible d’un part est définie par le réglage *Part Target Duration* (ms, appliqué à la volée sans redémarrer le flux) ; l’option *Enable TS Chunk* détermine s’il faut émettre en parallèle du **HLS** MPEG-TS legacy (playlist *…/hls/…*) — une fois désactivée, seuls les segments fMP4 sollicitent le disque et le CPU. Pour une faible latence précise, *Producer Reference Time* (*prft*) et *UTCTiming* ont été ajoutés aux manifestes, liant le temps média à l”**UTC**.
- **DVR (démarrage du sous-système)** : une archive persistante sur disque est écrite en parallèle du segmenteur live intégré pour **HLS** / **MPEG-DASH OTT**, utilise la même segmentation et les mêmes URL de session OTT — le mode de lecture est commuté par un paramètre de requête. En mode *OTT/HLS/LL-HLS/LL-Dash*, l’archive tient deux index indépendants — un pour les chunks MPEG-TS et un pour les segments fMP4 / CMAF —, de sorte que la VOD est servie dans le même conteneur que le live. [Description complète du DVR](manual.md#dvr).
- **DVR (lecture)** : VOD via **HLS** et **MPEG-DASH** au moyen des paramètres de requête *t=<epoch>* (moment de début, *t=0* — depuis le début de l’archive) et *d=<sec>* (durée de la fenêtre, vide ou *0* — « jusqu’à l’instant présent »), ainsi que la liaison à l”**EPG** via *epg=<epoch>* (le serveur insère lui-même *start* et *duration* de l’événement actif comme bornes de la fenêtre). Une playlist VOD **HLS** fermée avec les marqueurs *EXT-X-PLAYLIST-TYPE:VOD* et *EXT-X-ENDLIST* ; un **DASH MPD** statique (*@type= »static »*, *mediaPresentationDuration* fixe) avec découpage automatique en plusieurs *Period* aux interruptions d’enregistrement. Les requêtes au-delà de l’archive sont normalisées vers les bornes disponibles sans erreur.
- **DVR (VOD adaptatif)** : pour les groupes adaptatifs **HLS** et **DASH**, seules les variantes liées à un stockage DVR figurent dans le manifeste, chaque qualité est une *Representation* distincte au sein des *Period* communs, et le changement de qualité s’effectue sans rouvrir le manifeste.
- **DVR (protection et diffusion)** : tant qu’une session VOD est ouverte, le nettoyage size-based et par fenêtre glissante ne touche pas aux chunks situés dans sa fenêtre (la protection est levée sur timeout ou *FIN*) ; une transition transparente VOD → live-edge si le lecteur atteint la limite droite de la fenêtre — le segment est servi depuis la mémoire live sans redirections ; le cache de playlist VOD sert les requêtes répétées du même *index.m3u8* / *index.mpd* à l’octet près (pratique pour le **CDN**).
- **DVR Storage (paramètres de stockage)** : plusieurs stockages simultanés, chacun avec un seuil *Max Usage*, une période *Cleanup Interval*, un anti-rebond *Disk Pressure Grace*, une limite supérieure de suppression par cycle *Disk Pressure Cut*, un seuil d’urgence *Disk Emergency Bytes* et les états *Ready* / *Error*.
- **DVR (paramètres du flux)** : *Storage Hours* — profondeur d’archive en heures avec nettoyage par fenêtre glissante (la limite supérieure est fixée à 90 jours), et *Storage Min Hour* — une limite inférieure protégée que le nettoyage size-based ne supprime pas, même sous pression disque.
- **DVR (sous-titres)** : le **WebVTT** est enregistré dans l’archive en parallèle des chunks TS, avec un index par PID ; la playlist VOD des sous-titres est servie aux mêmes URL (pour **DASH**, l’en-tête *X-TIMESTAMP-MAP* est supprimé à la volée). Les chunks de sous-titres sans cue ne sont pas écrits sur le disque — un chunk de taille nulle est synthétisé à la lecture, ce qui réduit la charge du système de fichiers sur les chaînes aux sous-titres sporadiques.
- **DVR (maintenance)** : un collecteur en arrière-plan des fichiers « orphelins » (premier passage environ une minute après le démarrage, puis toutes les heures et au déclenchement de *disk pressure* ; protection contre une concurrence avec le writer via la mtime), numérotation monotone des chunks entre les redémarrages du service ; correction d’un mode dans lequel le nettoyage en arrière-plan par volume et le collecteur pouvaient ne pas démarrer.
- **DVR (observabilité et supervision)** : *GET /data/dvr-storage-list* renvoie, pour chaque stockage, *State*, *Total / Free / Used Bytes*, *Used %*, *Archived Bytes*, *Pressure Since Sec*, l’indicateur d’une opération d’arrière-plan active (*active-task* : *gc-orphans* / *disk-pressure-trim* / *none*) avec sa durée et des informations sur les dernières exécutions de nettoyage, ainsi qu’une liste des flux liés avec les attributs *retention-hours*, *archived-sec*, *archived-bytes* et *active* ; la taille de l’archive est en outre ventilée par conteneur (TS / MP4). Au niveau du flux, *GET /data/stream/<id>* expose la métrique *storage-gap-percent* (pourcentage de lacunes temporelles dans l’archive), et son histogramme par buckets de temps est fourni par le nouvel endpoint *GET /data/dvrstat* — pour dessiner l’échelle de l’archive DVR dans l’interface d’administration avec le marquage des événements d’enregistrement et de l’activité des sous-titres.
- **OTT (segmentation par IDR)** : la segmentation **HLS** et **MPEG-DASH** distingue une *IDR* d’une *I-frame* ordinaire dans les flux **H.264** / **HEVC**. Sur un contenu closed-GOP, les limites de segments sont alignées sur les IDR — chaque chunk commence par un véritable point d’accès aléatoire (*SPS+PPS+IDR*, et en **HEVC** en tenant compte du NAL *VPS* distinct), et le lecteur peut ouvrir le flux depuis n’importe quel segment de façon garantie ; sur les sources open-GOP / sans IDR, c’est l’I-frame la plus proche qui sert de limite.
- **OTT (métriques de l’analyseur)** : nouvelles métriques sur le flux vidéo — *idr-int-max / avg* (intervalle IDR) et *kf-int-max / avg* (intervalle GOP). À partir de leur rapport, l’administrateur voit immédiatement le type de structure GOP : closed-GOP (*idr-int ≈ kf-int*) ou open-GOP (*idr-int* absent). Les noms de clés XML/JSON restent inchangés pour la compatibilité ascendante.
- **OTT HLS (playlist)** : *EXT-X-VERSION* est choisi par défaut selon le mode HLS — *OTT/HLS* et *OTT/HLS/LL-HLS/LL-Dash* donnent *EXT-X-VERSION:6* avec *EXT-X-INDEPENDENT-SEGMENTS* et l’attribut *CHARACTERISTICS* dans *EXT-X-MEDIA TYPE=SUBTITLES* (en *OTT/HLS/LL-HLS/LL-Dash*, le master legacy *…/hls/…* émet lui aussi un *EXT-X-MEDIA* de sous-titres), *Peering/HLS* — *EXT-X-VERSION:3* pour la compatibilité avec les anciens clients (le paramètre de requête `?v=` remplace la valeur par défaut). La valeur *EXT-X-TARGETDURATION* reflète désormais la durée réelle maximale du segment (section 4.3.3.1 de la **RFC 8216**), et non le réglage *chunk-min-interval* — avec une segmentation alignée sur les GOP, le manifeste ne viole pas la norme, et *hls.js* ne réduit pas de moitié l’intervalle de rafraîchissement de la playlist et ne génère pas de faux *bufferStalledError*.
- **HTTP/3 (QUIC)** : un serveur intégré basé sur **ngtcp2** + **nghttp3** sert **HLS** et **MPEG-DASH** sur **QUIC** — activé par le réglage *HTTP/3 Enable* du serveur web (port *HTTP/3 Port*, UDP, par défaut identique au port HTTPS), prend en charge *0-RTT*. Low-Latency **HLS** / **DASH** sont diffusés sur **QUIC** de façon incrémentale (chunked) — les *parts* sont envoyées au client au fur et à mesure, sans attendre le segment complet. Seules les routes OTT sont acceptées sur le transport QUIC ; les chemins d’administration restent en HTTPS/HTTP. L’IP réelle du client est transmise via l’en-tête interne `x-pss-peer-addr` et est prise en compte dans le décompte des pairs actifs sans être remplacée par l’adresse loopback. Le basculement de **HLS** / **DASH** vers **HTTP/3** s’active également via le paramètre de requête *?h3* — pour basculer une session particulière à des fins de test sans reconfigurer le client.
- **Pairs actifs** : un timeout uniforme de session OTT de 60 secondes indépendamment du transport ; la mise à jour de la fiche client lors d’un changement de schéma se fait uniquement « vers le haut » par priorité (`http` → `https` → `quic`). L’attribut *ott-type* dans *http-clients* contient désormais une valeur composée de la forme `<PROTO>/<scheme>` (*PROTO* = *HLS* / *DASH* / *HTTP* ; *scheme* = *http* / *https* / *quic*) — l’UI d’administration voit à la fois le protocole OTT et le transport réseau réel de chaque client.
- **PS1 output** : sur la sortie *PS1*, un traitement fluide du changement d’entrée du flux a été mis en œuvre. En cas de pic de file d’attente lors de la commutation de source, les paquets les plus anciens sont silencieusement écartés, tandis que les seqID / TS des clients restent continus — les pairs récepteurs s’en sortent avec le mécanisme retr standard, sans réinitialiser la connexion avec *StateError*. Le compteur de paquets écartés est visible dans les statistiques étendues de la sortie PS1.
- **RTMP / RTMPS (publication sur YouTube / Facebook)** : publication de **SPTS** vers n’importe quel récepteur RTMP — *YouTube*, *Facebook*, etc. Format single-program : une vidéo **H.264** / **HEVC** et au plus une piste audio **AAC** ; une source multipiste est réduite via *mpegts-pid-accept* / *mpegts-pid-reject*. **HEVC** est publié via **Enhanced RTMP** (option *allow-hevc*, activée par défaut ; lorsqu’elle est désactivée — uniquement **H.264**). Les agencements de pistes incompatibles ne sont pas publiés mais signalés dans les statistiques (*compatible*, *incompat-reason*, *video-codec*, *audio-codec*, *dropped-tracks*). Pour *rtmps*, Perfect Streamer se connecte en tant que client **TLS** (pas de certificat serveur ; la vérification du certificat est l’option *tls-verify*, désactivée par défaut). Paramètres : *url*, *bind-if* (interface locale / IP de la connexion sortante), *client-timeout*, *allow-hevc*, *tls-verify*, *trace*.
- **RTMP / RTMPS (réception, pull)** : Perfect Streamer se connecte en tant que client RTMP à une source *rtmp(s)://* et récupère le flux (pull) ; le FLV est remultiplexé en **MPEG-TS**. **SPTS** uniquement ; il n’y a pas de mode d’écoute / d’ingestion de publication (listen / push-ingest). Paramètres : *url*, *bind-if*, *client-timeout*, *tls-verify*, *trace*. Dans *GET /data/stream/<id>* — l’état de la connexion et les compteurs de réception (*rtmp-state*, *recv-frames*, *read-errors*).
- **SPTS / TR 101 290** : un compensateur de dérive PCR est désormais actif sur les flux d’entrée — la dérive lente de l’oscillateur de référence de la source par rapport à l’horloge locale est absorbée par un décalage souple *sync DT* en tâche de fond, sans saccades visibles en sortie. Piloté par les paramètres de flux *Sync Drift Compensation* (activé par défaut) et *Sync Drift Soft Window* (ms).
- **SPTS / TR 101 290** : une régression linéaire PCR sur fenêtre large mesure le *drift* (ppm) et la *PCR accuracy* (ns selon la section *P2.3*) par rapport à la cadence de référence. Les métriques *pcr-drift-max / avg*, *pcr-acc-max-ns*, ainsi que les intervalles *pcr-int*, *pat-int*, *pmt-int* sont exposés dans *GET /data/stream/<id>* et écrits dans la base de statistiques historiques (les nouvelles tables sont accessibles à *Resetting Stat*).
- **SPTS / T-STD** : un analyseur du tampon vidéo du décodeur de référence (**T-STD**, **ISO/IEC 13818-1** §2.4.2). La capacité *MBn* est sélectionnée selon le *stream type* du PID vidéo ; le débit de vidage se stabilise en une seconde de « préchauffe » selon l’horloge PCR (et non selon l’horloge système de l’hôte — l’analyseur ne réagit donc pas aux pauses du planificateur CPU). Les compteurs *tstd-video-overflows / underflows / max-fill / drain-bps* sont exposés dans *GET /data/stream/<id>* et alimentent *tr101290-alert*.
- **SPTS** : détecteur runtime du mode de débit du multiplex — l’attribut *bitrate-mode-detected* (*cbr* / *vbr* / *unknown*) issu de la comparaison des débits sur 5 secondes et 60 secondes. Les contrôles *pcr-acc* et *tstd-video* dans *tr101290-alert* sont automatiquement supprimés en *VBR* détecté — où ils donneraient sinon de faux positifs.
- **Analyseur pour l’insertion publicitaire (ad-insertion)** : sur le flux **SPTS** entrant, un « passeport » de codecs est constitué — un passeport vidéo (*SPS* complet, profil et niveau **H.264** / **HEVC**) et un passeport audio (**MPEG Audio**, **AC-3**, **AAC** aux formats *ADTS* et *LATM*) —, et les sections **SCTE-35** (*splice_info_section*) sont analysées avec le marquage des points de raccord. Dans *GET /data/stream/<id>* (lorsque l’analyse **SPTS** continue est activée) sont fournis les signaux de frontières d’accès et de raccord — *GOP*, *RAI*, *splice-point*, événements **SCTE-35** ; le réglage *Splice Point Notify At* définit l’anticipation de la notification du point d’insertion. Les données sont préparées pour l’insertion publicitaire côté serveur.
- **Assistant IA pour les réclamations** : un nouvel endpoint *GET /data/stream/<id>/ai-complaint-prompt* renvoie un prompt anglais prêt à l’emploi pour tout modèle de chat, qui demande au modèle de rédiger une lettre de réclamation officielle au fournisseur listant les violations détectées de **TR 101 290** / **ISO/IEC 13818-1**. Le prompt porte exactement les mêmes jetons et valeurs mesurées que *tr101290-alert* ; le nom du flux et l’URI source n’entrent pas dans le prompt — le placeholder *<Stream Designation>* est utilisé, que l’opérateur renseigne manuellement. La langue de la lettre est choisie dans la réponse au prompt.
- **Portail web (rôles)** : les paramètres du serveur, l’EPG et la gestion de la liste des comptes administrateurs ne sont autorisés qu’au rôle *Admin* ; le rôle *RestrictAdmin* peut mettre en pause les flux et les canaux mais ne peut pas modifier les autres paramètres ; le rôle *Viewer* est en lecture seule. Les routes *POST* sont fermées par défaut, et toute nouvelle opération HTTP exige une autorisation explicite pour un rôle restreint — l’accès n’est pas étendu silencieusement.
- **Serveur (mémoire)** : restitution périodique de la mémoire libre des arènes *glibc* au système (*malloc_trim* toutes les 30 s) et limitation du nombre d’arènes via la variable d’environnement *MALLOC_ARENA_MAX* dans l’unité *systemd* — élimine la croissance progressive du *RSS* lors d’un fonctionnement prolongé avec des dizaines de flux, sans fuites logiques.
- **Filtre MPEG-TS** : le paramètre *Filter Teletext* rejette de nouveau les deux types de flux PES télétexte (classique et subtitles) après reclassification interne dans l’analyseur.
- **MPTS input** : le transport **RTSP** a été retiré de la liste de ceux autorisés pour le MPTS — le **RTSP** est single-program et n’est applicable que comme source SPTS.
- Autres améliorations et corrections de bugs.

## version 1.12.3.433

*09.05.2026*

- Scanner DVB pour **DVB-S/S2**, **DVB-C** et **DVB-T/T2** : découverte des transpondeurs et constitution de la liste des programmes, avec la possibilité d’appliquer les paramètres détectés directement dans les paramètres de l’adaptateur DVB.
- Scanner DVB : les références de transpondeurs sont chargées depuis des fichiers au format *Enigma2* (*satellites.xml*, *cables.xml*, *terrestrial.xml*) situés dans le répertoire des paramètres.
- Scanner DVB : mode *blind scan* pour **DVB-S/S2** et **DVB-C/T/T2** — balayage des fréquences, polarisations et débits de symboles sans référentiel de transpondeurs.
- Scanner DVB : pour chaque programme détecté sont indiqués *PNR*, le nom du service, le fournisseur, l’indicateur *scrambled* (issu de *free_CA_mode* dans le **SDT** avec repli via le **PMT**) ainsi que les *PID* principaux (vidéo, audio, *PCR*).
- Descrambler matériel **BISS-1** et **BISS-E** pour la réception de chaînes chiffrées depuis des cartes DVB. Les clés sont attribuées par programme ou par *PLP* individuel en mode **T2-MI** ; les deux formats de clé sont pris en charge (12 ou 16 caractères hex, avec vérification automatique des octets de contrôle **BISS-1**).
- Prise en charge **T2-MI** multi-flux (*ETSI TS 102 773*) : plusieurs *T2-MI carrier* sur un même transpondeur, sélection PLP par service, modes de sélection *carrier PID* automatique et manuel, filtrage par *TSID*.
- Prise en charge de **MPEG-DASH** en sortie **HLS OTT** : génération d’un manifeste *MPD* de profil *mp2t-simple* avec les mêmes segments que **HLS**.
- Prise en charge des sous-titres **WebVTT** dans **HLS OTT** : décodage automatique des sous-titres télétexte, segmentation de la piste de sous-titres sur les limites de segment **HLS** et publication dans la playlist. Commandée par l’option *ott-webvtt* du flux.
- Décodeur de sous-titres basé sur le télétexte (**ETSI EN 300 706**) : tables complètes des alphabets nationaux, assemblage correct des lignes de page et livraison des sous-titres au lecteur.
- Multiplexeur **MPTS** : détection automatique du *Service Type* à partir du *PMT* (HD/SD H.264, HEVC, MPEG-2, radio numérique, etc.) avec possibilité de remplacement manuel via le paramètre *Service Type*.
- Multiplexeur **MPTS** : remappage manuel des PID (*mpegts-pid-old* / *mpegts-pid-new*) avec protection contre les collisions lors de la sélection automatique des PID des flux élémentaires voisins.
- Multiplexeur **MPTS** : passage des flux élémentaires de service (*DSM-CC*, *AIT*, **SCTE-35**) marqués par les descripteurs correspondants dans le *PMT* — auparavant, ces flux étaient inconditionnellement filtrés.
- Multiplexeur **MPTS** : la limite supérieure du débit agrégé a été portée de 64 à 128 Mbit/s.
- Section de paramètres *DVR Storage* : rattachement de stockages DVR et leur liaison aux flux **SPTS** (paramètre *dvr-storage*) — préparation de la fonctionnalité d’enregistrement.
- Prise en charge des périphériques ASI.
- Transcodeur : prise en charge des flux sans images IDR.
- Transcodeur : profil d’encodeur audio 5.1 avec correction de la sonie. Correction de la sonie lors du transcodage du 5.1 vers stéréo/mono.
- Cache serveur Perfect Streamer et reverse-proxy externe (nginx) pour systèmes à forte charge.
- Intégration avec Prometheus, Telegraf / InfluxDB.
- Outils : [TS Analyze Perfect Streamer Toolkit v2.2 — TR 101 290](ts_analyze.md#ts-analyze).
- Outils : [MPTS Migrate Perfect Streamer Toolkit v1.0 — migration d’identité MPTS](mpts_migrate.md#mpts-migrate).
- Corrections de bugs et autres améliorations.
- Version 1.2.0.95 des transcodeurs *pstreamer-tcsw* et *pstreamer-tcnv* publiée.
- Version 1.0.0.28 du transcodeur *pstreamer-ivplv* (Intel VPL) publiée.

## Version 1.1

*07.04.2026*

- Multiplexeur MPTS refondu. Le bitrate se règle dans *input muxer*. Conformité **TR 101 290** et **T-STD**.
- RTSP input.

## Version 1.11.1.417

*31.03.2026*

- SPTS Stream / MPEG-TS : paramètre *Bitrate Mode* ajouté.
- SPTS Stream : Restamp PCR ajouté pour conformité à **TR 101 290**.
- SRT : corrections de deadlocks sous forte charge.
- Corrections de bugs et autres améliorations.

## Version 1.11.1.407

*13.03.2026*

- Transcodeur : prise en charge du format Variable Frame Rate (VFR) ajoutée.
- Transcodeur : prise en charge du profil HEVC Main10 avec bt.709 (SDR) et bt.2020 (HDR) ajoutée.
- Transcodeur : option ajoutée pour convertir les formats SD BT.470-2 (PAL) et SMPTE 170M (NTSC) en BT.709.
- Transcodeur : ajout du preset de resize « Upscale SD→HD ». S’applique aux sources SD PAL/NTSC ; l’entrelacement n’est pas pris en charge, désentrelacer au besoin.
- Transcodeur : correction d’un bug critique de blocage du processus lors du déchargement de l’encodeur Nvidia, qui perturbait le fonctionnement et exigeait un redémarrage manuel du flux.
- Streamer : correction d’un bug critique de l’analyseur vidéo (H.264 et HEVC) qui provoquait une charge CPU anormalement élevée et pouvait bloquer le streamer.
- Le transcodeur TCNV prend désormais en charge le format interlace/alternate 8 bit/10 bit.
- Qualité d’image TCNV améliorée ; post-traitement sur Nvidia CUDA refondu.
- Transcodeur output : statistiques étendues.
- Prise en charge IGMP v3 SSM ajoutée.
- Possibilité de définir un nom personnalisé du flux dans l’URL HLS/HTTP au lieu de l’ID.
- SRT input/output : paramètre AES Type.
- Copie pratique des liens de flux sortants.
- Formulaire de recherche/filtrage des pairs actifs.
- Corrections de bugs et autres améliorations.
- Version 1.2.0.86 des transcodeurs *pstreamer-tcsw* et *pstreamer-tcnv* publiée.

## Version 1.11.1.384

*21.12.2025*

- Transcodeur : prise en charge ajoutée d’Interlace Alternate (deux champs entrelacés transmis séparément).
- Réduction notable de la charge CPU lors de la réception de flux SRT (*SRT input Caller mode* → *Disable TSBPD*) grâce au synchroniseur propre à Perfect Streamer.
- [Correction des données du flux d’entrée](tc.md#fix-par-framerate) : *Fix PAR* (correction du Pixel Aspect Ratio) et *Fix Framerate* (configuré lorsque les données de framerate sont absentes du SPS du flux — nécessaire pour le transcodage ultérieur).
- Nouveau paramètre du mode HLS/HTTP : *Auto* — détection du mode via *Content-Type*.
- Améliorations liées au traitement des sous-titres et du télétexte.
- Amélioration de l’import des playlists UDP.
- Corrections de bugs et autres améliorations.
- Version 1.0.0.70 des transcodeurs *pstreamer-tcsw* et *pstreamer-tcnv* publiée.

## Version 1.11.1

*19.10.2025*

- Prise en charge de Debian 13/Ubuntu 25 et RHEL 10/AlmaLinux 10.
- Pour les transcodeurs *Nvidia enc* et *Software CPU*, la version requise de GLIBC est abaissée de 2.34 à 2.28 : prise en charge de Debian 10 et AlmaLinux 8.
- Choix des profils *Main* et *High* ajouté pour les transcodeurs H.264.
- Nouvelle fonctionnalité *output file* — enregistrement du flux dans un fichier TS ou diffusion vers tout périphérique (y compris SDI) listé sous /dev.
- Nouvelle possibilité *input file* — lecture en boucle d’une vidéo depuis un fichier TS.
- Amélioration du fonctionnement du transcodeur.
- Prise en charge du Conditional access MPEG-TS (CA) ajoutée : ECM et EMM.
- Vidage du buffer HLS OTT à la coupure du flux corrigé.
- Nouvelle fonctionnalité *Jitter Auto sync*.
- Meilleure compatibilité pour la réception de liens HLS non standard.
- Meilleure compatibilité du serveur EPG avec les sources XMLTV.
- Autres améliorations et corrections de bugs.

## Version 1.10.1

*20.08.2025*

- Générateur Test Stream — signaux de test (mires).
- Fonctionnalité peer login anonymous : réception de flux sans authentification.
- Autorisation du pair par plage d’adresses IP.
- Option du pair *Login is ip* — autorisation par IP (ou plage d’IP) au lieu d’un login.
- Amélioration des fonctionnalités HLS adaptatif.
- Amélioration de la qualité d’image pour le transcodeur Nvidia.
- Correction du CBR H.264 pour le transcodeur Software CPU.
- Mise à jour de la bibliothèque OpenSSL vers la version 3.0.9.
- Le défilement du tableau des flux dans la liste a été refait.
- Autres améliorations et corrections de bugs.
- Version 1.0.0.57 des transcodeurs *pstreamer-tcsw* et *pstreamer-tcnv* publiée.

### Particularités de la migration depuis les versions antérieures :

En raison des modifications des mécanismes d’autorisation par IP et plage d’adresses IP pour la réception sur le logiciel « Flussonic », pour les peers créés dans « Perfect Streamer » avec autorisation par IP, il faut utiliser des liens au format `srt://Stream_IP:port?streamid=*`.

Auparavant, à la place de `*`, on utilisait l’adresse IP du serveur de réception sous « Flussonic », ex. `srt://Stream_IP:port?streamid=Your_IP`

À partir de la version 1.10.1.364, la réception d’un flux dans ce format ne fonctionnera plus.

Plus de détails sur la réception SRT de « Perfect Streamer » dans « Flussonic » : voir [FAQ](faq.md#flussonicsrt).

En raison des modifications des mécanismes d’identification des cartes vidéo, une nouvelle association des cartes vidéo dans le transcodeur est requise. Pour cela, ouvrez les paramètres transcoder-output, vérifiez que le bon périphérique (Device ID) est sélectionné et enregistrez les paramètres, indépendamment du fait que le périphérique sélectionné a changé ou non.

## Version 1.10.1

*30.06.2025*

- Génération de HLS adaptatif. [Description dans la documentation](ott.md#adaptive).
- Renouvellement automatique des certificats SSL Let’s Encrypt via certbot.
- Prise en charge LCN (Logical Channel Number) ajoutée.
- Ajout de l’affichage et de l’analyse des marqueurs SCTE-35 dans le flux.
- Améliorations du transcodeur logiciel. Qualité d’image améliorée et CBR corrigé pour MPEG-2.
- GStreamer et les codecs sont déjà intégrés dans les paquets des distributions tcsw et tcnv (l’installation de GStreamer n’est plus obligatoire — elle peut n’être nécessaire que pour les fonctionnalités RTSP, RTMP et la table de test (Test stream)).
- GStreamer intégré mis à jour vers la version 1.26.
- Le transcodeur Nvidia (tcnv) fonctionne avec toute version de CUDA ; pas d’attache stricte à 12.5.
- Le paramètre Deinterlace du transcodeur Nvidia est déplacé du paramétrage GPU global vers l’input de chaque flux encodé — individuel, comme pour la méthode logicielle.
- Amélioration du serveur EPG et des modes SSL pour EPG, HTTP.
- Correction de bugs.

## Version 1.9.2

*07.05.2025*

- Prise en charge de *Video Passthrough* en mode transcodeur ajoutée. Dans ce mode, la vidéo passe telle quelle ; seuls le format audio et son bitrate changent.
- Paramètres *NV lookahead* et *bframe* ajoutés pour le transcodeur Nvidia.
- Prise en charge de l’audio MPEG-1 Layer 1, 2, 3 (mp3) en entrée ajoutée.
- La section *Transcodeurs* du menu latéral gauche a été refondue et détaillée.
- Stabilité et compatibilité améliorées du transcodeur avec divers flux de chaînes TV.
- Améliorations du serveur EPG.
- Améliorations du serveur HTTPS, EPG SSL et HLS SSL.
- Prise en charge ajoutée des liens HLS où la playlist renvoie à une playlist avec une nouvelle session.
- Autres améliorations et corrections de bugs.
- Version 0.9.6.34 des transcodeurs *pstreamer-tcsw* et *pstreamer-tcnv* publiée.

## Version 1.9.2

*31.03.2025*

- (Bêta) Ajout d’une fonctionnalité de transcodage basée sur Nvidia Encoder et Software CPU. Prise en charge des formats HEVC (H.265), H.264 et MPEG-2 dans toutes les résolutions de 4K à SD.
- La section « System Monitor » a été refondue avec l’affichage de la charge des GPU Nvidia (gpu, memory, encoder, decoder).
- Nouvelle section « Transcodeurs ». Elle affiche des informations récapitulatives sur les flux en cours de transcodage (decoder et encoder), les sources, le temps de fonctionnement et le statut.
- Dans la section « Transcodeurs », un log est disponible pour chaque flux en transcodage avec description détaillée du statut, des erreurs possibles et de leurs causes.
- Section « adaptateurs DVB » restaurée. Réception de chaînes via cartes DVB-S/S2, DVB-C, DVB-T2 ; analyse du signal et des flux reçus.
- Améliorations du fonctionnement du protocole de transport RIST.
- Améliorations et ajustements du serveur EPG.
- Amélioration de l’analyseur intégré des flux de chaînes TV.
- Améliorations et corrections de bugs du portail web.
- Possibilité de remplacement des PID pour les flux SPTS ajoutée.
- Affichage de TS ID et TS Net ID ajouté dans le bloc Stream Info de la page du flux MPTS.
- Amélioration de la gestion des PID des flux.
- Autres améliorations et corrections de bugs.

## Version 1.9.1

*10.02.2025*

- Améliorations et ajustements du multiplexeur.
- Mode Stuffing : PCR et Realtime (system clock) pour SPTS et MPTS.
- Correction de bugs.

## Version 1.8.1

*02.01.2025*

- Listes de contrôle d’accès aux flux pour les pairs.
- Options de login et mot de passe ajoutées pour l’input HLS/HTTP.
- Compatibilité améliorée du login/mot de passe SRT avec les logiciels tiers.
- Amélioration du fonctionnement et optimisation des performances.
- Correction de bugs.

## Version 1.8.1

*28.11.2024*

- Amélioration des performances du mode HLS OTT.
- Amélioration de la facilité d’utilisation.
- Amélioration de l’export de playlist.
- Correction de bugs.

## Version 1.7.1

*04.09.2024*

- Amélioration des performances avec SRT.
- Amélioration de la facilité d’utilisation.
- Amélioration de la compatibilité avec HLS.
- Amélioration des opérations groupées sur les flux.
- Import amélioré des chaînes depuis les playlists, prise en charge des protocoles de transport UDP et RTP en sortie lors de la génération automatique des sorties.
- Indicateur de débit par PID.
- Correction de bugs.

## Version 1.7.1

*08.02.2024*

- Optimisation et refonte du code, charge CPU significativement réduite.
- Modes de fonctionnement HLS : Peering et OTT.
- Export des chaînes TV dans divers protocoles de transport vers une playlist .m3u8.
- Import de chaînes depuis une playlist dans différents protocoles de transport, avec configuration ultérieure de la sortie des flux dans le protocole choisi et la plage de ports indiquée.
- Clonage des flux.
- Opérations groupées sur les flux — clonage et suppression.
- Amélioration de l’ergonomie du programme.
- Améliorations diverses et corrections de bugs.

## Version 1.6

*15.10.2023*

- Import XMLTV depuis des sources externes.
- Serveur XMLTV.
- Générateur EIT pour flux SPTS et multiplexeur.

## Version 1.6

*15.08.2023*

- Multiplexeur MPEG-TS.

## Version 1.5

*18.04.2023*

- Limites pour un Peer — pause, limite de date, restrictions du nombre de sessions par protocole.
- Fonctionnalité Stream Name ajoutée, prise en charge du cyrillique.
- Tri par canaux désactivés et activés.
- Bibliothèque SRT mise à jour.
- Fonctionnement de l’analyseur corrigé.
- Autres améliorations et corrections.

## Version 1.5

*28.12.2022*

- OTT http/hls output.
- Prise en charge HTTPS pour les serveurs Web et HTTP.
- Analyseur de flux avancé.
- Corrections de bugs.

## Version 1.4

*12.09.2022*

- Optimisation du programme : réduction de la charge CPU.
- Le paramètre de bitrate du stream a été supprimé.
- L’input HTTP a été supprimé ; ce protocole est désormais pris en charge par l’input HLS.
- HLS prend désormais en charge [https://](https://) et les redirections.

## Version 1.4.2

*27.05.2022*

- Prise en charge du protocole de transport RIST.
- Correction des marqueurs PCR cassés (PCR Fix).
- Réception et envoi des flux SRT en mode Listener.
- Correction de bugs.

## Version 1.4

*16.12.2021*

- Analyseur MPEG-TS pour CAT/ECM/EMM.
- Options de filtrage pour CAT/ECM/EMM.
- Graphique des pertes du flux d’entrée.
- Améliorations de l’interface web.
- Corrections de bugs.

## Version 1.3

*14.11.2021*

- Périphériques DVB — réception et analyse des flux. Contrôle qualité.
- Démultiplexage MPTS pour les flux DVB et MPTS.
- Thème contrasté de l’interface web.
- Paramètres locaux de l’interface web : thème, fuseau horaire.
- Corrections de bugs.

## Version 1.2

*01.09.2021*

- Travail avec EPG.
- Export XMLTV.
- Corrections de bugs.

## Version 1.1

*26.08.2021*

- Réception et émission de flux MPTS. Analyse du contenu.
- Flux chiffrés.
- Affichage de paramètres MPEG-TS supplémentaires — EPG, télétexte, sous-titres.
- Options de filtrage MPEG-TS supplémentaires — EPG, télétexte, sous-titres.

## Version 1.0

*11.07.2021*

Première version publique.
