Rasperry Pi xine plugin

  • Hallo Ardi,


    zunächst einmal herzlichen Dank für Deine Mühe. Meine Testergebnisse:


    - Läuft hervorragend mit xineliboutput
    - Darstellung ist 4:3 auf 16:9 Monitor
    - Beim Umschalten (svdrpsend CHAN xxx) stoppt Wiedergabe
    - Kein Analog-Audio. HDMI habe ich nicht testen können
    - Kein OSD (aber das sagtest Du ja schon)
    - Kein Deinterlacing


    Wenn ich Dir beim Programmieren helfen kann, mache ich das gerne. Bis hierher klasse Arbeit! Danke.


    Gruß,
    beta

  • Also, ich hab das so verstanden, dass das Plugin, was ardi für die Xine-Lib schreibt, dafür sorgt, dass Xine die Hardware-Beschleunigung des RPI nutzen kann.


    Genau so ist es. Ein vdr sendet über xineliboutput an den rpi vdr-fbfe empfängt die Daten und gibt sie über xine aus. Mein xine-plugin sorgt dafür, dass dabei die Hardwarebeschleunigung benutzt wird.

    :welle ASRock K10N78FullHD-hSLI R3.0, Atlon64 X2 4850e (45W), 2GB RAM,500GB SATA, SkyStar2+TT-S21600, yaVDR


  • -Analog Audio: -A alsa (funktioniert bei mir)
    - Umschalten sollte eigentlich gehen
    - Im Server-VDR-Xineliboutbut-Setup im Menü Video muß deinterl. abgeschaltet sein ... noch

    :welle ASRock K10N78FullHD-hSLI R3.0, Atlon64 X2 4850e (45W), 2GB RAM,500GB SATA, SkyStar2+TT-S21600, yaVDR

  • Genau so ist es. Ein vdr sendet über xineliboutput an den rpi vdr-fbfe empfängt die Daten und gibt sie über xine aus. Mein xine-plugin sorgt dafür, dass dabei die Hardwarebeschleunigung benutzt wird.


    Ok, danke fuer die Erlaeuterung, jetzt ist es klarer, Dein Plugin ist ein generelles Output Plugin fuer die native xine-lib auf der RPI, hat speziell mit xineliboutput oder vdr-xine vom VDR erstmal gar nichts, sondern ermoeglicht nun bloss deren Verwendeung auf der RPI. Und Du wirst dann vermutlich auch OSD und Sound nachreichen, cool, das ist ein guter Anfang. Ich denke, es wuerde dann lohnen, die RPI-Hardware spezifischen Aufrufe die Du da benutzt und benutzen wirst, doch in eine separate Lib auszulagern, die dann eventuell auch von ffmpeg/libav oder direkt in softhddevice verwendet werden koennten, sofern man einen VDR direkt auf der RPI betreiben koennte, (geht das?)...


    Ciao, Lucian



    Gentoo overlay mit VDR (und nicht nur) ebuilds, vdrcm, GLCDprocDriver


  • -Analog Audio: -A alsa (funktioniert bei mir)
    - Umschalten sollte eigentlich gehen
    - Im Server-VDR-Xineliboutbut-Setup im Menü Video muß deinterl. abgeschaltet sein ... noch

    -A alsa funktioniert. Das war mein Fehler. Ich hatte alsa falsch konfiguriert. Beim Umschalten (egal ob vdr-Konsole oder andere) kommt beim vdr-fbfe-Aufruf:



    assertion failure:ilclient.c:996:ilclient_disable_port_buffers():error == OMX_ErrorNone
    Abgebrochen


    Edit: Obere Fehlermeldung kommt unter X, ohne X kann ich einmal umschalten, bis der RPI hängt (Reboot nur durch Netzstecker ziehen)-


    LG,
    beta


  • Danke für die Info. Ich kann das aber gerade nicht testen (vdr ist in Benutzung ;D )
    Ich bleibe dran.

    :welle ASRock K10N78FullHD-hSLI R3.0, Atlon64 X2 4850e (45W), 2GB RAM,500GB SATA, SkyStar2+TT-S21600, yaVDR


  • Ich kann das aber gerade nicht testen (vdr ist in Bnutzung ;D )
    Ich bleibe dran.


    Wie kein vdr auf dem rpi ?

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.1.6) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.5 mit SAT>IP, epgsearch, live, markad
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 3.2+git | Linux Kernel 5.4.72 | VDR 2.4.5 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org


  • Schenk mir eine USB-DVB-S2-Karte :]


    streamdev-plugin?

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.1.6) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.5 mit SAT>IP, epgsearch, live, markad
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 3.2+git | Linux Kernel 5.4.72 | VDR 2.4.5 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org


  • streamdev-plugin?


    Ich will ne USB-Karte und kommst mir mit n'er Softwarelösung :wand


    ... geht z.Z auch nicht. streamdevice ist nicht eingerichtet und vdr ist immer noch in Benutzung (ich sag nur SIXX :D )

    :welle ASRock K10N78FullHD-hSLI R3.0, Atlon64 X2 4850e (45W), 2GB RAM,500GB SATA, SkyStar2+TT-S21600, yaVDR

  • ich bekomme hier auch ein abbruch, wenn ich zum nächsten Sender schalte:
    HD 720p Sender haben noch viele Artefakte .... (ARDHD und ZDFHD getestet)


    Super, weiter so! :)


    Einmal editiert, zuletzt von Uwe ()

  • So, einige Einstellungen angepasst, nun kommen beim starten auf dem raspberry keine warnungen mehr, aber umschalten klappt nicht....


    EDIT: ich teste über HDMI, ich habe Ton und Video syncron!
    Edit2: umschalten klappt nun auch teilweise. Ich habe unter ~/.xine/config_xineliboutput bekannte Buffer vergrössert...


    Einmal editiert, zuletzt von Uwe ()

  • Hi,


    wird das auch unter X (vdr-sxfe) funktionieren, oder werde ich zwingend vdr-fbfe nutzen müssen?
    Mir ist schon klar, dass das grundsätzlich keinen Unterschied machen sollte, aber vom vompclinet her weiß ich noch, dass es Probleme mit den verfügbaren Buffern gab, weshalb auch der OSD nicht ganz trivial war. Da musste immer sicher gestellt werden, dass alles nicht mehr benötigte wieder frei gegeben wurde, da ansonsten der Video-RAM nicht reicht (oder so ähnlich).
    Bei der Verwendung von vdr-sxfe geht es mir weniger um die Möglichkeit das in nem Fenster zu starten, als viel mehr den X-Server im Hintergrund laufen zu lassen. Oder kann/muss ich dafür vdr-fbfe nutzen?


    Ansonsten, super Arbeit, Danke!!


    Claus

    MLD 5.5 mit vdr 2.6 - lirc yaUSBir - Octopus NET S2 - SCR - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - WD Green 12TB HDD - SanDisk 64GB SSD - Lian Li PC-C37B - Samsung LE40A559
    MLD 5.5 mit vdr 2.4 - Raspberry Pi 3 - rpihddevice
    MLD 5.5 mit Squeeze Play - Raspberry Pi 2 - 32GB SD - 7" Touch TFT

  • Probleme beim Umschalten.


    • Firmware ist aktuell?
    • genügend Video-Ram (in /boot/config.txt gpu_mem=???

    Bei mir funktioniert das Umschalten (Problem nur wenn der neue Sender eine andere Auflösung hat z.B. von 720x576 auf 480x576).
    Ein assertion failure hab ich noch nicht zu sehen bekommen.


    PS: ich halte meine Firmware so aktuell: https://github.com/Hexxeh/rpi-update


    PS-2: vorerst nur Frame-Buffer

    :welle ASRock K10N78FullHD-hSLI R3.0, Atlon64 X2 4850e (45W), 2GB RAM,500GB SATA, SkyStar2+TT-S21600, yaVDR

    Einmal editiert, zuletzt von ardi ()

  • Habe gerade mal ein Hexxey-Update + reboot gemacht, die Firmware war nicht aktuell....
    Trotztdem kommt es zum crash, wenn ich umschalte!
    --> gpu_mem=128


    Code
    ---------------------------
    Create Engine
    vo_out_rpi: setup render ok
    vo_out_rpi: render activ
    Create Engine ok
    ---------------------------
    [2341] [input_vdr] wait_stream_sync: discard_index 85239388 != curpos 117432884 ! (diff -32193496)
    assertion failure:ilclient.c:996:ilclient_disable_port_buffers():error == OMX_ErrorNone
    Abgebrochen


    Kannst du vielleicht ein paar mehr Informationen geben, wie du deinen Client und Server konfiguriert hast? (config_xineliboutput usw...)


    Viele Grüße, Uwe


  • Da ist nichts großartig konfiguriert.
    Server: yaVDR (xineliboutput für externe Clients freigegeben)
    Client: Standard RPI mit Rasbian-Image + Hexxey-Update


    Ich hab die 2. Testversion fast fertig. Warte mal auf die und teste dann weiter

    :welle ASRock K10N78FullHD-hSLI R3.0, Atlon64 X2 4850e (45W), 2GB RAM,500GB SATA, SkyStar2+TT-S21600, yaVDR

  • Zitat

    Ich hab die 2. Testversion fast fertig. Warte mal auf die und teste dann weiter


    Ok, werde ich mal warten. ;)

  • So ich habe mir das ganze nun auch mal eingerichtet.


    Ich gehe dabei einen etwas anderen Ansatz.
    Bei mir läuft ein voller VDR auf dem Raspi der via streamdev device mit meinem Server redet.
    Das vdr-fbfe spricht dann also mit dem local vdr.
    VDR selber braucht ca 12% CPU


    Bild und Ton war von Anfang an da :tup


    Bei SD vdr-fbfe ca 88%
    Ton hat hin und wieder aussetzer ;(


    Bei HD vdr-fbfe ca 48% :rolleyes: :rolleyes:


    Umschalten führte bei mir dazu das das System nicht mehr reagiert.


    assertion failure:ilclient.c:996:ilclient_disable_port_buffers():error == OMX_ErrorNone
    Aborted



    Ich habe aber auch nur 256MB und habe es bis jetzt mit 128/128 versucht.
    Bin echt gespannt wie es weiter geht. :] :tup

  • Ich gehe dabei einen etwas anderen Ansatz.
    Bei mir läuft ein voller VDR auf dem Raspi der via streamdev device mit meinem Server redet.
    Das vdr-fbfe spricht dann also mit dem local vdr.
    VDR selber braucht ca 12% CPU

    So ähnlich will ich das später auch einrichten.


    Bei SD vdr-fbfe ca 88%
    Ton hat hin und wieder aussetzer ;(

    Dann muß ich doch noch die Sound-Decodierung über HW machen.


    Bei HD vdr-fbfe ca 48% :rolleyes: :rolleyes:

    weniger als bei SD ???


    Umschalten führte bei mir dazu das das System nicht mehr reagiert


    assertion failure:ilclient.c:996:ilclient_disable_port_buffers():error == OMX_ErrorNone
    Aborted

    Was soll der Sch??ß. Wo zum Geier kommt das assertion failure her??? :wand


    Ok. Warten wir mal die 2. Testversion ab. Hoffentlich ist es dann weg.


    Ich habe aber auch nur 256MB und habe es bis jetzt mit 128/128 versucht.
    Bin echt gespannt wie es weiter geht. :] :tup

    Es wird weiter gehen.

    :welle ASRock K10N78FullHD-hSLI R3.0, Atlon64 X2 4850e (45W), 2GB RAM,500GB SATA, SkyStar2+TT-S21600, yaVDR

  • Ja das HD weniger braucht als SD ist mir auch aufgefallen. Sehr komisch. Vielleicht muss ich da mal weiter testen. War nur ein 5 min Test.
    Version 2 wird dann umgehend getestet.
    Bin auch gespannt wann Du den Code veröffentlichst. Würde da gerne mal rein sehen.

Jetzt mitmachen!

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