UPnP-Plugin


  • Ja denk ich auch. Vielleicht liessen sich webcamd/cuse4bsd von FreeBSD portieren (damit laufen viele Linux usb v4l/dvb Treiber auf FreeBSD im Userland), ich kenn OSX aber nicht wirklich um dazu mehr sagen zu koennen.


    Oh und manche Teile von vdr scheinen ja auch schon portiert zu sein, zumindest sah ich in einigen Sourcen Sachen wie #ifdef __APPLE__...


    Zitat

    On Topic:


    Ich hab nen Bravia TV und würde gerne rumtesten warum das mit dem Plugin nicht tut, gibt's da irgendwo einen Anlaufpunkt für, oder hier mit Methodus zusammen ?


    Wenn du ganz viel Glueck hast reichen ja vielleicht schon meine Patches, ohne die tat xbmc hier ja auch keinen Mucks... Ansonsten hilft wohl nur Logs angucken (dazu evtl dem Plugin -vvvvv mitgeben - nicht vdr wie ich zuerst schrieb, und mindestens libupnp laesst sich auch noch als Debug Version bauen, die schreibt dann 2 Dateien IUpnpInfoFile.txt und IUpnpErrFile.txt in vdr's cwd.)
    Und evtl muss man dann auchnoch zusaetzlichen Debug output in den code patchen um zu sehen was schieflaeuft, musste ich zumindest. :)


    Und Methodus hat bestimmt noch mehr Tipps...


    Edit: Hab jetzt nochmal nach den nicht richtig abspielenden Aufnahmen geguckt und festgestellt mindestens seeking war broken, ein erster Patch ist hier: http://people.freebsd.org/~nox…/patch-recplayer-seek.txt. xbmc zeigt jetzt zwar immernoch einige seltsame Effekte bei einzelnen wenigen Aufnamhmen (zb meint er eine 45min Aufnahme waere ueber 10h lang), manches davon passiert aber auch wenn man ihm die ts files direkt aus dem filesystem gibt (also ohne dass das plugin beteiligt ist), sodass es auch sein kann dass diese restlichen Sachen dann doch mehr an xbmc's Umgang mit (streamed) ts files liegen als am Plugin.

  • Hallo zusammen!


    Möchte mich hier auch mal zu Wort melden... Die Idee eines solchen Plugins ist super, dann kann man den TV die Wiedergabe (und das Deinterlacing, etc.) regeln lassen und ist nicht auf Kompromisse angewiesen.


    Ich denke ja nicht, dass das Anfertigen von Aufnahmen über DLNA möglich ist (evtl. durch Tricks, wenn man MediaItems für künftige Sendungen zugreifbar macht und bei Anwahl einen Timer dafür anlegt), aber primär interessant ist m.E. die Wiedergabe von VDR-Aufnahmen über DLNA.


    Mit der yavdr-Repository-Version läuft bei mir das upnp-Plugin (mit manueller Konfiguration des Netzwerkes) zumindest soweit, dass ich über den XBMC die Aufnahmen vom VDR angezeigt bekomme.


    Was nicht geht ist:
    a) Spulen in den Aufnahmen funktioniert nicht, dann crasht die Wiedergabe
    b) Die Aufnahmen werden nicht vollständig wiedergegeben (Länge wird als zu kurz reported)


    Liest der Plugin-Entwickler hier mit, oder müsste man diese Bugreports woanders nennen?


    Gruß,
    Bienchen :)

  • ich lese mit. ;)


    Das mit der Länge ist mir neu.... kannst du mir dazu mehr sagen? Was für Aufnahmen, Sender, HD?, etc.


    Danke.


    Medion Digitainer; AsRock B75 Pro3-M, Celeron G540; Kingston Value 4GB
    Samsung SpinPoint 250GB 2,5"; Samsung WriteMaster DVD-Brenner;
    TT-S2-6400, 2x TT-S2-1600, Ubuntu 12.04 mit YaVDR-Paketen. VDR 1.7.27, UPnP/DLNA-Plugin

  • Gut, dann ist das who-is-who schonmal geklärt *g*


    Ich hatte das gestern bei einer Test-Aufnahme auf RTL (SD) bemerkt, konnte es heute problemlos reproduzieren. Habe über das Live-Webfrontend eine Aufnahme gestartet und den Timer nach 4 Minuten wieder gelöscht. Danach über XBMC die Aufnahme wiedergegeben (TV hatte ich nicht probiert, ist das wichtig?). Da hat er dann nur 53 Sekunden wiedergegeben.


    Was mir dabei noch auffiel: alte, gelöschte Aufnahmen wurden noch angezeigt, obwohl ich den Rechner schonmal neu gestartet hatte (und demnach die Aufnahmenlisten neu eingelesen sein müsste).


    Ich vermute mal, dass es nicht relevant ist, dass das System ein streamdev-only Client ist.


    Kann ich sonst wichtige Infos liefern?


    Gruß,
    Bienchen :)

  • Zitat

    Originally posted by methodus
    ich lese mit. ;)


    Das mit der Länge ist mir neu.... kannst du mir dazu mehr sagen? Was für Aufnahmen, Sender, HD?, etc.


    Danke.


    Das mit der Laenge duerfte das seek-Problem sein fuer das ich weiter oben nen patch geposted (ok, gelinked) hab. (passiert besonders bei Aufnahmen > 1 (2?) GB, bzw solchen die vdr in mehrere files gesplitted hat.)


    Überhaupt kannst du von meinen Patches http://people.freebsd.org/~nox/dvb/vdr-plugin-upnp-patches/ ausser patch-Makefile.txt, patch-fromgit.txt (der ist ja schon im git) und vielleicht patch-livetv-channelname.txt sicher alle gebrauchen, nur patch-freebsd.txt wird bei dir nix tun, darf aber trozdem gern rein. :) Naja und patch-libupnp1.6.9.txt ist natuerlich auch nur sinnvoll wenn du auch die libupnp updatest.


    Und danke fuer das Plugin!

  • Zitat

    Original von nox
    Das mit der Laenge duerfte das seek-Problem sein fuer das ich weiter oben nen patch geposted (ok, gelinked) hab. (passiert besonders bei Aufnahmen > 1 (2?) GB, bzw solchen die vdr in mehrere files gesplitted hat.)


    Überhaupt kannst du von meinen Patches http://people.freebsd.org/~nox/dvb/vdr-plugin-upnp-patches/ ausser patch-Makefile.txt, patch-fromgit.txt (der ist ja schon im git) und vielleicht patch-livetv-channelname.txt sicher alle gebrauchen, nur patch-freebsd.txt wird bei dir nix tun, darf aber trozdem gern rein. :) Naja und patch-libupnp1.6.9.txt ist natuerlich auch nur sinnvoll wenn du auch die libupnp updatest.


    Dank Deiner Patches kann ich jetzt mit einem Philips Fernseher auf den vdr zugreifen - das einzige Manko ist noch, dass Spulen bzw. Pausieren noch nicht funktioniert. Ich habe alle Patches außer dem fürs Makefile bzw. BSD installiert...


    Danke für die tollen Patche!
    Nico

  • Zitat

    Originally posted by NicoWallmeier
    Dank Deiner Patches kann ich jetzt mit einem Philips Fernseher auf den vdr zugreifen - das einzige Manko ist noch, dass Spulen bzw. Pausieren noch nicht funktioniert. Ich habe alle Patches außer dem fürs Makefile bzw. BSD installiert...


    Danke für die tollen Patche!
    Nico


    Bitte bitte, freut mich dass es dir hilft! :)


    Funktioniert Spulen/Pausieren auf dem Philips garnicht oder nur bei manchen Aufnahmen nicht richtig? Hast du die libupnp patches von der Plugin-Homepage benutzt, vielleicht braucht der Philips die ja? (Die hab ich selber nicht getestet weil die fuer libupnp 1.6.6 sind und ich wollte bei 1.6.9. bleiben weil die Version in FreeBSD ports ist...) Und tut Spulen/Pausieren bei dir ueberhaupt mit irgendeinem anderen upnp server? (mediatomb und was es da sonst noch so gibt...)

  • Zitat

    Original von nox
    Funktioniert Spulen/Pausieren auf dem Philips garnicht oder nur bei manchen Aufnahmen nicht richtig?


    Ich muss gestehen, ich hatte es nur mit einer Aufnahme probiert - werde ich noch genauer testen...


    Zitat

    Original von nox
    Hast du die libupnp patches von der Plugin-Homepage benutzt, vielleicht braucht der Philips die ja?


    Die sind installiert.


    Zitat

    Original von nox
    Und tut Spulen/Pausieren bei dir ueberhaupt mit irgendeinem anderen upnp server? (mediatomb und was es da sonst noch so gibt...)


    Ok - werde ich auch noch testen...


    Danke schon mal!
    Nico


  • Ich fragte eigentlich nur weil wenn es mit _allen_ Aufnahmen nicht tut ist es wahrscheinlich ein anderes Problem als was ich bei xbmc seh. (Besonders bei bestimmten langen Aufnahmen springt er nachdem ich an manchen Positionen von Spulen auf Play zurueckschalte oder bricht dann das Abspielen ganz ab - vielleicht wrapped oder springt da ein Timestamp im ts und verwirrt deshalb xbmc? Und wiegesagt bei einer Aufnahme zeigt xbmc auch eine viel zu grosse Laenge an, aber die spielt er ansonsten richtig und dasselbe passiert auch wenn ich ihm die ts Datei direkt aus dem Filesystem gebe, also nicht gestreamed ueber das Plugin.)


    Und noch was anderes, fuer methodus, ich hab die Beschreibungen der einzelnen Patches nochmal etwas verbessert und mit nach http://people.freebsd.org/~nox/dvb/vdr-plugin-upnp-patches/ gelegt.

  • nox: Danke für die Patches, ich würde sie auch mal ausprobieren wollen. Ich gehe mal davon aus, dass die noch in kein apt-repository übernommen wurden, und ich das Plugin von Hand bauen muss? Kannst Du mir vielleicht fix sagen (wirst Du wahrscheinlich schon öfter gemacht haben), wie ich das mit yavdr auf die Kette kriege?


    Ich würde mal denken, ich muss mir irgendwoher den aktuellen SVN/CVS-Stand des Plugins besorgen, den debianisieren mit den yavdr-Sources, mit dem patch-Tool dann deine Patches drüberbügeln, make aufrufen und die lib-Files in den entsprechenden VDR-Pfad packen (und das wiederholen, wenn ich mal ein apt-upgrade gemacht habe, sofern die Patches dann noch nicht im repository sind).


    Wie Du siehst, habe ich nur eine grobe Vorstellung (die wahrscheinlich in Teilen noch falsch ist), was zu tun ist. Hatte früher für Debian mal was von Hand kompiliert, ist aber schon ewig her ;)


    Gruß,
    Bienchen :)

  • Zitat

    Originally posted by bienchen
    nox: Danke für die Patches, ich würde sie auch mal ausprobieren wollen. Ich gehe mal davon aus, dass die noch in kein apt-repository übernommen wurden, und ich das Plugin von Hand bauen muss? Kannst Du mir vielleicht fix sagen (wirst Du wahrscheinlich schon öfter gemacht haben), wie ich das mit yavdr auf die Kette kriege?


    Hab ich zwar nicht (mein "eigentlicher" vdr laeuft ja auf FreeBSD :) ), aber da ich zum Test auch mal nen yavdr vbox guest installiert hatte hab ich das da grad mal probiert.


    Disclaimer: in dem guest hier crashed das upnp plugin den vdr aus irgendeinem Grund direkt beim Start (den ich nicht weiter untersucht hab, ich glaub es war ein segfault in libc), kann also sein dass an dem folgenden noch was falsch ist:


    1. Als erstes das deb-src Repo fuer das Plugin hinzufuegen, bei mir is das in /etc/apt/sources.list.d/yavdr.list dieses Repo:

    Code
    deb http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu lucid main


    Also in /etc/apt/sources.list.d/yavdr.list die obige Zeile verdoppeln und aus deb deb-src machen:

    Code
    deb-src http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu lucid main


    2. Dann eine Shell aufmachen, ein leeres Verzeichnis anlegen und die Patches downloaden sodass sie in nem Unterverzeichnis vdr-plugin-upnp-patches landen:

    Code
    mkdir upnp-patched
    cd upnp-patched
    mkdir wget
    cd wget
    wget -r -l 1 http://people.freebsd.org/~nox/dvb/vdr-plugin-upnp-patches/
    mv -i people.freebsd.org/\~nox/dvb/vdr-plugin-upnp-patches ..
    cd ..


    3. dann in der selben Shell root werden: (Password ist das Userpassword wie auch sonst bei sudo)

    Code
    sudo su


    4. Jetzt kann man vdr stoppen, die Sourcen und zum Bauen benoetigte Pakete downloaden/installieren, die Patches applien, das neue deb bauen, installieren, den vdr wieder starten und die root Shell verlassen:


    Und dann bitte hier posten ob alles funktioniert...


    Edit: vdr manuell starten natuerlich nur wenn man per ssh auf den yavdr geht, sonst per gui.
    Und ich seh grad du hast yavdr 0.3a, falls das stimmt und der neuer als 0.20 ist kann das Repo ein anderes sein. Das Repo eines Pakets findet man mit

    Code
    apt-cache policy <paketname>
  • Geile Sache!


    werde dein Howto gleich Morgen Abend probieren, geb dann Rückmeldung.
    Habe das Plugin gerade erst entdeckt. Weil ich auf meinen neuen Server ClearOS mit einem DLNA Server aufsetzen will.
    Da bin ich dann mal wider über das VDR Portal gestolpert. Was für ein Glück.
    :portal1 :lovevdr
    Habe ein LCD von Phillips (32PFL9705K/02). Mal sehen ob das alles so klappt.


    Rückmeldung kommt.

    1. Asus AT3N7A-I (ION) mit yavdr 0.3a und 500Gb Festplatte
    2. Asus AT5ion-t (ION2) mit yavdr 0.3a 16gb SSD Systemplatte und 2TB für Aufnahmen
    3. Gigabyte GA-K8NXP-SLI yavdr 0.3a alter VDR wird als Server dienen (im Aufbau)

  • nox: Danke für die ausführliche Anleitung, funzte so prima (apt-cache policy meldet das gleiche Repo), habe lediglich die deb-src in sources-list.d/yavdr.list ergänzt. Das Paket konnte ich dann genau so austauschen!


    a) Spulen in den Aufnahmen per xmbc klappt nun.


    b) Die falsche Länge zeigt mir xbmc weiterhin an.


    c) Einen Eintrag für Live TV bekomme ich nicht mehr angezeigt (aber funktionierte vorher auch nicht, ich nehme an, weil mein VDR nur ein streamdev-only-Client ist!?).


    d) Weiterhin kann ich das Problem beobachten, dass gelöschte Aufnahmen weiterhin vom Plugin angezeigt werden, obwohl der VDR diese nicht mehr in seiner Aufnahmen-Liste hat.



    Auch, wenn jetzt noch Punkte offen sind, möchte ich trotztdem schon "Danke!" für die Patches sagen, steckt immer viel Arbeit in so etwas.


    Gruß,
    Bienchen :)

  • Zitat

    Original von bienchen
    nox: Danke für die ausführliche Anleitung, funzte so prima (apt-cache policy meldet das gleiche Repo), habe lediglich die deb-src in sources-list.d/yavdr.list ergänzt. Das Paket konnte ich dann genau so austauschen!


    a) Spulen in den Aufnahmen per xmbc klappt nun.


    Tut es hier auch, meisstens, bei einigen wenigen Aufnahmen teilweise aber nochnicht. (Vielleicht weil ein ts timestamp wrapped/springt?)


    Zitat

    b) Die falsche Länge zeigt mir xbmc weiterhin an.


    Bei _allen_ Aufnahmen oder nur bei manchen? (Hier nurnoch bei einer einzigen die xbmc als viel zu lang anzeigt, und das passiert bei der auch wenn man die xbmc direkt aus dem /video Verzeichnis gibt also nicht ueber das Plugin.)


    Zitat

    c) Einen Eintrag für Live TV bekomme ich nicht mehr angezeigt (aber funktionierte vorher auch nicht, ich nehme an, weil mein VDR nur ein streamdev-only-Client ist!?).


    Hab ich nicht getestet, kann aber gut sein.


    Zitat

    d) Weiterhin kann ich das Problem beobachten, dass gelöschte Aufnahmen weiterhin vom Plugin angezeigt werden, obwohl der VDR diese nicht mehr in seiner Aufnahmen-Liste hat.


    Dazu sollte der letzte git commit helfen den ich als patch-fromgit.txt extrahiert hab, bei meinem yavdr (vdr-plugin-upnp-0.0.2-alpha1+git20100224) war der aber schon drin. War dein plugin ne aeltere version? Wenn nicht ist da wohl noch ein anderer Bug, als Workaround hilft vielleicht bei gestopptem vdr(!) die metadata.db des Plugins zu loeschen damt die neu erzeugt wird.


    Zitat

    Auch, wenn jetzt noch Punkte offen sind, möchte ich trotztdem schon "Danke!" für die Patches sagen, steckt immer viel Arbeit in so etwas.


    Gruß,
    Bienchen :)


    Danke, kein Problem! :)

  • Habe mal mit einem Samsung-TV getestet, dort ist das Ergebnis relativ ernüchternd:


    c) Update: mein Fehler, habe das im xbmc so gemapped, der TV zeigt Live TV weiterhin an
    d) Update: ich habe letzte Woche ein dist-upgrade gemacht, d.h. die Version hätte schon recht aktuell sein sollen
    e) Spulen funktioniert nicht (wird einfach nicht unterstützt)
    f) Die Länge des Filmes wird noch kürzer als im xbmc angezeigt
    g) Das Seitenverhältnis des Bildes stimmt nicht (kann aber ein Samsung-Bug sein, da ich soetwas auch schonmal mit miniDLNA bei der Wiedergabe von .mpg-Dateien beobachtet habe)


    miniDLNA funktioniert mit dem Samsung ansonsten sehr gut, d.h. Spulen funktioniert dort (ebenso wird dort die korrekte Film-Länge angezeigt). In der Regel stimmt auch das Seitenverhältnis.


    Bitte versteht meinen Post nicht als Meckern, sondern lediglich als Bugreport. Ich freue mich sehr, dass ein UPNP-Server für den VDR gebaut wird :)


    Gruß,
    Bienchen :)


  • Ok dann fehlt dem Plugin scheints wirklich noch einiges, nicht nur streaming von h264 Aufnahmen...


    Zu f), werden die Aufnahmen wenigstens bis zum Ende abgespielt? (Das war naemlich bei xmbc auch erst ein Problem bevor ich den seek patch gemacht hatte, der spielte bei vielen Aufnahmen nur die ersten paar Sekunden...)

  • Nein, die Aufnahmen werden nicht bis zum Ende abgespielt, sondern hören unter xbmc nach der Zeit auf, die xbmc auch als Länge anzeigt. Beim TV wird eine noch kürzere Zeit angezeigt, aber die Wiedergabe stoppt (gefühlt, müsste ich nochmal prüfen) dort, wo xbmc auch stoppt.


    Gruß,
    Bienchen :)

  • Zitat

    Originally posted by bienchen
    Nein, die Aufnahmen werden nicht bis zum Ende abgespielt, sondern hören unter xbmc nach der Zeit auf, die xbmc auch als Länge anzeigt. Beim TV wird eine noch kürzere Zeit angezeigt, aber die Wiedergabe stoppt (gefühlt, müsste ich nochmal prüfen) dort, wo xbmc auch stoppt.


    Gruß,
    Bienchen :)


    Hmm und du bist _sicher_ dass der seek patch applied ist? Also dieser hier: patch-recplayer-seek.txt. Den hatte ich nochnicht dabei als ich hier das erste mal ueber meine Patches geposted hab, also falls du die Patches da schon downloaded hattest...


    Edit: Oder vielleicht hat es auch damit zu tun dass dein vdr 1.7 mit dem Plugin ein streamdev client von nem vdr 1.6 ist? (Ich weiss auch nicht ob die aktuelle Version des Plugins ansonsten ueberhaupt mit vdr 1.6 laeuft...)

  • Habe gerade nochmal auf das Vorkommen der Zeile

    Code
    +    for(index = 1; index <= this->mLastFileNumber; index++){


    in recplayer.cpp geprüft. Der Patch ist also applied.


    Ich habe den VDR 1.7 mit streamdev an einen 1.6er VDR angekoppelt. Aber die Aufnahmen funktionieren ja. Sollte der UPNP-Server nicht eigentlich losgelöst von streamdev arbeiten? Oder meinst du, die Daten der Aufnahme sind fehlerhaft?


    Gruß,
    Bienchen :)


  • Ich weiss nicht, ja vielleicht stimmt was mit der index Datei nicht oderso... Du kannst ja mal gucken ob bei dir wirklich seeks schiefgehen, also z.b. so:


    (evtl. muss man da noch nen #include <stdint.h> einfuegen am Anfang falls intmax_t bei dir nicht definiert ist.)


    Dann das vdr log nach seek greppen und evtl. dem Plugin -vv mitgeben damit die MESSAGE auch gelogged wird (oder halt aus MESSAGE(VERBOSE_SDK, auch WARNING( machen.)

Jetzt mitmachen!

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