MPTS · TSDuck · PSI/SI






A muxer modul kezeli a statisztikus multiplexelést, a bitráta elosztást és az MPEG-TS szállítási stream generálást.
Az NVENC kódolók folyamatos VBR módban futnak. A statmux bitmezőt minden GOP-nál adaptívan állítja be a csatorna komplex jellemzői és az aktuális puffer szint alapján.
A statmux NIF összegyűjti az összes kódolt stream-et, PCR időbélyeget illeszt, PSI táblákat generál (PAT/PMT/SDT/NIT/EIT), majd az összes programot egyetlen MPEG-TS szállítási streambe multiplexeli.
Az MPEG-TS szállítási stream UDP multicast-on keresztül kerül kiadásra, a bitráta a beállított kapacitásra szabályozva. NULL csomagok töltik ki a fennmaradó kapacitást CBR módban.
A muxer kapacitás tervezésekor vegye figyelembe az összes stream átlagos és maximális bitrátáját.
Átlag
Max
Min
12 stream × átlag 2,5 Mbps = 30 Mbps tartalom + ~0,5 Mbps PSI/NULL kitöltés = 30,5 Mbps. 37 Mbps kapacitással a statmux 82%-os kihasználtságon fut, 6,5 Mbps szabad headroom-mal a csúcsok kezeléséhez.
Riasztások: A figyelő pirosra vált, ha a tényleges bitráta 10 mp-nél hosszabb ideig meghaladja a kapacitást.
Bitráta monitor: A műszerfalon élő diagram mutatja a drót bitrátát, a NULL százalékot, az encoder bemeneti összesítőt és a QP eloszlást.
Folytonossági számláló: A PCR érték ellenőrzésével megállapítható, hogy egy csatorna hibákat tapasztal-e (cc_errors > 0).
PCR ellenőrzés: Futtassa a tsp --analyze -I udp-t vagy az ffprobe-t a PCR jitter mérésére.
GOP egybeesés: Ha több stream egyidejűleg küld I-képkockát, a bitráta hirtelen megugrik. A GOP méretek eltolásával csökkenthető ez.
Bemeneti veszteség: Ha egy encoder folyamat leáll, a NIF kitölt NULL csomagokkal a csatorna bitmezőjét.
Túlterhelés: Statmux esetén a NULL pad 0%-ra csökken csúcsokon. Ha a kapacitás folyamatosan 100% fölé kerül, csökkenteni kell a maximális bitrátákat.
PCR sodródás: A szállítási streamben mért és az elvártban számított PCR közötti különbség. Elfogadható: <500 µs p99.
VBV aláfutás: Ha a max bitráta túl alacsony egy jelenethez, az encoder a VBV puffer üresedése miatt kénytelen ejteni a minőséget. Növelje a max bitrátát vagy engedélyezze a statmux-ot.
Minden mux bemeneten konfigurálható paraméterek: PNR, PMT PID, videó PID, audió PID, min/avg/max bitráta, GOP méret, VBV puffer, statmux engedélyezése.
A bitráta ajánlás az elmúlt forgalmi statisztikák alapján számítja ki az optimális min/avg/max értékeket.
Szín
Lefedettség
z tényező a kívánt lefedettségtől függ (pl. z=1,65 a 95%-hoz)
Az ajánlott értékek alapja: min = 5. percentilis, avg = medián, max = 95. percentilis a mért bitrátákból.
A statisztikus multiplexelés (statmux) dinamikusan osztja el a rendelkezésre álló kapacitást a programok között. Az egyszerű tartalomnak kisebb bitráta jut, a komplex jeleneteknek több.
Kapacitás diagram
A statmux tipikusan 20-40%-os kapacitás megtakarítást hoz azonos vizuális minőség mellett.
CBR: minden stream rögzített bitrátán kódol, a szabad kapacitás NULL csomagokkal tölt
Statmux kikapcsolt: az encoder a max_bps felső értékig kódol
Statmux bekapcsolt: a pool újraosztódik, a kapacitás hatékonyan kihasznált
Minden statmux csoportnak saját poolja van. A CBR és statmux bemenetek nem keverhetők ugyanazon a muxon belül.
Pipeline diagram
A statmux pool méretezése: összesített átlagos bitráta × 1,15 biztonsági faktor. A csúcsok simíthatók nagyobb GOP-pal és VBV pufferrel.
Példa: 10 stream × 3 Mbps átlag = 30 Mbps, 15%-kal = 34,5 Mbps szükséges kapacitás
Szükséges kapacitás = Σ(átlag bitráta) × 1,15
A statmux hatékonyságát növeli a különböző komplexitású tartalmak keverése (hírek + sport + film)
Egységes GOP méretet használjon az összes stream-en a szinkronizálás javításához
A VBV puffer mérete legyen legalább 2× a maximális bitrátányi
Figyelje a NULL százalékot — ha tartósan 0% alatt marad, a kapacitást növelni kell
1. Engedélyezze a statmux-ot a kívánt stream bemeneteken
2. Állítsa be a min/avg/max bitrátákat stream-enként
3. Konfigurálja a mux kapacitást és a GOP méretet
4. Figyelje a bitráta diagramot és a QP eloszlást
A statmux (statisztikus multiplexelés) modul kezeli a több stream szállítási streambe multiplexelését, dinamikus bitráta elosztással.
Osztályozás
Bemenet
Kódoló
vezérlőciklus
Ciklus
Stream-enkénti
Allokátor
Puffer
NULL
CBR kitöltés
Előrejelzés
Visszajelzés
Cél
Statmux adatfolyam
A statmux vezérlő három hurokból áll: előrejelzés, elosztás és visszajelzés.
Előrejelzés
Visszajelzés
Kézbesítés
Egyenlítő
Előrejelzés
1. lépés: Bitráta mérés — az encoder jelenti az átlagos bitrátát az elmúlt GOP-on
2. lépés: Pool számítás — az összes stream igényének összesítése
3. lépés: Elosztás — arányos elosztás a komplex jellemzők alapján
4. lépés: Visszajelzés — az elosztás alkalmazása az encoder max bitrátájára
5. lépés: Iteráció — minden GOP-nál ismétlés
A drót bitráta a tényleges UDP kimeneti bitráta, beleértve az összes tartalmat, PSI táblát, PCR és NULL padding csomagokat.
Puffer sor
NULL bitráta
Csomagküldési ütem
A statmux bitráta diagram valós időben mutatja a mux teljesítményét.
Sávok
Kapacitás vonal
NULL kitöltés
Ejtések
Tartomány
Tipp
Kapacitás limit
Tartalék
Puffer sáv
GOP méret
VBV puffer
Minden stream kártyáján megjelenik az aktuális státusz, a bitráta és a QP érték.
OK — a statmux aktív és normálisan fut
Induló — az encoder folyamat éppen inicializálódik
Kikapcsolt — a statmux le van tiltva ennél a stream-nél
Hiba — az encoder folyamat leállt vagy hibát jelzett
A muxer automatikusan generálja az összes szükséges DVB/MPEG-TS PSI táblát.
Tábla
psi h_pid
psi h_int
Forrás
A statmux EIT (Esemény Információs Tábla) szekciókat injektálhat a szállítási streambe az EPG adatokkal.
Határozza meg az összes stream átlagos bitrátáját
Adja hozzá a 15%-os biztonsági faktort a csúcsokhoz
Adja hozzá az ~1% PSI/PCR overheadet
Kerekítsen felfelé a rendelkezésre álló kapacitási szinthez
A referencia muxer (pl. Flussonic) mért adataival való összehasonlítás segít azonosítani a különbségeket.
Jelenlegi értékek
Eltérések
ts h_sym
ts h_fix
TS csomag méret
188 bájt
TS fejléc
4 bájt
TS payload
184 bájt
Szinkronizáló bájt
0x47
PID
13 bit
ASCII diagram
enc_b
nif_b
out_b
1. sor
2. sor
Kártya állapotok
ASCII diagramma
Drót bitráta — a tényleges UDP kimeneti bitráta
NULL százalék — a NULL padding aránya a teljes kapacitáshoz képest
Encoder összeg — az összes encoder jelzett bemeneti bitrátájának összege
L4
EIT generálás
EIT injektálás
Jelenlegi/Következő
EIT frissítési ráta
Ütemezés
Bevezetés
ASCII kijelző
HR b1
A valós tartalom csúcsai rövid idejűek (GOP-ok, jelenetváltások)
HR b3
HR b4
A headroom a kapacitás és a tényleges átlagos bitráta különbsége. A NULL padding aránya mutatja a szabad headroom-ot.
ISO 13818-1 test
PCR test
CAT — Feltételes hozzáférési tábla
EIT — Esemény információs tábla (EPG)
NIT — Hálózati információs tábla
PAT — Programtársítási tábla
PMT — Program leképező tábla
SDT — Szolgáltatásleírási tábla
TDT/TOT — Idő/Dátum tábla