Plugin vdr <-> vdpau?

  • hallo,


    ausgehend von diesem Thread
    Faxen dicke
    habe ich auch mal wieder eine Frage.


    Soweit ich das Überblicke, wird die Ausgabe bei Karten wie der eHD und der FF über eigene Plugins gelöst, die die (Video/Audio/OSD) Daten vom VDR and die jeweiligen DSPs weitereichen und für die Bildausgabe sorgen.


    Einige Posts in dem Beitrag oben, deuten schon an das das grundsätzlich auch für den Nvidia Treiber VDPAU denkbar ist, dass der VDR die Daten ohne Umwege über Xine direkt weiterreichen kann.


    Sind die APIs dafür offen? Ist das so aufwendig, dass sich niemand findet oder so kompliziert, dass es von einem nicht zu schaffen ist?


    VDR1: ECS 945GCD-M, Atom 330, mod. Scenic 300 Geh., 16Gb CF, eHD, Tevii S470, 6.4" VGA TFT
    VDR2: Asus P5GC, C2D E4400 2GHz, mod. Scenic 300 Geh., 16Gb CF, eHD, TS SkyStarHD, PSOne TFT
    VDR3: Asus CUSL2, P3800, 128Mb Ram, TT3600, eHD
    SERVER: Tualatin 1133, 512Mb, 8 x ST 320Gb Gb RAID 5
    SERVER: Intel D945GSEJT, Chenbro ES30068

  • verstehe ich nicht ?
    xine und vdpau ist doch nahe an perfekt !
    was nicht so perfekt ist :
    vdr-osd + xine (vdpau)


    aber da sollten wir halt abwarten was da jetzt kommt von kls und "truecolorosd"
    evtl. wird das ganze aufeinmal "flüssig"
    und das problem wäre auch weg...

  • Zitat

    Originally posted by Mreimer
    Lieber nicht. Eher wäre wünschenswert, dass ich einmal interessierte zusammenfinden, die eine Lösung ohne Xine schaffen. Als Übergangslösung mag die Xine-Lösung ja ganz nett gewesen sein. Man konnte auf vorhandenes zurückgreifen. So langsam sollte man aber via Ausgabe-Plugin den VDR selber mal VDPAU-fähig machen.


    Ist es nicht so das VDPAU wegen closed Source und NDA bewust nur unter Xine läuft? Das also schon so grundlegend festgelegt ist.


    Es braucht einfach ne HD taugliche TV Karte die nen simplen Framebuffertreiber mitbringt. DAS wäre ne Marktlücke, im Gegensatz zu eingeschränkten HD FF.


    Zitat

    Originally posted by omg1010
    Wie gesagt, ich gönne Euch hier ja den Spass. Ist aber schon interessant zu sehen, mit welcher Verbissenheit hier auf mich eingedroschen wird. Nur weil ich es gewagt habe, aus Frust mal über den Tellerand zu schauen und vollkommen perplex war, auf etwas funktionierendes zu treffen, ohne das ich lange rumfrickeln musste ...


    Also mir passen deine Postings nicht weil du so eingebildet bist alle, die deine Lösung nicht am besten finden, als Idioten abzustempeln wiel sie NOCH nicht kapiert haben das sie auf dem falschen Weg sind (weil das sagst du im Printip).


    Du kapierst einfach nicht das andere Leute andere Anforderungen haben. Und das ist einfach dumm und verbohrt.


    DAS ist das Problem, das du mit Win besser dran bist, damit hat niemand ein Problem.


    cu

  • Zitat


    verstehe ich nicht ?


    Warum, so schwer war die Frage doch gar nicht gestellt.


    Zitat


    xine und vdpau ist doch nahe an perfekt !
    was nicht so perfekt ist :
    vdr-osd + xine (vdpau)


    Ja, nur war das gar nicht meine Frage, oder als Kritik an der jetzigen Methode gedacht sondern einfach nur grundlegend ob das auch MÖGLICH wäre.


    VDR1: ECS 945GCD-M, Atom 330, mod. Scenic 300 Geh., 16Gb CF, eHD, Tevii S470, 6.4" VGA TFT
    VDR2: Asus P5GC, C2D E4400 2GHz, mod. Scenic 300 Geh., 16Gb CF, eHD, TS SkyStarHD, PSOne TFT
    VDR3: Asus CUSL2, P3800, 128Mb Ram, TT3600, eHD
    SERVER: Tualatin 1133, 512Mb, 8 x ST 320Gb Gb RAID 5
    SERVER: Intel D945GSEJT, Chenbro ES30068

  • Zitat

    Original von Keine_Ahnung
    Ist es nicht so das VDPAU wegen closed Source und NDA bewust nur unter Xine läuft? Das also schon so grundlegend festgelegt ist.


    libvdpau ist Open Source. Zudem gibt es auch noch libva und von dort eine Wrapper-Lib auf vdpau.


    Nvidia hat VDPAU AFAIR zuerst für den MPlayer implementiert. Das wurde erst später auf Xine portiert und da man Xine schon wegen den alten Budget-Lösungen (Decoding auf CPU) im VDR-Bereich hatte, war hier dann relativ schnell eine erste Lösung geschaffen.


    So langsam wäre aber IMHO die Zeit gekommen, ein eigenes VDR-Plugin zu implementieren, das direkt auf libva/libvdpau losgeht, ohne dafür nochmal Xine bemühen zu müssen.


    Zitat


    Es braucht einfach ne HD taugliche TV Karte die nen simplen Framebuffertreiber mitbringt. DAS wäre ne Marktlücke, im gegensatz zu eingeschränkten HD FF.


    Das wäre IMHO relativ sinnfrei. Wenn du einen Framebuffer willst, dann suchst du eine Grafikkarte. Die HD-FF bringt dagegen einen Decoder-Chip mit, der die im HDTV üblichen Video-Formate direkt decodieren kann.

  • Ich denke auch nicht das es sinnvoll ist. libxine wird ja als framework benutzt um das Rad nicht neu zu erfinden. Ob es besser wird wenn jemand das Rad neu erfindet oder einfach nur die Fähigkeiten konsumieren einer Person konsumieren würde, der die bestehenden Lösungen in null komma nix stabilisieren könnte wage ich nicht einzuschätzen. Das wissen andere hier besser (durchflieger, rnissl etc)


    Generell geht es - Voraussetzung ist das der "Decoder" X benutzt, da das Voraussetzung für VAAPI und vdpau ist. Die Auftrennung und Verbindung über Socket der beiden xine plugins, ist aber schon sehr praktisch.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

    Einmal editiert, zuletzt von steffen_b ()

  • Zitat

    Originally posted by Mreimer
    Das wäre IMHO relativ sinnfrei. Wenn du einen Framebuffer willst, dann suchst du eine Grafikkarte. Die HD-FF bringt dagegen einen Decoder-Chip mit, der die im HDTV üblichen Video-Formate direkt decodieren kann.


    Hatte mich verschrieben, ich meine eine HD taugliche GRAFIK-Karte (keine TV Karte) mit nem Framebuffer Treiber.


    Mein VDR läuft momentan mit nem Framebuffertreiber (und dem Softdevice Plugin, das ggf. auch auf die MPEG2 Beschleunigung der Hardware fürs Decodieren zugreift) für die spezielle SCART-out Hardware. Und das ist IMHO auch das Idealsystem.
    Das selbe in HD wäre IMHO das einfachste und pflegeleichteste.
    Wenns geht (wie du ja sagst) dann verstehe ich nicht warum es das nicht gibt. Ist die Schnittstelle so überkomplex?


    cu

  • Zitat

    Original von Keine_Ahnung
    Hatte mich verschrieben, ich meine eine HD taugliche GRAFIK-Karte (keine TV Karte) mit nem Framebuffer Treiber.


    Framebuffer bedeutet automatisch, dass die ganze Decodierung auf der CPU laufen muss. Das dürfte dann in Etwa die Lösung sein, die am meisten Wärme und Stromverbrauch produziert.


    Zitat


    Mein VDR läuft momentan mit nem Framebuffertreiber (und dem Softdevice Plugin) für die spezielle SCART-out Hardware. Und das ist IMHO auch das Idealsystem. Das selbe in HD wäre IMHO das einfachste und pflegeleichteste.


    Wenn wir uns drauf einigen können, das dieses "Softdevice" für HD die Beschleunigungsmöglichkeiten der Grafikkarte mit nutzen soll, dann wären wir hier genau der gleichen Meinung. Eine "Art" Softdevice-Plugin, das die libva/libvdpau nutzt, wäre wünschenswert.


    Ich bin zwar in gewisser Weise auch ein Fan der kommenden HD-FF, aber ich erachte die Ausgabe über eine geeignete Grafikkarte nicht generell als schlechtes Konzept. Es ist nur im VDR-Bereich enorm komplex gelöst und sollte dringend vereinfacht werden.

  • Zitat

    Originally posted by Mreimer
    Wenn wir uns drauf einigen können, das dieses "Softdevice" für HD die Beschleunigungsmöglichkeiten der Grafikkarte mit nutzen soll, dann wären wir hier genau der gleichen Meinung. Eine "Art" Softdevice-Plugin, das die libva/libvdpau nutzt, wäre wünschenswert.


    Jup, so meine ich das.


    Das Softdevice auf meinem Digitainer nutzt ja ne kleine Lib die Zugriff auf die MPEG2 Decoder Hardeware des Digitainer ermöglicht.


    Das selbe jetzt für die Hardwarebeschleunigung der HD Karten und alles wäre gut.
    Und ich verstehe halt nicht warum das jetzt bei HD (VDPAU) so kompleziert ist. Ich dachte immer es liegt daran das es nicht möglich ist weil die schnittstellen dafür nicht zugänglich sind.


    cu

  • Zitat

    Original von steffen_b
    Ich denke auch nicht das es sinnvoll ist. libxine wird ja als framework benutzt um das Rad nicht neu zu erfinden.


    Die einzige "lib", die der VDR wirklich bräuchte, wäre libva oder libvdpau. Xine ist ein, für den Zweck, für den es die meisten beim VDR brauchen, überaus schwerfälliger Aufsatz auf diese beiden Libraries. Als Beispiel für den enormen Overhead könnte man z.B. anbringen, dass Xine selber fähig ist, DVB-TV zu empfangen.

  • Framebuffer geht definitiv nicht. Das frontend nicht starten/stoppen können geht garnicht. Die grossen Mengen an Komplexität ergibt sich ja eigentlich aus dem recht langen Development Status der Lösung nicht aus der Lösung selbst. Oder hab ich jetzt zu lange mit rumgemacht, das ich es nicht mehr als kompliziert empfinde ? Es sind maximal ein paar Details die die Bedienung und Einrichtung vereinfachen könnten.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Hab mal in "fremden" Gewässern gefischt und mir showtime, das frontend zu tvheadend angeschaut. Da läuft die Ausgabe erstaunlich gut mit vdpau aber ohne xine usw. Ich denke ein Plugin zur Ausgabe sollte machbar sein, aber am X-server kommt man wohl kaum vorbei.
    cu peje
    showtime

  • Nein, am X-Server kommt man (zumindest bei VDPAU) nicht vorbei. Eventuell wäre es bei libva zumindest theoretisch möglich, sofern die Grafikkarte mit KMS, bzw. DRM arbeitet (Intel).


    Allerdings ist "ohne X-Server" nichtmal unbedingt das Haupt-Thema. Ein X-Server kann auch vorteilhaft sein. Zum Beispiel um vom VDR aus einen Firefox anzuwerfen. Die Xine-Zwischeschicht zwischen VDR und VDPAU rauszukriegen wäre schon ein großer Schritt um das ganze Thema deutlich zu vereinfachen.

  • Eine wirklich interessante Diskussion, die sich hier gerade entwickelt.


    Eins verstehe ich nur nicht:


    Warum sollte man die xine Zwischenschicht zwischen VDR und VDPAU durch ein Plugin ersetzen? Dann ist man genauso weit wie voher, man hat eine Schnittstelle, die die Daten vom VDR weiter gibt, ob das nun xine oder ein neu entwickeltes Plugin ist, wo ist da genau der Unterschied?


    Im Moment ist die aktuelle Lösung gerade in den letzten Wochen dabei richtig stabil und extrem verbessert zu werden....

    VDR: yavdr-ansible/22.04 LTS auf Intel NUC (BOXNUC6CAYH), 2x Kingston KVR16LS11/4, One For All URC 2981

    VDR-Server: yavdr-ansible/22.04 LTS in ESXi VM

  • Ok, danke für den Hinweis, hatte ich wohl überlesen...


    Möglich ist natürlich vieles :)


    Grüße Urknall

    VDR: yavdr-ansible/22.04 LTS auf Intel NUC (BOXNUC6CAYH), 2x Kingston KVR16LS11/4, One For All URC 2981

    VDR-Server: yavdr-ansible/22.04 LTS in ESXi VM

  • Zitat

    Original von mav_
    Soweit ich das Überblicke, wird die Ausgabe bei Karten wie der eHD und der FF über eigene Plugins gelöst, die die (Video/Audio/OSD) Daten vom VDR and die jeweiligen DSPs weitereichen und für die Bildausgabe sorgen.


    Streng genommen unterscheidet sich dass doch kaum von der xine-lib+vdpau Lösung. Ich glaube nicht, dass die Plugins für eHD und FF direkt auf die Hardware zugreifen sondern mit der Firmware der Karten kommunizieren. Das wird nur einfach etwas mehr versteckt. IMHO kann man xine-lib+vdpau der Firmware gleichsetzen.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

    Einmal editiert, zuletzt von gda ()

  • Nunja.


    Grobes Schema:


    Full-Featured: VDR --> Plugin (dvbsddevice/dvbhddevice) --> Treiber --> Firmware --> Ausgabe
    NVIDIA-VDPAU: VDR --> Plugin (xineliboutput) --> xine (libxine) --> Unix-Socket/Netzwerk --> xine-Frontend (vdr-sxfe) --> X-Server --> Treiber --> Firmware --> Ausgabe



    Und ich bin mir nicht sicher, ob ich bei VDPAU nicht sogar was vergessen habe.


  • Ja und? Ein Kenner wird vermutlich auch in der Lage sein die Firmware in mehrere funktionale Blöcke zerlegen zu können. Das du sie nicht sehen kannst heißt nicht, dass sie nicht da sind.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

Jetzt mitmachen!

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