Version 17, 2023-05-30, hb9pae
Mit dem VLC-Player koennen folgende Video-Streams abgerufen werden
Dieses Programmpaket steuert ein digitales Amteurfunk-TV Relais (DATV) mit einen DATV Umsetzer.
Funkamateure senden ihre ATV-Signale ueber Internet zum Umsetzer, dieser empfaengt die Signale und sendet Bild- und Tondaten auf einer Amateurfunkfrequenz wieder aus. Gleichzeitig verteilt der RTPM-Server die empfangenen Streamdaten ueber seine Internetadressen wieder an weitere Empfaenger. Das vorliegende Programm laeuft auf einem Raspberry PI Model 4.
Der RTMP-Server wartet auf einen RTMP-Datenstream (Video und Audio). Wird eine gueltiger Datenstream resp. Streamschluesssel erkannt, wird die PTT aktiviert und der Datenstream (Video & Audio) auf dem HDMI-Anschluss ausgegeben. Parallel wird der Datenstream zum Download ueber die eigene Ethernet-Schnittstelle ausgegeben. Das Audio-Signal wird zusaetzlich noch auf der Soundkarte ausgegeben. Im Idle-Mode (kein RTMP-Datenstream) werden auf der HDMI-Schnittstelle Testbilder ausgegeben.
Zur Steuerung dient eine Python Programm, das je nach Status die einzelnen Subprozesse startet oder stopt.
RTMP-Server Als RTMP-Server dient der NGINX-Webserver mit dem Zusatzmodul "nginx-rtmp-module" Erkennt der RTMP-Server gueltige Stream-Daten schreibt er den Streamschluessel unter /run/shm/nginx. Der RTMP-Server stellt die Streamdaten unter rtmp://localhost/live/STREAMSCHLUESSEL zur Verfuegung.
IDLE-MODE Bedingung: Streamschluessel (/run/shm/nginx) nicht vorhanden. Ausgabe der Testbiler aus dem Verzeichnis "Testbilder" an die HDMI-Schnittstelle Intervall 30 Sekunden. Format: JPG ode PNG. Filename beliebig, Suffix ".JPG" Process: playTestPict, fbi - Linux framebuffer imageviewer
RTMP-Mode Bedingung: Streamschluessel (String, normalerweise Rufzeichen des Funkamteurs) Wird ein Streamschluessel erkannt, beendet die Logik den IDLE-Mode und wechselt in den RTMP-Mode. Die vom RTMP-Server empfangenen Stream-Daten werden in einen FIFO-Buffer geschrieben. Process: rtmpdump - toolkit for RTMP streams Der Process OMX-Player liest die Daten aus dem FIFO-Buffer aus und sendet diese Stream- Daten an die HDMI Schnittstelle.
RTMP-Test MODE Bedingung: Streamschluessel numerisch 1, 2, 3 oder 4 Test Mode:
Star- / Stop der Betriebsmodes oder Fehlermeldungen werden in das Logfile geschrieben.
LOG: /var/www/stream.log oder http://
Der Streamstatus ist unter http://IP-ADRESSE/stats.xls verfuegbar.
Das Programm laeuft im Hintergrund und wird durch den Systemdienst systemd aufgerufen: sudo systemctl enable controlstream Autostart erlauben Mit einem Reboot wird das Programm automatisch gestartet.
Zum Publizieren des DATV-Datenstreams kann OBS (Open Broadcast Studio) verwendet werden. Konfiguration OBS: Neben der Serveradresse (rtmp://10.10.10.1/live) muss auch das eigene Rufzeichen als Streamschluessel eingetragen werden.
Mit dem VLC Player kann der aktuelle Datenstream empfangen und angezeigt werden.
Folgende Test Modes stehen zur Verfuegung. Die Selektion der Test erfolgt mit dem OBS Streamschlussel: