[Beta] RPI Ausgabeplugin

  • Hallo zusammen


    Nachdem das rpihddevice-Plugin die letzten Belastungstests erfolgreich bestanden hat (an der Stelle vielen Dank an Klaus für die Unterstützung!), ist es nun in meinen Augen dem Prototypen-Stadium entwachsen und ich kann es guten Gewissens zum Beta-Test freigeben:



    Download auf vdr-developper.org


    Als nächstes werde ich die Übersetzungen auf Vordermann bringen und möchte eigentlich, falls keine gravierenden Probleme mehr auftauchen, irgendwann mal im Mai eine 1.0.0 releasen.


    Ich freue mich auf Rückmeldungen und wünsche viel Spass beim Testen!


    Grüsse aus Bern
    Thomas

  • Hallo Thomas,


    bisher läuft das Plugin ohne Probleme. Mir ist nur aufgefallen, dass ich eine Fehlermeldung im log habe (Zeile 5):

    Code
    1. Apr 30 19:11:47 vdr-pi vdr: [2354] rpihddevice: new audio codec: 2ch MPEG
    2. Apr 30 19:11:47 vdr-pi vdr: [2354] rpihddevice: set HDMI audio output format to 2ch PCM, 48.0kHz
    3. Apr 30 19:11:47 vdr-pi vdr: [2407] rpihddevice: set video codec to MPEG2
    4. Apr 30 19:11:47 vdr-pi vdr: [2353] rpihddevice: video stream started 720x576@50i
    5. Apr 30 19:11:57 vdr-pi vdr: [2333] error in vasprintf('%d#011%.*s#011%s#011%c%c%c#011%s', ...)


    Das scheint aber keine Auswirkung auf die Funktion des Plugins zu haben.


    Gruß Ralph

  • hatte ich auch wenn ich im Programm auf "Nächste" geschaltet habe und der EPG noch nicht vollständig auf allen Sendern war, hat also glaube ich nichts primär mir rpihddevice zu tun.

    1. Server Zotac D2700-ITS Cine-S2 Dual yaVDR 0.5
    2. Client Zotac D2550-ITS yaVDR 0.5
    Sonstige VDRs
    2. Zotac-HD-ID11 TT-S2-3600 yaVDR 0.5
    3. Zotac D2700-ITS TT-S2-3600 yaVDR 0.5
    4. Zotac ITX-F-E TT-S2-3600 yaVDR 0.5

  • Hab gerade auf die aktuelle version aus dem Git upgedated und darauf hin hat suspendoutput plugin das Logo nicht mehr angezeigt.


    Apr 30 21:10:01 raspi3 vdr: [536] suspendoutput: output suspended by user
    Apr 30 21:10:02 raspi3 vdr: [568] ERROR (device.c,1767): Ungültiger Dateideskriptor




    Nach dem Zurückspielen der Version vom 19.4. aus dem Git geht es wieder. Nicht dramatisch aber der WAF leidet ;-)


    Ansonsten läuft das Plugin prima und hat hier den Tausch aller Clients gegen Raspis ermöglicht.


    bye
    Sven


    Link: Richtig fragen

  • Hallo Sven

    Hab gerade auf die aktuelle version aus dem Git upgedated und darauf hin hat suspendoutput plugin das Logo nicht mehr angezeigt.

    Aktuell starte ich einen Stream nur noch bei einer gültigen PTS. Für Plugins, die statt kompletter PES-Pakete nur Rohdaten liefern, addiere ich einen PES-Dummy-Header, der aber bislang eine PTS mit Wert 0 hatte. Folgender Patch behebt das Problem:


    Diff
    1. --- a/omxdevice.c
    2. +++ b/omxdevice.c
    3. @@ -34,7 +34,7 @@ const int cOmxDevice::s_liveSpeeds[eNumLiveSpeeds] = {
    4. };
    5. const uchar cOmxDevice::PesVideoHeader[14] = {
    6. - 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x80, 0x80, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00
    7. + 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x80, 0x80, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02
    8. };


    Damit funktioniert suspendoutput auch mit Logo - werde ich heute oder morgen in git einchecken.


    Apr 30 21:10:01 raspi3 vdr: [536] suspendoutput: output suspended by user
    Apr 30 21:10:02 raspi3 vdr: [568] ERROR (device.c,1767): Ungültiger Dateideskriptor

    Diese Meldung kommt von streamdev und hat damit nichts zu tun.


    Gruss
    Thomas

  • Hi Thomas,


    ja damit geht es. Danke für den schnellen fix.


    bye
    Sven


    Link: Richtig fragen

  • Hallo Thomas,


    zuerst einmal vielen Dank für Deine Arbeit am Plugin! Damit hast Du den RasPi (für mich/uns) enorm aufgewertet :tup


    Ich habe allerdings zuletzt hin und wieder das Problem, dass das Bild kurzzeitig "kaputt geht" wobei die untere Hälfte aus vertikal Streifen der letzten korrekt ausgegebenen Zeile besteht. Meist verschwindet das nach einem Moment wieder, allerdings mußte ich neulich auf einen anderen Kanal umschalten und wieder zurück damit das Bild wiederkommt. In dem Fall waren viele grüne Klötzchen zu sehen. Ich betreibe den RasPi als streamdev Client, das Problem trat beim live streaming von NDR HD auf. Im Serverlog steht nix bis auf das Umschalten. Im Clientlog steht für den kurzen Fall auch nix, beim schwerwiegenderen kommt folgendes:


    Firmware ist aktuell und libav kommt von Debian Jessy:


    Gruß, ollo

  • Hi ollo

    Ich habe allerdings zuletzt hin und wieder das Problem, dass das Bild kurzzeitig "kaputt geht" wobei die untere Hälfte aus vertikal Streifen der letzten korrekt ausgegebenen Zeile besteht. Meist verschwindet das nach einem Moment wieder, allerdings mußte ich neulich auf einen anderen Kanal umschalten und wieder zurück damit das Bild wiederkommt. In dem Fall waren viele grüne Klötzchen zu sehen. Ich betreibe den RasPi als streamdev Client, das Problem trat beim live streaming von NDR HD auf. Im Serverlog steht nix bis auf das Umschalten. Im Clientlog steht für den kurzen Fall auch nix, beim schwerwiegenderen kommt folgendes:

    Für mich schaut das nach Empfangsproblemen aus, oder die Pakete kommen aus einem andern Grund beim Raspi nicht komplett oder verzögert an. Mehr kann ich dazu leider nicht sagen…


    Gruss
    Thomas

  • Hallo ..
    ich bekomme immer folgendes auf meinen Raspi
    rpihddevice: new audio codec: 2ch MPEG
    May 3 16:51:36 vdr1 vdr: [3037] rpihddevice: [libav] Header missing
    May 3 16:51:36 vdr1 vdr: [3037] rpihddevice: failed to decode audio frame!
    Habe dann weder Bild noch Ton ..
    Schalte ich ein paarmal hin und her, geht es irgendwann X(
    alles ist aktuell aus dem Git.
    Thanks
    speed

    The post was edited 1 time, last by speed ().

  • Schaut für mich auch nach schlechtem Empfang oder sonstigen Fehlern im Stream aus: Das Plugin erkennt den Anfang eines MPEG-Audiopakets, aber ffmpeg beklagt sich über einen fehlerhaften Header.


    Gruß
    Thomas

  • Hallo,
    habe diese Problem aber nur bei verschlüsselten Kanälen ?(
    Bei allen anderen keine Probleme, darum schliesse ich Empfang mal aus.
    Gruß
    Speed

  • speed ,
    Du nutzt vermutlich noch nicht die die Raspi2? Audio Decodieren überfordert den B+, genauso wie 1080p Sendungen mit hohen Bitraten. Die USB / CPU Anbindung schafft das dann nicht mehr. Lediglich über streamdev geht es besser.


    Wer 1080p sehen will sollte die Finger vom B+ lassen... Hat sich das immer noch nicht genug verbreitet, dass der B+ nur als Streaming client halbwegs taugt?

    Proxmox VE, Tyan Xeon Server, OMV, MLD-Server 5.1
    MLD 5.1 64bit: Asus AT5iont-t, ION2, 4GB Ram, SSHD 2,5" 1Tb, HEX TFX 300W 82+, Cine S2 V6.2 , 38W max.
    Yavdr 0.5:
    Zotac D2550ITXS-A-E mit GT610 OB, TT S2-4100 PCI-e ,Joujye NU-0568I-B
    Yavdr 0.5:
    Sandy Bridge G840, Tests und Energieverbrauch , CoHaus CIR, Cine S2 V6.2
    MLD 5.1 Beebox N3150
    , DVBSky S960 und 1Tb WD Blue

  • Du nutzt vermutlich noch nicht die die Raspi2? Audio Decodieren überfordert den B+, genauso wie 1080p Sendungen mit hohen Bitraten. Die USB / CPU Anbindung schafft das dann nicht mehr. Lediglich über streamdev geht es besser.


    Das kann ich so nicht bestätigen. Auch die alten Raspis sind in der Lage, alles abzuspielen, was wir hier so per DVB empfangen, auch decodieren von Audio, inklusive Mehrkanal-Downmix auf Stereo. Was ein wenig heikel ist, sind die Öffentlich/rechtlichen in HD über SAT>IP, hier können schon mal Pakete verloren gehen, wenn man parallel per SSH was auf dem Raspi macht. Schuld ist hier die schwache CPU in Kombination mit dem Transport des Streams über UDP. Mit streamdev gibt's diese Probleme aber nicht, da hast du Recht.


    Was mit den alten Raspis nicht sauber geht, sind Bluray-Streams über NFS. Auch hier ist die CPU zu schwach, um den benötigten Durchsatz zu handeln. Mit dem Raspi 2.0 funktioniert das aber tadellos, trotz der viel beklagten Ethernet-Anbindung über USB.


    Gruss
    Thomas

  • Hallo,
    ich habe nur Raspi´s 2 im Einsatz, keine B.
    Gruß
    speed

  • ich habe nur Raspi´s 2 im Einsatz, keine B.

    Leider kann ich zu deinem Problem nicht mehr beitragen als ich schon geschrieben habe. Das von dir geschilderte Problem kann ich bei mir nicht nachvollziehen, zumal das rpihddevice, wie jedes andere Ausgabeplugin auch, grundsätzlich nur unverschlüsselte Streams wiedergeben kann.


    Gruss
    Thomas

  • Ich starte den VDR auf der Konsole und alles funktioniert prima. Dann beende ich den VDR mit "Ctrl-c" (SIGINT):

    Code
    1. Mai 11 19:59:49 arch-pi vdr[178]: [178] stopping plugin: rpihddevice
    2. Mai 11 19:59:49 arch-pi vdr[178]: [178] saved setup to /var/lib/vdr/setup.conf
    3. Mai 11 19:59:49 arch-pi vdr[178]: [178] deleting plugin: rpihddevice
    4. Mai 11 19:59:49 arch-pi vdr[178]: [178] caught signal 2
    5. Mai 11 19:59:49 arch-pi vdr[178]: [178] exiting, exit code 0


    Wenn ich den VDR anschließend erneut starte, geht das schief:


    Code
    1. ...
    2. Mai 11 19:59:53 arch-pi vdr[194]: [194] rpihddevice: [OpenVG] cannot allocate pixmap of 696px x 18px, clipped to 0px x 0px!
    3. Mai 11 19:59:53 arch-pi vdr[194]: [206] rpihddevice: [OpenVG] failed to allocate 0px x 0px pixel buffer!
    4. Mai 11 19:59:53 arch-pi vdr[194]: [206] rpihddevice: [OpenVG] CreatePixelBuffer error: illegal argument
    5. Mai 11 19:59:53 arch-pi vdr[194]: [194] rpihddevice: [OpenVG] failed to create pixmap! (allocation failed)
    6. Speicherzugriffsfehler (Speicherabzug geschrieben)
    7. Mai 11 20:00:03 arch-pi systemd-coredump[208]: Process 194 (vdr) of user 1000 dumped core.


    Wird beim Beenden der Speicher nicht komplett freigegeben ?

    ASRock ION 330HT mit TT-connect S2-3600
    Arch Linux VDR 2.2.0
    VDR user #2043

    The post was edited 1 time, last by tintin-tux ().

  • Wird beim Beenden der Speicher nicht komplett freigegeben ?


    Ich kann das Problem bei mir leider nicht nachvollziehen, auch wenn ich den VDR per Kommandozeile starte und mit Ctrl-C beende. Es scheint, dass die maximale Pixmapgrösse bei dir Null ist, weshalb deren Allozierung schief geht und der Skin beim Zugriff darauf abstürzt.


    Gruss
    Thomas