Hallo,
ich benutze den xupnpd2-Mediaserver (https://github.com/clark15b/xupnpd2), um ein paar HLS-Streams zum TV zu übertragen. Die Software müsste um HTTPS erweitert und die HLS-Verarbeitung angepasst werden (z. Bsp. für HLS-Streams von https://www.mall.tv/zive). Leider antwortet der Original-Autor nicht mehr und ich bin kein Entwickler.
Meine Idee ist, beim Auswählen des Streams am TV im Skript xupnpd.lua einen httpd und ein ffmpeg (ohne Re-Encoding) zu starten, dass die Streams aus dem Internet empfängt, als HLS-Streams lokal speichert und an xupnpd2 ausliefert.
Leider gibt es ein solches Skript nicht beim Beenden eines Streams (Beenden des https und ffmpeg). xupnpd2 hat eine Protokollfunktion eingebaut, mit der man herausfinden kann, wann der Stream als Childprocess gestartet und beendet wird. Mit der Weitergabe und Auswertung über einen Syslog kenne ich mich leider nicht aus. Das Logfile filtern ist sicher nicht möglich, da ich die Lösung auf einem Router mit wenig internem Speicher verwenden möchte (das Logfile darf nicht zu groß werden).
Zeilen beim Starten des Streams:
run child, pid=1234 using handler 'hls' for 'http://...'
Beim Beenden:
exit child, pid=1234
Gibt es die Möglichkeit, die Protokollmeldungen über ein Skript zu filtern, das beim Starten eines bestimmten Streams (filterbar über die URL) die Child-PID zwischenspeichert und beim Beenden des Streams nach der Child-PID filtert und anschließend httpd und ffmpeg beendet sowie die .ts-Segmente und die .m3u8-Playlist löscht?
Danke für Eure Unterstützung, Thomas