A LiveKit videóképkockánkénti metaadatokat vezet be

A LiveKit új Video Frame Metadata funkciója lehetővé teszi, hogy minden videóképkockához időbélyeg, sorszámozott azonosító és egyedi felhasználói adat társuljon. A megoldás elsősorban a robotikai rendszerek, a több érzékelő összehangolása és a késleltetés pontos mérése számára lehet hasznos.
- A LiveKit minden videóképkockához időbélyeget, azonosítót és egyedi adatot rendelhet.
- A funkció a robotikai érzékelők, például a LiDAR és az IMU adatainak összehangolását támogatja.
- A metaadat a rögzítéstől a dekódolásig megmarad, a nem kompatibilis klienseknél az SFU eltávolítja.
- A támogatás jelenleg a Rust, Python, C++ és JavaScript SDK-kban érhető el.
- A hangképkockák támogatását a LiveKit egy későbbi verzióra tervezi.
A WebRTC időzítése nem mindig elég a robotikához
A WebRTC időbélyegeket használ a hang- és videólejátszás folyamatosságának, szinkronizálásának és hálózati problémákkal szembeni ellenálló képességének biztosítására. A LiveKit szerint azonban a szabványos WebRTC RTP-időbélyegek nem elegendők olyan feladatoknál, ahol több érzékelő adatait kell pontosan összehangolni.
A robotikai rendszerek jellemzően egy, az egész rendszerben közös referenciára támaszkodnak. Ilyen lehet a GPS, a PTP vagy más nagy pontosságú időzítési jel. Az RTP-időbélyegek ritkán igazodnak ehhez az órához. A WebRTC-ben korábban is születtek kezdeményezések a valódi eszközoldali rögzítési idő továbbítására, köztük az Absolute Capture Timestamp kiterjesztés, ez azonban a LiveKit közlése szerint jelenleg lejárt javaslatként várakozik.
Háromféle adat kerülhet a képkockák mellé
A LiveKit 2026. július 13-i bejelentése szerint a Video Frame Metadata bekapcsolásával minden rögzített videóképkocka vagy bináris adatképkocka tartalmazhat háromféle kiegészítő információt:
- Felhasználói időbélyeg: a rendszer referenciaként használt érzékelőideje mikroszekundumban.
- Képkockaazonosító: egymást követő azonosító, amellyel minden képkocka egyedileg hivatkozható.
- Felhasználói adat: tetszőleges, a képkockához kapcsolódó információ.
Az így továbbított adatok több munkafolyamatot is támogathatnak. A robotikában a videó összehangolható LiDAR-, IMU- és más érzékelők adataival. A kamera expozíciós idejének rögzítésével a teljes, úgynevezett üvegtől üvegig tartó késleltetés is mérhető a rögzítéstől a kódoláson, hálózaton és dekódoláson át a megjelenítésig.
A képkockaazonosító segítségével a videó összekapcsolható például gépi tanulási következtetésekkel vagy átiratszegmensekkel, külön szinkronizáló csatorna nélkül. A képkockához emellett olyan állapotadat is rendelhető, mint egy kamera tartókarjának csuklópozíciója. Ez kiválthatja az utófeldolgozás során szükséges pufferelést és korrelációt.
A metaadat a hálózati továbbítás része
A fejlesztő a metaadatokat a képkockák rögzítésekor rendelheti hozzá, majd a LiveKit a videó RTP-csomagokra bontása előtt egy kis bináris záróelemként fűzi hozzá az információt. A megoldás kompatibilis a LiveKit által támogatott videokodekekkel, és a metaadatokat a hálózati átviteli határon is megőrzi.
A címzett oldalon az attribútumok a megfelelő képkocka dekódolása után válnak elérhetővé. A közzétételhez kapcsolódó jelzés azt is közli az SFU-val és a feliratkozókkal, hogy az adott sáv milyen metaadatokat tartalmazhat. Ha egy downstream kliens még nem tudja értelmezni a záróelemeket, a LiveKit SFU eltávolítja azokat. A cég szerint ez teljes visszamenőleges kompatibilitást biztosít a funkciót még nem támogató kliens SDK-kkal.
A felhasználói adatoknak a LiveKit példája szerint kicsinek kell maradniuk, mivel a csomagzáró elem számára körülbelül 232 bájtos keret áll rendelkezésre. A hangképkockák támogatása egy későbbi verzióban érkezik.
Már négy kliens SDK-ban elérhető
A Video Frame Metadata jelenleg a LiveKit Rust, Python, C++ és JavaScript kliens SDK-jaiban érhető el. A fejlesztők a sáv közzétételekor kiválaszthatják, hogy időbélyeget, képkockaazonosítót vagy felhasználói adatot szeretnének csatolni, majd rögzítéskor minden képkockához létrehozhatják a hozzá tartozó FrameMetadata objektumot.
A LiveKit a Rust SDK részeként teljes, futtatható bemutatót is biztosít a local_video példában. A közzétevő program időbélyeg, képkockaazonosító és tesztadat csatolását tudja bemutatni, a feliratkozó pedig a képernyőn jelenítheti meg a képkockaazonosítót, a közzétevő időbélyegét és a felhasználói adatot. A funkció így olyan fejlesztőknek ad közvetlen eszközt, akiknek a videófolyamot külső érzékelőkkel vagy feldolgozási eredményekkel kell képkockapontosan összekapcsolniuk.
LiveKit: Introducing video frame metadata


