UPnP/DLNA erkennt Server scheinbar nur zufällig, vermutlich ein TImeout Problem

  • Hallo,


    seit kurzem verwende ich in meinem Netzwerk eine Fritzbox 7490 als UPnP Mediaserver, das klappt auch völlig anstandslos mit allen Geräten (3 verschiedene TVs) und selbst mit dem VLC Player for Android (3.0.11).


    Auf meinem PC jedoch habe ich damit Probleme (VLC Version 3.0.3), ich nutze ein Arch Linux (Antergos, 64bit, neustes Patchlevel), habe das Problem aber ebenso in der Windows 10 VM mit der gleichen VLC Version.


    Wie bereits im Titel angedeutet, das Problem äußert sich dadurch, dass der VLC Player den Server (meistens) nicht findet. Manchmal klappt es eben doch und dann funktioniert auch alles perfekt.

    Mit vlc -vv bekomme ich beim Klick auf UPnP folgende Zeilen, was mich wie ebenfalls im Titel angedeutet veranlasst zu glauben, dass der VLC einfach nicht lang genug sucht um die Box zu finden (die Zeilen mit dem timeout erscheinen ca. 2-3 Sekunden nach der Zeile mit dem verwendeten Modul).

    Die Vermutung wird dadurch bekräftigt, dass es scheinbar weniger zuverlässig klappt den Server zu finden, wenn die Fritzbox unter Last steht (zB beim FTP upload). Zugegeben das sind nur "gefühlte" Parameter aber es scheint vollkommen zufällig zu sein ob er die Box findet oder nicht, daher ist es schwer wirklich verlässliche Aussagen zu liefern.

    Code
    1. [00007f88fc3732f0] main services discovery debug: looking for services_discovery module matching "upnp": 14 candidates
    2. [00007f88fc3732f0] main services discovery debug: using services_discovery module "upnp"
    3. [00007f88fc3732f0] upnp services discovery warning: search timeout
    4. [00007f88fc3732f0] upnp services discovery warning: search timeout


    Meine Frage(n) wären jetzt:

    Kann ich irgendwo diesen Timeout beeinflussen (als Schalter oder in den Einstellungen hab ich nichts gefunden, bei UPnP kann ich nur eine SAT Senderliste einstellen)?

    Bin ich vielleicht auf dem Holzweg? Sprich hat jemand eine andere Idee woran es liegen könnte oder wie man es beheben könnte?


    PS: Ich habe mich schon nach alternativen Playern umgesehen aber nichts gefunden was mir zusagen würde, ich würde schon gern beim VLC bleiben, der verbindet halt perfekt die große Masse an Funktionalität mit einem schlanken und intuitiven Auftreten, was ich bei keinem anderen Player so gefunden hab.

  • Hallo Heiko,


    pauschal kann ich dir keine Antwort geben um eine Lösung zu finden.


    Die VLC-Entwickler haben in der Version 3.0.0 das UPnP-Modul überarbeitet.

    Diese Information findet man im Changelog.

    Link: https://www.videolan.org/developers/vlc-branch/NEWS


    Meiner Erfahrung nach ist die UPnP-Funktion in den Versionen 3.0.x zuverlässiger.


    Man könnte natürlich auch einen Blick in die Netzwerkfunktionen (Multicast) von Arch-Linux werfen und prüfen, dass hier keine Fehler vorliegen.

    Link: https://wiki.archlinux.de/title/Netzwerkprobleme


    Bezüglich UPnP bietet der VLC-Player keine gesonderten Einstellmöglichkeiten.

    Die von dir festgehaltene UPnP-Funktion wird nur für Wiedergabelisten von Bedeutung sein.

    Menü / Werkzeuge / Einstellungen - Alle / Wiedergabeliste / Diensterkennung / UPnP ...


    Eventuell lassen sich in den erweiterten Einstellungen unter "Eingang - Codecs" Änderungen an den Netzwerkeinstellungen vornehmen.

    Ein umfassenderes Fehlerprotokoll könnte weitere Hinweise liefern.


    Möglicherweise gibt es auch in der VLC-Version 3.0.3 noch Probleme mit der UPnP-Funktion.


    Soweit meine ersten Anmerkungen.


    MfG

    Thomas

  • Hi,


    erstmal danke für die Antwort.

    Im genannten Menü (Menü / Werkzeuge / Einstellungen - Alle / Wiedergabeliste / Diensterkennung / UPnP ...) hatte ich schon nachgesehen, das war der Punkt wo ich nur irgendwelche SAT Senderlisten einstellen kann. Im von dir genannten Menüpunkt "Eingang Codecs" hab ich nun auch nochmal gesucht (und auch mit einigen Einstellungen experimentiert) aber auch da bin ich nicht recht fündig geworden.


    Letztlich aber egal, denn ich habe zwischenzeitlich mal einen minidlna Server aufgesetzt und habe mit diesem ein ähnliches Verhalten beobachtet. Nun habe ich da in den Settings etwas gesehen von notify_interval=900 (also 15min). Tatsächlich gilt sowohl für den minidlna als auch die Fritzbox, dass der Server durchaus gefunden wird, das kann halt nur bis zu 15min dauern. Ich habe also am minidlna das Interval auf 30 Sekunden gestellt und siehe da der Server wird zeitnah (innerhalb dieser 30 Sekunden) gefunden. Leider habe ich an der Fritzbox keine solche Einstellmöglichkeit, aber da ich dort am Medienserver zwischenzeitlich eh einige (gravierende) Sicherheitslücken gefunden habe, werde ich einfach beim minidlna bleiben.


    Was ich mir nach wie vor nicht erklären kann ist wie die Fernseher es fertig bringen den Server quasi instant zu finden, während beim VLC das Advertising-Intervall den Ausschlag gibt, aber vielleicht stecke ich da einfach zu wenig drin wie UPnP funktioniert. Egal mit der Lösung kann ich leben, zumal ich beim minidlna noch einige andere "Probleme" beheben kann, die ich an der Fritzbox mangels Einstellmöglichkeiten hinnehmen müsste.


    Eine Frage interessehalber noch: "Ein umfassenderes Fehlerprotokoll könnte weitere Hinweise liefern." Wie kann ich so ein umfassendes Fehlerprotokoll erzeugen? Die -vv Optionen haben nicht mehr zu Tage gefördert als oben genannte Ausgabe.


    EDIT:

    Ok, das hier ist ein hausgemachtes Problem und letztlich ein Firewall Issue, wenn ich diese abschalte (am Client) tut alles wie es soll. Jetzt muss ich nur noch rausbekommen was ich hier freischalten muss, Port 1900 UDP (der vom VLC geöffnet wird) scheint (alleine) nicht zu reichen.


    EDIT2:
    Also für alle die ggf. zukünftig auf ein ähnliches Problem stoßen: Freigegeben werden muss ein Highport, der scheinbar auch noch variabel ist, es bleibt also nur die komplette Portrange für UDP Traffic zu öffnen, was man dann idealerweise auf die Quell-IP des Servers einschränkt.

  • Hallo Heiko,


    zum ausführlicheren Fehlerprotokoll des VLC-Players ergänze im Script das -vv mit einem dritten v, also -vvv.

    Damit sollte das ausführlichere Fehler-Protokoll im VLC-Player erstellt werden.


    Vergleichbar mit dem Menü / Werkzeuge / Meldungen und die Ausführlichkeit auf die Stufe 2 (FDehlerdiagnose) einstellen.


    Bezüglich Portfreigaben verlinke ich zwei Informationsquellen zu UPnP.

    - https://www.heise.de/ct/artike…n-und-steuern-221520.html

    - http://www.nt.uni-saarland.de/…helor-thesis-final_01.pdf


    Die unterschiedlichen UPnP-Geräte werden über die Multicastadresse 239.255.255.250:1900 im lokalen Netzwerk gesucht.

    Per "Simple Service Discovery Protokoll" (SSDP) melden sich die jeweiligen UPnP-Geräte im lokalen Netzwerk und teilen mit, ob es sich um einen Server oder Client handelt.

    Möglicherweise kann man in der Firewall das "SSDP" individuell freigeben.

    - https://de.wikipedia.org/wiki/…ervice_Discovery_Protocol


    Warum der Fernseher die UPnP-Geräte schneller findet kann ich auch nicht beantworten.


    Hinweise zu "MiniDLNA"-Server bzw. "Readymedia" unter ArchLinux habe ich im folgenden Link gefunden.

    - https://wiki.archlinux.org/index.php/ReadyMedia


    Bei tiefergehenden technischen Fragen lohnt oft ein Blick in Stackoverflow.

    -https://stackoverflow.com/ques…abase-not-being-refreshed


    Hoffe, die ein oder andere Information hilft ein Stück weiter.


    MfG

    Thomas

  • Danke nochmal, ist schon einiges interessantes und hilfreiches dabei.

    Mit 239.255.255.250 hatte ich auch experimentiert aber den Erfolg hat tatsächlich nur gebracht den (random) Highport zu öffnen den der VLC aufmacht, was auch Sinn ergibt nachdem ich mich ein wenig in UPnP eingelesen habe.

    Letztlich aber nicht so wild, wie gesagt mit der jetzigen Lösung kann ich gut leben. :)

    Trotzdem nochmal ein "Feature Request", sorry wenn das jetzt ein wenig Themenfremd ist.

    Es wäre cool wenn man die description.xml auch manuell eingeben könnte (zB: http://192.168.178.53:8200/rootDesc.xml).

    Auch wenn es unter Anderem auch eine Lösung/Alternative zur Firewallfreigabe darstellen würde, frage ich das primär an, weil es hilfreich wäre wenn man den Medienserver über VPN nutzen möchte, wo ja Multicast Nachrichten nicht hinkommen.