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.
1
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.
2
GStreamer installieren
- Für Linux
- Für Windows
Führen Sie im Terminal aus:Führen Sie dann Folgendes aus, um GStreamer zu installieren:
3
Variablen für die GStreamer-Kommandozeile ermitteln
Um die Videostreams verbundener Geräte zu verknüpfen, konfigurieren Sie zunächst dweOS.
1
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.
2
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.
3
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:
4
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.4
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!
5
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.
6
Erfolgreich!
Wunderbar! Sie sollten nun die Bausteine haben, um einen Stream und eine Aufnahme mit GStreamer einzurichten!
Discovery herunterladen
Die All-in-One-Multimedia-Lösung für Unterwasser-Netzwerk-Videostreams.


