GStreamer kann sehr komplex/aufwendig sein, selbst um einen einzelnen Videostream einzurichten. Viele Komfortfunktionen wie mehrere Streams und Live-Aufnahmen sind in Discovery viel einfacher und werden mit einer Benutzeroberfläche geliefert.
dweOS prüfen
Nachdem Sie die dweOS-Einrichtung durchgeführt haben, fahren Sie mit den nächsten Schritten fort.
Notieren Sie sich den bzw. die Ports, an die gestreamt wird.
GStreamer installieren
- Für Linux
- Für Windows
Führen Sie im Terminal aus:Führen Sie dann Folgendes aus, um GStreamer zu installieren:
Variablen für die GStreamer-Kommandozeile ermitteln
Um die Videostreams verbundener Geräte zu verknüpfen, konfigurieren Sie zunächst dweOS.
Ermitteln Sie zunächst die IP-Adresse Ihres Laptops/Desktops, die wir in die dweOS-Software eintragen werden.Dies können Sie tun, indem Sie Folgendes ausführen:Es werden Ihnen viele Adressen angezeigt. Suchen Sie darin gezielt nach Adressen nach dem Text:
inet.
Ersetzen Sie in dweOS unter „IP address” die ermittelte IP und notieren Sie sich den Port, an den gestreamt wird (Standard: 5600).In diesem Beispiel ist die ermittelte IP 192.168.5.55 und der Port ist 5600.

Das Feld „Port” wird automatisch vom Programm auf 5601 gesetzt; die einzigen Endpunkte, an die tatsächlich gestreamt wird, haben das Kamerasymbol daneben und eine Papierkorb-Schaltfläche zum Löschen.
Das Format von GStreamer sieht wie folgt aus:
Mit Blick auf den Port gibt es einige Parameter für den GStreamer-Befehl, die man kennen sollte.Wichtige Flags:
-v(Verbose): Gibt Stream-Informationen aus, damit Sie sehen, welche Auflösung/Format zwischen den Elementen ausgehandelt wird.-e(EOS – End of Stream): Entscheidend für Aufnahmen. Wenn Sie ohne dieses Flag Strg+C drücken, könnte Ihre Datei beschädigt sein (fehlende Header). Dieses Flag erzwingt ein sauberes Herunterfahren.--help-all: Listet jedes auf Ihrem System verfügbare Element auf.
-
videotestsrc: Erzeugt ein Testbild (Farbbalken, Rauschen usw.). -
Parameter:
pattern=smpte(odersnow,ballusw.) -
autovideosrc/v4l2src: Ihre Webcam (Linux). -
Parameter:
device=/dev/video0 -
filesrc: Liest eine lokale Datei. -
Parameter:
location=./video.mp4 -
udpsrc: Empfängt Daten über das Netzwerk via UDP.- Parameter:
port=5600(Der Port, auf dem gehorcht wird). - Parameter:
caps="..."(Unerlässlich! Teilt GStreamer mit, worum es sich bei den Rohbytes tatsächlich handelt). - Parameter:
buffer-size=524288(Erhöht den Puffer, um Paketverlust bei hochauflösenden Streams zu verhindern).- Standard-Puffergrößen sind für H264
96und für MJPEG26.
- Standard-Puffergrößen sind für H264
- Parameter:
-
autovideosink: Öffnet ein Fenster und spielt das Video ab. -
fakesink: Verwirft Daten (nützlich, um zu testen, ob eine Pipeline ohne Fehler läuft). -
filesink: Schreibt in eine Datei. -
Parameter:
location=output.mp4 -
udpsink: Streamt über das Netzwerk.
-
videoconvert: Konvertiert Farbräume (z. B. von YUV zu RGB). Wenn Sie einen „could not link”-Fehler erhalten, fügen Sie dies in die Mitte ein. -
videoscale: Skaliert das Video. -
capsfilter: Erzwingt ein bestimmtes Format. Syntax:video/x-raw,width=1920,height=1080. -
rtp[format]depay: Depayloader. Entpackt RTP-Netzwerkpakete, um den enthaltenen Stream freizulegen.- Beispiele:
rtpjpegdepay(für MJPEG),rtph264depay(für H.264).
- Beispiele:
-
[format]dec: Decoder. Dekomprimiert Video in Rohpixel zur Anzeige.- Beispiele:
jpegdec,avdec_h264.
- Beispiele:
Hier sind einige Beispielzeilen, um Ihr GStreamer zu testen:TestbildWebcam-Anzeige (falls verfügbar)Webcam auf 720p 30fps erzwingenWebcam aufnehmen
Bei höheren Auflösungen ist die Videoausgabe in der Regel komprimiertes MJPEG.
image/jpeg nimmt das komprimierte Format von der Kamera an.jpegdec fügt einen Decoder hinzu, um diesen JPEG-Stream wieder in Rohvideo umzuwandeln, sodass das Fenster ihn anzeigen kann.Dies zeichnet im Hintergrund auf. Um den Clip zu beenden, drücken Sie
Strg + C, und die Datei liegt danach im aktuellen Verzeichnis.In diesem Fall heißt die Datei test.mp4, deren Existenz Sie mit ls -lh test.mp4 überprüfen können.Streaming aus dweOS einrichten
Mit einem Verständnis der GStreamer-Befehle können wir mit der Einrichtung des Videostreams speziell für dweOS beginnen.Je nach dem in dweOS angegebenen Video-Codec (MJPEG / H264) führen Sie eines der folgenden Kommandos aus:MJPEGH264Sie sollten nun einen Live-Stream Ihrer Kamera in einem Fenster sehen!
Aufnahme einrichten
Um einen Stream aufzunehmen, ist erneut der Video-Codec entscheidend!Sie erkennen, dass ein Stream aufgenommen wird, wenn Ihr Terminal einen Text ähnlich diesem enthält:
MJPEGFür MKVH264Für MKVFür MP4

Die obige Zeile ist für ein MKV-Format, da AVI mit GStreamer äußerst heikel ist und die Ausgabedaten sehr spezifisch formatiert sein müssen. Zwar möglich, aber MJPEG zu AVI ist in Discovery viel einfacher, da es die Standardausgabe ist.
Discovery herunterladen
Die All-in-One-Multimedia-Lösung für Unterwasser-Netzwerk-Videostreams.


