vdr-xine über wlan: live stockt, aufnahme nicht

  • Hi


    Ich habe hier ein komisches Problem:


    Ich verwende jetzt vdr-xine 0.7.9 mit network-Patch, damit ich über WLAN vom Notebook aus fernsehen kann... Allerdings stockt das Live-Bild selbst bei "schwachen" Sendern wie das Vierte, Aufnahmen aber laufen alle gut, selbst von ZDF. Es kann also nicht an der Übertragungsrate liegen. live über streamdev läuft auch perfekt, nur halt ohne OSD.


    Muss ich die Puffer für Live noch irgendwie anpassen?? Wenn ja: wie??


    Wäre schön wenn mir jemand helfen könnte.


    Mfg,
    balta

    VDR: AMD A4-3400, 4096 MB RAM, Technisat SkyStar HD2, Technisat Skystar USB HD
    openSUSE 13.1, VDR 2.0.4, vdr-xineliboutput

  • Zitat

    Original von d.a.one
    Hört sich für mich an als wär die Verbindung doch zu schlecht.


    Das wäre ziemlich unlogisch... denn wie oben beschrieben läuft


    a) streamdev ohne stocken


    b) Aufnahmen z.B. von ZDF mit 7 MBit/s ruckelfrei, und live von Das Vierte mit 3 MBit/s stockt...


    Also scheint die Verbindung zu reichen... (ist übrigens ne 54er mit guter Qualität)


    Mfg,
    balta

    VDR: AMD A4-3400, 4096 MB RAM, Technisat SkyStar HD2, Technisat Skystar USB HD
    openSUSE 13.1, VDR 2.0.4, vdr-xineliboutput

  • Zitat

    Original von d.a.one
    Wieso unlogisch?
    Ich stelle mir dabei dass so vor, das es beim Aufnehmen vom Server gepuffert wird, ganz zum Client geschickt wird...


    ...wohl kaum, oder willst du erst minutenlang warten, bis eine Aufnahme startet ?!


    Gruß
    Wicky

  • Hi,


    Zitat

    Original von balta
    a) streamdev ohne stocken
    b) Aufnahmen z.B. von ZDF mit 7 MBit/s ruckelfrei, und live von Das Vierte mit 3 MBit/s stockt...


    Also scheint die Verbindung zu reichen... (ist übrigens ne 54er mit guter Qualität)


    Wenn ich mich nur endlich Aufrappeln könnte, die 0.8.0 mit integriertem Network-Patch zu erstellen :(


    Das Problem ist höchstwahrscheinlich, dass die Pakete wegen des Nagle-Algorithmus von TCP nicht sofort auf die Leitung gehen, sondern erst noch auf mehr Daten gewartet wird. Das führt bei der Implementierung von cDevice::GetSTC(), die intern während der Pufferphase nach jedem Audio-/Video-Paket aufgerufen wird, zu gravierenden Verzögerungen.


    Auf http://www.unixguide.net/network/socketfaq/2.16.shtml steht beschrieben, wie man den Nagle-Algorithmus für einen Socket abschalten kann. Ich denke, das müsste auf beiden Seiten geschehen.


    Bye.

  • Zitat

    Original von rnissl
    Ich denke, das müsste auf beiden Seiten geschehen.


    Bye.


    Danke für den Tip! Heißt das denn ich muss das im xine-lib und im plugin ändern?? Bin faul und hab daher bisher die fertigen libxine-Pakete von Packman genutzt... die haben den vdr-Patch für mit und ohne netzwerk schon drin... ;)


    Mfg,
    balta

    VDR: AMD A4-3400, 4096 MB RAM, Technisat SkyStar HD2, Technisat Skystar USB HD
    openSUSE 13.1, VDR 2.0.4, vdr-xineliboutput

  • Hi,


    Zitat

    Original von balta


    Danke für den Tip! Heißt das denn ich muss das im xine-lib und im plugin ändern?? Bin faul und hab daher bisher die fertigen libxine-Pakete von Packman genutzt... die haben den vdr-Patch für mit und ohne netzwerk schon drin... ;)


    Das Flag wirkt sich jeweils auf die Verarbeitung der zu sendenden Daten aus. Und da vdr-xine an xine eine Anfrage schickt und xine darauf antwortet muss meines Erachtens auf beiden Seiten geändert werden.


    Bye.

  • Hi


    wollte das jetzt ausprobieren, aber entweder bin ich zu doof oder das geht so nicht...


    habe in Zeile 2120 der gepatchten xinelib.c dex Plugins folgende Zeile eingefügt:


    Code
    ::setsockopt(fd,IPPROTO_TCP,TCP_NODELAY,&onoff, sizeof(int) );


    und der Compiler meckert:


    Code
    xineLib.c:2120: error: ‘TCP_NODELAY’ was not declared in this scope


    Ist TCP_NODELAY noch in irgendeiner Header versteckt??


    Wie lange brauchste denn für die 0.8 noch?? Lohnt es sich hier noch zu experimentieren oder kann ich getrost auf die 0.8 warten??

    VDR: AMD A4-3400, 4096 MB RAM, Technisat SkyStar HD2, Technisat Skystar USB HD
    openSUSE 13.1, VDR 2.0.4, vdr-xineliboutput

  • Hi,


    Zitat

    Original von balta
    Ist TCP_NODELAY noch in irgendeiner Header versteckt??


    /usr/include/netinet/tcp.h


    Zitat

    Original von balta
    Wie lange brauchste denn für die 0.8 noch?? Lohnt es sich hier noch zu experimentieren oder kann ich getrost auf die 0.8 warten??


    Ich habe seit dem letzten Release kaum Zeit dafür gefunden. Es wird wohl noch bis zum Jahreswechsel dauern :(


    Bye.

Jetzt mitmachen!

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