ugrás a tartalomhoz

IP vagy Webkamera képének és hangjának beágyazása weboldalamra

simisoma · 2015. Nov. 19. (Cs), 10.51
Sziasztok,

adott egy mikrofonos IP kamera ami elérhető egy fix IP-n keresztűl.

Hogyan tudnám a képet és hangot beágyazni a weboldalamra?
 
1

Hogyan férsz hozzá

Poetro · 2015. Nov. 19. (Cs), 11.55
Az teljesen attól függ, hogyan férsz hozzá a kamera képéhez, és az milyen formátumban van. Böngészőbe többféleképpen lehet élő videót közvetíteni. Egyik az Apple féle HLS, a másik Flash, a harmadik pedig WebRTC. És mivel nincs jelenleg eszköz, ami mindet támogatná, ezért ha mindenkinek ki akarod szolgálni a képet, akkor marad az, hogy mindhármat implementálod.
2

MediaSource

vbence · 2015. Nov. 19. (Cs), 18.46
A MediaSource API támogatott, a frissen tartott bönsészókben. A H.264 + AAC párost minden böngésző lejtássza mióta a cisco kiadott szabadon licencelt kódeket.

A háttérben lévő MP4 fájljaidat egy falklbacknek használt flash player könnyen lejátssza.

Szóval nem olyan sötét a helyzet...

Nem is beszélve fincsi opensource mediaszerverekről ;)
3

Live

Poetro · 2015. Nov. 19. (Cs), 20.45
A legnagyobb probléma az webkamera élő kép mivoltával van. Azaz nincsen MP4 fájlod, így azt nem is tudod kiszolgálni. Egy H.264 videófolyamod van, amiben nem tudsz tekerni, nem tudod megállítani stb. Csak lejátszani tudod. Az MP4 pedig ebben nem igazán segít, mert maga a formátum nem igazán segíti az élő videó lejátszását.
4

Átjátszás

vbence · 2015. Nov. 19. (Cs), 21.09
Abból indultam ki, hogy a webkamera képét megszerzed valahogy (mondjuk gstreamerrel). Vagy mjpeg vagy h264 lesz.

Az egyes GOP-ket (keyframetől keyframe-ig) lemented egy mp4 fájlba, majd feltöltöd egy klassziks webszerverre, ami kiszolgálja. A lejászók pollolnak egy minimális php szkriptnek ami szól nekik ha feltöltődött a következő szelet.

A twitch kb így működik mostanában. Nyilván lehet finomítani a végtelenségig a részleteken, websocket szerver longpoll helyett meg hasonlók.
5

Értem

Poetro · 2015. Nov. 19. (Cs), 23.15
Ok, így már érthető, és logikus is. Azaz csak kicsi darabokat olvasol be, amiket folyamatosan mentesz, és folyamatosan kiszolgálsz.
6

Igen

vbence · 2015. Nov. 23. (H), 16.36
A MediaSource API szépen, nyekkenésmentesen összefűzi őket, persze bizonyos muxing beállításokat (többékevésbé az MPEG-DASH szabvány) tartani kell. Ha minden fájlnak van fejléce azt át tudod ugrani (mert csak az elsőnek kell igazából), csak egy nagyon alap JS parzolást kell végezni.