GStreamer kan være svært komplekst/omfattende, selv for å sette opp én videostrøm. Mange av kvalitetsfunksjonene som flere strømmer og direkteopptak er mye enklere og kommer med et brukergrensesnitt i Discovery
Sjekk dweOS
Etter at du har fulgt dweOS-oppsettet, fortsett til neste trinn.
Noter ned porten(e) det streames til.
Installer GStreamer
- For Linux
- For Windows
I terminalen, kjør:Kjør deretter følgende for å installere GStreamer:
Identifiser variabler for GStreamer-kommandolinjen
For å koble sammen tilkoblede enheters videostrømmer, vil du først konfigurere dweOS.
Identifiser først IP-adressen til din bærbare/stasjonære PC, som vi skal legge inn i dweOS-programvaren.Dette kan gjøres ved å kjøre følgende:Du vil møte mange adresser, se gjennom dem, spesifikt adresser som følger teksten:
inet.
Du vil erstatte den innsamlede IP-en i dweOS under IP-adresse, og noter porten du streamer til. (Standard 5600)I dette eksemplet er den innsamlede IP-en 192.168.5.55, og porten er 5600

At Port-feltet er satt til 5601 er automatisk med programmet, det eneste endepunktet det streames til har kameraikonet ved siden av seg og en søppelbøtte-knapp for å slette dem.
Formatet til GStreamer er som følger:
Med porten i tankene, er det noen parametere for GStreamer-kommandoen du bør være klar over.Viktige flagg:
-v(Verbose): Skriver ut strøminformasjon slik at du kan se hvilken oppløsning/format som forhandles mellom elementene.-e(EOS - End of Stream): Avgjørende for opptak. Hvis du trykker Ctrl+C uten dette flagget, kan filen din bli ødelagt (manglende headere). Dette flagget tvinger en ren nedstenging.--help-all: Lister opp hvert eneste element som er tilgjengelig på systemet ditt.
-
videotestsrc: Genererer et testmønster (fargestolper, statisk, osv.). -
Param:
pattern=smpte(ellersnow,ball, osv.) -
autovideosrc/v4l2src: Webkameraet ditt (Linux). -
Param:
device=/dev/video0 -
filesrc: Leser en lokal fil. -
Param:
location=./video.mp4 -
udpsrc: Mottar data over nettverket via UDP.- Param:
port=5600(Porten å lytte på). - Param:
caps="..."(Essensielt! Forteller GStreamer hva de rå bytene faktisk er). - Param:
buffer-size=524288(Øker bufferen for å forhindre pakketap på høyoppløselige strømmer).- Standard bufferstørrelser for H264 er
96og MJPEG er26
- Standard bufferstørrelser for H264 er
- Param:
-
autovideosink: Åpner et vindu og spiller av videoen. -
fakesink: Forkaster data (nyttig for å teste om en pipeline kjører uten feil). -
filesink: Skriver til en fil. -
Param:
location=output.mp4 -
udpsink: Streamer over nettverket.
-
videoconvert: Konverterer fargerom (f.eks. fra YUV til RGB). Hvis du får en “could not link”-feil, kast denne inn i midten. -
videoscale: Endrer størrelsen på video. -
capsfilter: Tvinger et spesifikt format. Syntaks:video/x-raw,width=1920,height=1080. -
rtp[format]depay: Depayloader. Pakker ut RTP-nettverkspakker for å avsløre strømmen inni.- Eksempler:
rtpjpegdepay(for MJPEG),rtph264depay(for H.264).
- Eksempler:
-
[format]dec: Dekoder. Dekomprimerer video til rå piksler for visning.- Eksempler:
jpegdec,avdec_h264.
- Eksempler:
Her er et par eksempellinjer for å teste GStreamer:TestmønsterVisning av webkamera (hvis tilgjengelig)Webkamera tvunget 720p 30fpsTa opp webkamera
For høyere oppløsninger er videoutdataene vanligvis komprimert MJPEG.
image/jpeg aksepterer det komprimerte formatet fra kameraet.jpegdec legger til en dekoder for å gjøre JPEG-strømmen tilbake til rå video slik at vinduet kan vise den.Dette vil ta opp i bakgrunnen. For å avslutte klippet, trykk
Ctrl + C, og det vil ligge i gjeldende katalog.I dette tilfellet heter filen test.mp4, som vi kan sjekke eksistensen til med ls -lh test.mp4Sette opp streaming fra dweOS
Med en forståelse av GStreamer-kommandoer, kan vi begynne å sette opp videostrømmen spesifikt med dweOS.Avhengig av videokodeken (MJPEC / H264) spesifisert i dweOS, kjør en av følgende:MJPEGH264Du skal nå ha en direktestrøm fra kameraet ditt i et vindu!
Sette opp opptak
For å ta opp en strøm spiller videokodeken igjen en rolle!Du vet at en strøm blir tatt opp hvis terminalen din inneholder tekst som ligner på dette:
MJPEGFor MKVH264For MKVFor MP4

Linjen over er for MKV-format, da AVI er utrolig finurlig med GStreamer og krever at utdataene formateres svært spesifikt. Selv om det er mulig, er MJPEG til AVI mye enklere i Discovery, siden det er standardutdata.
Last ned Discovery
Den alt-i-ett-multimedialøsningen for undervannsvideostrømmer over nettverk.


