Files
vizionStreamer/scripts
2025-12-12 11:47:43 +01:00
..
2025-12-12 11:47:43 +01:00
2025-12-12 11:47:43 +01:00
2025-12-12 11:47:43 +01:00
2025-12-12 11:47:43 +01:00
2025-12-12 11:47:43 +01:00

VizionStreamer Control Scripts

Diese Scripts ermöglichen die schnelle Steuerung von VizionStreamer über die Unix Domain Socket API.

Voraussetzung

VizionStreamer muss laufen:

cd /home/maik/CLionProjects/vizionStreamer
./build/vizionStreamer

Schnellstart (Standard-Pipeline)

Die Standard-Pipeline videoconvert ! autovideosink ist bereits gesetzt. Einfach starten:

./scripts/start_stream.sh

Das Video wird lokal angezeigt. Zum Stoppen:

./scripts/stop_stream.sh

Pipeline ändern

Lokale Anzeige (Standard)

./scripts/set_pipeline_display.sh
./scripts/start_stream.sh

UDP-Streaming (H.264)

# Standard: 192.168.1.100:5000
./scripts/set_pipeline_udp.sh

# Eigene IP/Port
./scripts/set_pipeline_udp.sh 192.168.1.50 5001

# Dann starten
./scripts/start_stream.sh

Stream empfangen:

gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,encoding-name=H264 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink

Aufnahme in Datei

# Standard: /tmp/vizion_recording.mp4
./scripts/set_pipeline_file.sh

# Eigene Datei
./scripts/set_pipeline_file.sh /home/user/videos/recording.mp4

# Dann starten
./scripts/start_stream.sh

MJPEG HTTP-Stream

# Standard: Port 8080
./scripts/set_pipeline_mjpeg.sh

# Eigener Port
./scripts/set_pipeline_mjpeg.sh 8090

# Dann starten
./scripts/start_stream.sh

Stream ansehen:

# Im Browser
firefox http://localhost:8080

# Mit FFplay
ffplay http://localhost:8080

Status & Information

Status abfragen

./scripts/get_status.sh

Zeigt:

  • Streaming-Status (läuft/gestoppt)
  • Aktuelle Pipeline

Verfügbare Formate

./scripts/get_formats.sh

Zeigt alle verfügbaren Kamera-Auflösungen und Formate.

Typischer Workflow

# 1. VizionStreamer starten (Terminal 1)
./build/vizionStreamer

# 2. Status prüfen (Terminal 2)
./scripts/get_status.sh

# 3. Pipeline für UDP-Streaming setzen
./scripts/set_pipeline_udp.sh 192.168.1.100 5000

# 4. Streaming starten
./scripts/start_stream.sh

# 5. Stream empfangen (auf Zielrechner)
gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,encoding-name=H264 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink

# 6. Bei Bedarf stoppen
./scripts/stop_stream.sh

# 7. Pipeline ändern
./scripts/set_pipeline_display.sh

# 8. Erneut starten
./scripts/start_stream.sh

Wichtige Hinweise

  • Pipeline kann nur geändert werden, wenn Streaming gestoppt ist
  • Standard-Pipeline ist bereits gesetzt - kein set_pipeline vor dem ersten Start nötig
  • Mit start_stream.sh sofort loslegen!
  • Alle Scripts benötigen socat (installieren mit: sudo apt install socat)
  • Status-Scripts benötigen optional python3 für formatierte JSON-Ausgabe

Eigene Pipelines

Sie können jede beliebige GStreamer-Pipeline verwenden:

SOCKET="/tmp/vizion_control.sock"
echo '{"command":"set_pipeline","params":{"pipeline":"IHRE_PIPELINE"}}' | socat - UNIX-CONNECT:$SOCKET

Beispiele:

  • videoconvert ! xvimagesink - Einfache lokale Anzeige
  • videoconvert ! x264enc ! flvmux ! rtmpsink location=rtmp://server/live/stream - RTMP-Streaming
  • tee name=t ! queue ! videoconvert ! autovideosink t. ! queue ! x264enc ! filesink location=out.mp4 - Gleichzeitig anzeigen und aufnehmen