×

⊳ Muxer

MPTS · TSDuck · PSI/SI

Muxer és Statmux

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.

Kódolók

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.

Muxer NIF

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.

Kimenet

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.

Muxer költségvetés

A muxer kapacitás tervezésekor vegye figyelembe az összes stream átlagos és maximális bitrátáját.

Átlag

Max

Min

Példa

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.

Diagnosztika

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.

Muxer hibák

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.

Paraméterek

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.

Muxer ajánlás

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)

Ajánlott értékek

Az ajánlott értékek alapja: min = 5. percentilis, avg = medián, max = 95. percentilis a mért bitrátákból.

Muxer statmux

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 kihasználtság

Kapacitás diagram

Statmux nyereség

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

CBR és statmux elkülönítés

Minden statmux csoportnak saját poolja van. A CBR és statmux bemenetek nem keverhetők ugyanazon a muxon belül.

Statmux pipeline

Pipeline diagram

Pool méretezés

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

Tippek

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

Munkafolyamat

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

Statmux

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

Adatfolyam

Architecture diagram

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

Vezérlő logika

A statmux vezérlő három hurokból áll: előrejelzés, elosztás és visszajelzés.

Előrejelzés

A tényleges drót bitráta mérése és visszacsatolása a vezérlőciklusba

Visszajelzés

deliver_t

Kézbesítés

A QP célvezérlő arányosan állítja a max bitráta határokat az összes stream-en

Egyenlítő

Jövőbeli GOP igény becslése az elmúlt GOP statisztikák alapján

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

Drót bitráta

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.

A NIF belső küldési sorának mélysége; magas érték torlódást jelez

Puffer sor

A NULL csomagok jelzik a szabad kapacitást — 0% = telített mux

NULL bitráta

A NIF a csomagokat 285 µs-onként küldi a PCR jitter minimalizálásához

Csomagküldési ütem

Bitráta diagram

A statmux bitráta diagram valós időben mutatja a mux teljesítményét.

Zöld sáv: normál működési tartomány. Narancs: kapacitás közelében. Piros: kapacitás felett.

Sávok

A maximális konfigurált mux kapacitást jelzi (piros vonal)

Kapacitás vonal

Az összes NULL csomag aránya jelzi a szabad kapacitást. 0% = telített mux.

NULL kitöltés

Ha a bitráta meghaladja a kapacitást, a NIF csomagokat ejt — figyelje az ejtések számát

Ejtések

Az elmúlt N másodperc megjelenítve; az időablak konfigurálható

Tartomány

tip_t

Tipp

cap_t

Kapacitás limit

A kapacitás egy részét fenntartja PSI és PCR overhead számára

Tartalék

A QP cél vezérlő akkor avatkozik be, ha a drót bitráta a kapacitás e %-a fölé kerül

Puffer sáv

gop_t

GOP méret

vbv_t

VBV puffer

Stream kártyák

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

PSI táblák

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

EIT integráció

A statmux EIT (Esemény Információs Tábla) szekciókat injektálhat a szállítási streambe az EPG adatokkal.

Kapacitás méretezés

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

Referencia összehasonlítás

A referencia muxer (pl. Flussonic) mért adataival való összehasonlítás segít azonosítani a különbségeket.

A saját muxer által mért értékek

Jelenlegi értékek

Az A/V szinkron, PCR pontosság és NULL kitöltési arány eltérései a referenciától

Eltérések

TS fejléc

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

Architektúra

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 ütemezési szekciók — 8 napig előre (table_id 0x50+)

EIT generálás

EIT injektálás

Jelenlegi/Következő

EIT frissítési ráta

Ütemezés

Kijelző

Bevezetés

ASCII kijelző

Fejlécek

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

ISO 13818-1 test

PCR

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