IP kamery

Z ZděchovNET
Skočit na navigaci Skočit na vyhledávání

Požadavky na kamerový systém

  • Možnost přehrávat video v reálném čase
  • Možnost umístit jpg obrázky na webové stránky, generování jejich miniatur
  • Co nejmenší zátěž na místní síti, nejlépe přenášet video proud jen pokud kameru někdo sleduje
  • Kamerový server umístěný co nejblíže k páteři sloužící jako video proxy a web server pro obrázky
  • Snížení zátěže pokud kamery nikdo nesleduje
  • Možnost načíst všechny kamery jako seznam skladeb(playlist) do VLC
  • Možnost zobrazit souhrnně obrázky ze všech kamer na jedné stránce
  • Archív, možnost prohlížení obrázků a videa z předchozích dnů
  • Zobrazení volitelných informací v obraze

Kamery

Edimax IC-3030

IC-3030
  • velmi levná kamera, cena okolo 1600 Kč
  • vnitřní použití (indoor)
  • HD rozlišení 1280 x 1024
  • video kodek H.264 při max. rozlišení 15 snímků za sekundu, proměnný bitrate (VBR)
  • dostupná také varianta s wifi-n

Adresy pro přístup k videu

Jeden snímek:

http://kamera/snapshot.jpg

MJPG video:

http://kamera/mjpg/video.mjpg

MPEG4 video:

rtsp://kamera:554/video.sdp

H.264 video:

rtsp://kamera:554/video_h264.sdp

VLC video proxy

Pro nízké zatížení sítě a dosažení maximální kvality je vhodné použít video s kodekem H.264. Díky efektivní kompresi se i při maximálním rozlišení a FPS kamery zatížení sítě v klidu pohybuje kolem 500-1000 kbit/s. Přitom IP kamery většinou zabírají především statická místa, kde je minimální jen občasný pohyb.

vlc-wrapper -vvv --intf=dummy rtsp://kamera:554/ipcam_h264.sdp \
--sout '#rtp{dst=server_ip,port=50000,sdp=rtsp://server_ip:8080/test.sdp}'

Jednotlivé snímky

K získání jednotlivých snímků z videa lze použít VLC filtr scene. Perioda generování snímků je určena parametrem scene-ratio, kde 15 znamená, každý 15-tý snímek. Přitom samotné video se pak musí celé průběžně dekódovat, aby snímky mohly být generovány z rozdílových i klíčových snímků. To pak vyžaduje určitý výpočetní výkon.

vlc --video-filter=scene --vout=dummy --aout=dummy --intf=dummy \
--scene-format=jpg --scene-ratio=15 \
--scene-prefix=snap \
--scene-path=/var/vlc/image rtsp://kamera:554/ipcam_h264.sdp vlc://quit

Vnější odkazy

Ubiquity AirCam

Ubiquiti Aircam
  • Získání snímku v nižším rozlišení přes wget:
curl -s -S -L -H 'Expect:' -b cookies -c cookies -o loginpage.html http://kamera/login.cgi
curl -s -S -L -H 'Expect:' -b cookies -c cookies -o loginresult.html \
--form username=jmeno --form password=heslo --form Submit=Login http://kamera/login.cgi
wget -q --load-cookies cookies "http://kamera/snapshot.cgi" -O webcam.jpg
  • Získání snímku jpeg v plném rozlišení přes ffmpeg:
ffmpeg -i rtsp://kamera/live/ch00_0 -y -f image2 -sameq -t 0.001 spanshot.jpg
  • Získání snímku jpeg v plném rozlišení přes přehrávač VLC:
vlc --video-filter=scene --vout=dummy --aout=dummy --intf=dummy --scene-format=jpg \
--scene-ratio=100 --scene-prefix=webcam_ --run-time=1 --scene-path=/tmp/webcam \
rtsp://kamera:554/live/ch00_0 vlc://quit

Video proxy

  • Přes místní síť s nízkou kapacitou by se měl video proud přenášet pouze jednou
  • Blízko u páteře by měl být umístěn server, který umožní jeden proud z kamery rozdělit na mnoho unicast kopií pro mnoho klientů
  • Možnost umístit video na webových stránkách
    • RTSP stream MPEG4 h264 přehrávaný pomocí VLC přehrávače
    • Proud překódovaný do formátu FLV pro přehrávání ve flash přehrávačích
    • Proud překódovaný do MJPG formátu, který většinou prohlížeče podporují
    • Proud překódovaný do vhodných formátů pro přímé přehrávání v prohlížečích podporujících HTML5

Flash přehrávače

Vnější odkazy