Reines Ausgabeplugin für libva mit dem VDR?

  • Das wäre doch etwas für einen neuen Test VDR. Bin dabei.

  • Ich hätte auch bereits eine Idee:


    VDR + zwei Plugins:


    Vnsiserver für den Videostream da der schon sehr gut auf Performance optimiert ist und den Videstream soweit ich das gesehen habe auch schon so aufräumt dass ihn ein ffmpeg-basierender Player abspielen kann (zumindest gibt es im Source davon Demuxer-Klassen und XBMC kann den Videostream abspielen :) )


    zweites neues Plugin:
    Plugin dass auf eine TCP-Connection wartet (passive open) und der neue Client der dadurch dann die Informationen zum OSD erhält.



    der Client:


    verwendet die libplayer vom enna projekt (sofern diese Lib nicht das E17-Framework benötigt) und im Hintergrund verwenden wir damit einen auf vaapi gepatchten mplayer um die Streams vom vnsiserver-plugin abzuspielen
    die OSD-Informationen werden nicht in das Video eingebettet sondern nun via OpenGL+SDL (oder alternativ OpenGL+Allegro) darübergelegt
    -> hätten den Vorteil dass das Video nie wieder ruckelt wegen des OSD und man auch alternativ ein schöneres OSD auf OpenGL-Basis erstellen könnte


    so bin wieder afk lernen :) aber die Idee musste ich noch loswerden!


    mfg
    aelo

  • aelo, du vestehst das wohl falsch. Es ist ein Ziel des neuen Plugins, keine Client-Server Kombination zu haben. Darum wird ja auch nicht Xine erweitert, sondern ein eigenes Plugin gebaut.



    Kann mir mal jemand einen Link zu dem VA-API VDPAU Backend schicken/posten?

  • aelo


    Copperhead hat Recht, es geht darum den Zweiteiler verbunden über Fifo, Socket loszuwerden und die Wahl der nutzbaren Grafik-HW deutlich zu erweitern. Man könnte dann Intel, ATI, Nvidia und ich meine sogar S3 GPUs nutzen.


    @all


    Wenn man es mit etwas Bestehendem vergleichen möchte, könnte man sich "softdevice" anschauen, kein Fifo oder Socket, also integrierte Bildausgabe. Die Ausgabe erfolgt wahlweise über Xorg, leider ging die Entwicklung nie über Xv raus, oder Framebuffer, hierbei mit DFB oder Vidix als Grundlage.


    Und da hat wohl "tbshl-vdr" Recht, ohne einen solchen Unterbau wird es wahrscheinlich nicht gehen.


    Gruß
    Frank

    HowTo: APT pinning

  • d.h. ihr schlagt vor etwas zu implementieren dass die Ausgabe am besten gleich in einen Buffer der GPU schreibt?
    hätte das nicht zur Folge dass es dann nicht mehr als Desktop-Applikation verwendet werden kann? fände ich schade, gerade dann wenn noch keine Medien abgespielt werden wäre damit ein Wechsel zu z.B. XBMC dann doch ziemlich umständlich?


    was ist denn an einer Client/Server so schlimm? wenn sie "ordentlich" implementiert wird wie z.b. im VNSI Server dann sind auch die Umschaltzeiten spitze


    die FIFO-Lösung ist natürlich nicht so super, aber gegen ein TCP-Socket spricht doch außer der etwas komplexeren Streamverarbeitung nicht wirklich etwas? oder täusche ich mich und bedenke da etwas nicht? (lasse mich gerne korrigieren)


    mfg
    aelo


    edit: mplayer z.b. hätte den Vorteil dass wirklich jede Videobeschleunigungsmethode die man möchte ohne großen Aufwand verwendet werden könnte
    und OpenGL ermöglicht ein OSD dass immer gleich groß ist, nicht pixlig aussieht auch wenn dahinter ein PAL-Sender läuft usw...

  • Client-Server hat ein weiteres Fehlerpotenzial. Der VDR soll ja eigentlich gar keine Desktop-Anwendung sein. Siehe FF-Karten.


    Und mit einer FF-Karte kann man das hier glaube ich ganz gut vergleichen. Stabilität bis zum Abwinken. Keine verrückten Fehler, bei denen keiner den Fehler findet. Keine unnötigen Puffer etc.



    Wie wäre es wenn du es akzeptierst, das es so geplant ist, und alle außer dir dafür sind?! :unsch :unsch

  • Naja das wieso habe ich dir ja schon versucht zu erklären.


    Früher gab es die Full-Featured Karte die war stabil wie die sau, bzw ist es noch.


    Jetzt nutzt man hauptsächlich VDPAU, das mit einem Client/Server Konzept betrieben wird. Immer öfter treten Fehler auf, die sich keiner erklären kann und oft nur schwer gelöst werden.


    Das liegt meines Wissens nach an den vielen verschiedenen Stellen, an denen man VDPAU "kaputtspielen" kann.



    Das Plugin das in diesem Thread entstehen soll, soll wieder diese unglaubliche Stabilität einer alten full-Featured-Karte haben.



    wbreu: Gut erklärt oder übers Ziel hinausgeschossen?

  • Hi,


    jepp so wie Copperhead und oben FNU das formuliert haben, das wäre wirklich der Idealfall.


    Alle möglichen Fehlerquellen/Features (Netzwerk, usw.) die man für die lokale Wiedergabe nicht braucht, sollten aussen vor bleiben.


    Das softdevice-Plugin war auch so eine Geschichte, dass dies sehr schön konnte und äusserst stabil war.


    Wie gesagt, das Plugin sollte "nur" die Ausgabe mittels libva sicherstellen, anfangs eben ohne viel Schnick-Schnack = Fehlermöglichkeiten.


    Gruß
    Wolfgang

  • Quote

    Original von aelo
    d.h. ihr schlagt vor etwas zu implementieren dass die Ausgabe am besten gleich in einen Buffer der GPU schreibt?
    hätte das nicht zur Folge dass es dann nicht mehr als Desktop-Applikation verwendet werden kann? fände ich schade, gerade dann wenn noch keine Medien abgespielt werden wäre damit ein Wechsel zu z.B. XBMC dann doch ziemlich umständlich?


    Und nicht nur das...
    Für mich ist seit kurzem auch ein Web Browser fester Bestandteil meines HTPC's. In der Werbung mal schnell das TV Fenster minimieren und ein bisschen im Internet surfen finde ich schon sehr komfortabel.


    Trotzdem ein sehr guter Ansatz auch mal die ATI Hardware besser nutzten zu können! Hätte man die zusätzliche Grafikkarte nicht im System, könnte man mit viel dünneren/schöneren Gehäusen auskommen, z.B. Silverstone LC19...

    Server
    Software: Debian Lenny, VDR 1.6.0, vdradmin-am, streamdev-server, femon. epgsearch
    Hardware: Chenbro RM314, ABit AV8, AMD64 3200+, 512MB RAM, 4x Seagate 250GB@RAID5, 3ware 8500-4 SATA, Hauppauge dvb-s rev1.6+Nova-S


    Wohnzimmer VDR
    Software: Debian Lenny, VDR 1.6.0, dvd, remote, games, femon, streamdev-client
    Hardware: MSI Hermes 845GL, Hauppauge Nexus-S rev2.1, Nova-T FB, NEC DVD-Brenner

  • Zumindest im Bereich VDPAU wäre ohnehin der X-Server nötig. Es würde nichts dagegen sprechen ein Full-Screen-Fenster aufzuziehen und darin das Video abzuspielen. Den Browser könnte man dann ggf. immer noch aufrufen. Er würde dann über diesem großen VDR-Fenster landen und dieses überdecken.


    Was die Medien-Abspielerei angeht, wäre hier eher das richtige Ziel z.B. das MPlayer-Plugin auszubauen und zu erweitern. VDR hat selber ein OSD, ein Skin-System und ein Plugin-System. Es geht mir zuwieder, da parallel was laufen zu lassen. Lieber würde ich den Player aus dem VDR-OSD heraus bedienen.


    helau
    Keine Ahnung ob es da nicht doch Lösungen gibt. Kann z.B. VAAPI und OpenGL gemischt genutzt werden?

  • Quote

    Original von helau
    Wenn ich das richtig sehe hat vaapi aber wohl kein osd vorgesehen :(


    Nabend Helmut,


    soweit ich das mit dem OSD beurteilen kann, liegt das an der jeweiligen Anwendung.


    In diversen XBMC-Threads kann man sehr schön ein OSD erkennen.


    Ich denke eher, dass ist eine Beschränkung der jeweiligen Anwendung.


    Mal ein Schnipsel mit etlichen Hinweisen:


    http://markmail.org/message/xty5p45jsjhvrnul


    @Mreimer, jepp der X-Server wird benötigt. Die MPLayer-Plugin-Erweiterung um ein VDR-OSD zu nutzen wäre daher auch machbar. Auch eine Bedienung des MPlayer's via VDR ist möglich, Teile davon gehen schon mit vdpau.


    @all, wie sieht es denn jetzt mit konkreten "Ja, ich wäre dabei beim Programmieren aus" ?


    sparkie, durchflieger, sorry, aber ich werde mal direkter, könntet ihr euch vorstellen da mitzumachen?


    Der nächste Schritt wäre dann mal genaue Anforderungen zu definieren, die das Plugin im ersten Anlauf haben soll/kann.....


    Gruß
    Wolfgang

  • Quote

    Original von wbreu
    @all, wie sieht es denn jetzt mit konkreten "Ja, ich wäre dabei beim Programmieren aus" ?


    Bin grade dabei, das mal in xine-lib einzubauen.



    Mehr als die lib zu initialisieren ist aber noch nicht, das kann auch noch etwas dauern...


    Gruss,
    Thomas

  • Quote

    Original von wbreu
    inwieweit kann man dich denn mit Hardware unterstützen => Intel oder Ati/AMD?


    Momentan kann ich ja erstmal mit dem VDPAU-Backend testen, oder besser, muss ich erstmal soweit kommen dass ich überhaupt ne Ausgabe testen kann ;)
    Evtl. hab ich doch ne ATI hier die h264 decodiert, bin aber nicht sicher, vielleicht weiss da wer mehr. Ist nicht eingebaut, daher keine Ausgaben, nur vom Karton, da steht RX1550 und TD128EH, HDTV-Ready, DirectX 9.0, OpenGL 2.0. Ahja, in der Anleitung steht "MPEG 1/2/4 decode and encode accerlation", könnte gehen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!