VTP-Frage bzw. Streamdev Verbindungsaufbau Server <-> Client

  • Mal eine Verständnisfrage: soweit ich das sehe, erfolgt der Verbindungsaufbau beim Streamdev-Plugin in 3 Schritten

    1. Client ruft ServerIp auf Port 2004 und sagt was er will

    2. Server ruft von beliebigem Port die ClientIp auf ausgehandeltem Port

    3. Server streamt über TCP Verbindung von Schritt 2


    Frage: spricht etwas dagegen, dass Schritt 2 ebenfalls vom Client initiert wird? Auf Serverseite könnte man den Bereich der möglichen Ports einschränken. Im Prinzip analog zum FTP passive/active.


    Hintergrund: mein Streamdev Server sitzt in einem Netzwerksegment hinter einem Router und kann in andere Segmente keine Ports öffnen (war bisher nicht notwendig, da NFS, ... vom Client initiert werden). Nun müsste ich entweder den Router umkonfigurieren und die Verbindungen nach aussen zulassen oder (für mich besser :) ) der Client initiert die Verbindungen (eingehend wäre beim Router in das Segment des Servers kein Problem).


    Habe ich hier ein Spezialfall oder gibt es den Bedarf auch bei euch? Gibt es dafür vielleicht sogar schon eine Lösung per undokumentiertem Feature? Ansonsten müsste ich mir mal den Verbindungsaufbau von streamdev anschauen. Sollte überschaubarer Aufwand sein.


    M-Reimer : spricht da aus deiner Sicht etwas dagegen?


    MrJoe

  • Sorry, ich dachte du wärst einer der "aktiven Entwickler", da "M-Reimer" die letzten 2 Versionen im git released hat.


    Scheinbar habe nur ich das Problem, dass der VDR Server hinter einer Firewall in einem anderen Netz sitzt und deshalb nicht beliebig Verbindungen nach aussen öffnen kann. :( Ein erster quick&dirty hack (vertausche die Verbindungsaufbaurichtung: Server erhält einen listen-socket und Client verbindet sich auf den) hat leider nicht funktioniert (beim Server bekomme ich bereits beim Accept-Aufruf einen Fehler), da vermutlich noch Abhängigkeiten durch's Protokoll oder streamdev reinkommen. Schaue ich mir die Tage mal näher an.

  • Http sollte funktionieren, auf einzelne Sender kann man per iptv zugreifen.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Streamdev per HTTP z.B. unter Windows funktioniert auch aus anderen Subnetzen. Ich würde aber gerne auch 2 VDRs verbinden (ein Remote VDR greift auf den VDR Server zu). Das geht soweit ich das sehe nur mit dem VTP Protokoll, was derzeit aber leider eine ausgehende Verbindung vom Streamdev-Server auf einen "beliebigen" Port beim Client notwendig macht (scheint so im VTP Protokoll vorgesehen zu sein, warum auch immer). Stand heute kann der VDR Server aber nicht auf beliebige Ports zugreifen. Ich habe nun 2 Möglichkeiten:

    • Netztopologie ändern - hmm, never change a running system
    • Streamdev ändern - müsste technisch machbar sein, erster Versuch wie beschrieben ist gescheitert, da vermutlich im Verbindungsaufbau noch Abhängigkeiten bestehen, die ich auf die schnelle nicht beachtet hatte

    Letzteres wird vielleicht ein Weihnachtsprojekt... :)

  • Was ich gemacht habe sind nur Patches, die sowieso schon "jeder nutzt", direkt ins Repo übernommen. "Community Maintained" meint aus meiner Sicht erstmal nur "Bestehendes am Leben erhalten". Alles was mehr ist kann zwar gerne als Pull Request eingereicht werden. Dann ist es erstmal sauber abgelegt. Aber gemergt werden solche PRs in aller Regel nicht solange keiner sich bereiterklärt das Plugin ganz offiziell weiter entwickeln zu wollen. Mit allen Rechten und Pflichten.


    Im Prinzip müsstest du die Firewall auch so konfigurieren können, dass die zwei gegenseitig kommunizieren können. Das wäre wahrscheinlich die einfachste Lösung.

  • Hast Du mal VPN getestet?


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Oder Zugriff per ssh tunneln, das war immer mein Favorit.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Dass dein Router nicht in andere Segmente greifen kann, ist Absicht, oder?


    Ich habe Lan- und WLAN-Geräte auch in unterschiedlichen Subnetzen und einfach die Netzmaske entsprechend geändert, damit sie auf beide passt.

    MyVDR: yaVDR-Ansible (Ubuntu 20) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Mein Multimedia-Subnetz ist so eingerichtet, dass es nur eingehende Verbindungen akzeptiert. Natürlich kann ich meinen Router umkonfigurieren. Jedoch war dies bisher ausreichend und ausserdem hatte diese Konfiguration auch den "netten" Nebeneffekt, dass keiner der Gerätschaften ein unerwünschtes Firmware-Update macht, nach Hause telefoniert, ... (könnte man auch über mehr oder weniger komplexe Firewall-Regeln erreichen, ich habe mich für das verhindern jeglicher ausgehender Verbindungen entschieden). Never change a running system... :)


    Der einzige Anwendungsfall für einen Streamdev-Client ausserhalb des Multimedia-Subnetzes wäre für mich nur Kodi zur Nutzung von weiteren Streamingdiensten. Momentan hätte dieser Kodi-Client entweder keinen Zugriff auf den VDR-Server oder keinen Zugriff auf Streamingdienste (letzteres würde Kodi für mich überflüssig machen). Wie geschrieben sollte es technisch machbar sein, das VTP Protokoll so zu erweitern, dass bei Bedarf der Client die Verbindungen aufbaut.


    Eine andere Idee kam mir in den letzten Tagen: die vermutlich einfachste Lösung ohne Änderung von Streamdev und ohne Änderung meiner Netztopologie wäre, dass ich den Client um einen USB Netzwerkstick ergänze, falls auf dem Client Kodi laufen muss. So hätte er Zugriff auf das Multimedia-Netz + Zugriff aufs Internet.

  • Mein Multimedia-Subnetz ist so eingerichtet, dass es nur eingehende Verbindungen akzeptiert.

    Ahhhh ok, das ist dann was anderes.

    Interessant jedenfalls, da hatte ich noch nie drüber nachgedacht. :thumbup:

    MyVDR: yaVDR-Ansible (Ubuntu 20) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!