[Prototyp] RPI Ausgabeplugin

  • Ich hab die Ausgabe noch auf 1080i stehn, sollte ich mal ändern, sorry


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Ich hab die Ausgabe noch auf 1080i stehn, sollte ich mal ändern, sorry


    Kein Problem. :) Sollte übrigens auch im log stehen:


    Code
    Feb 10 08:47:55 localhost vdr: [2602] rpihddevice: using HDMI video output at 1280x720p
    [..]
    Feb 10 08:47:57 localhost vdr: [2629] rpihddevice: decoding video 720x576i, enabling deinterlacer
    [..]
    Feb 10 18:07:17 localhost vdr: [2629] rpihddevice: decoding video 1920x1080p, disabling deinterlacer


    Gruss
    Thomas

  • Bei 1080p sieht das deutlich besser aus


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Noch ein Schönheitsfehler: Bei Servus TV wird die eac3-Tonspur nicht bei Analog-Ausgabe wiedergegeben. Passthrough kann ich im Moment nicht Testen.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Das kann auch am channels.conf Eintrag liegen, muss ich Testen


    Edit:


    Das wars, Test war per streamdev, Filter Streaming eingeschaltet, Ton da.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • s.o. :tup


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Hier unter Arch Linux ARM läuft es auch gut :tup


    Gibt es eine Möglichkeit vom Bild ein paar Zeilen abzuschneiden, um das Flackern der obersten Zeile durch das Teletext-Signal, das auf einigen SD-Sendern auftritt, zu beseitigen?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Overscan?


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • ZDF HD wird per streamdev-client als 720i erkannt, warum? (Astra - SAT)


    Code
    ...
    Feb 11 19:02:18 raspberry vdr: [2717] switching to channel 2
    Feb 11 19:02:18 raspberry vdr: [2795] cStreamDevice::GetTSPacket: GetChecked: NOTHING (0)
    Feb 11 19:02:19 raspberry vdr: [2796] TS buffer on device 10 thread ended (pid=2717, tid=2796)
    Feb 11 19:02:19 raspberry vdr: [2795] buffer stats: 295912 (14%) used
    Feb 11 19:02:19 raspberry vdr: [2795] receiver on device 10 thread ended (pid=2717, tid=2795)
    Feb 11 19:02:19 raspberry vdr: [2797] receiver on device 10 thread started (pid=2717, tid=2797, prio=high)
    Feb 11 19:02:19 raspberry vdr: [2798] TS buffer on device 10 thread started (pid=2717, tid=2798, prio=high)
    Feb 11 19:02:19 raspberry vdr: [2797] rpihddevice: set video codec to H264
    Feb 11 19:02:19 raspberry vdr: [2730] rpihddevice: decoding video 1280x720i, enabling deinterlacer


    ARD HD funktioniert dagegen...

  • Hallo Thomas,


    vielen Dank für die neue Version. Bei SD klemmt's hier aber noch - es kommt immer zum "buffer stall" (3=RTL, 4=Sat1, 5=Pro7)



    Gruß, ollo

  • Hallo zusammen

    ZDF HD wird per streamdev-client als 720i erkannt, warum? (Astra - SAT)

    Stimmt, das ist bei mir auch so. Das Erste HD wie auch SRF1 HD und SRF2 HD werden vom Decoder aber richtig erkannt. Entweder ist das ein Firmware-Bug oder ZDF HD sendet hier was komisches im Stream... sind hier Experten anwesend, die sich dazu äussern können?


    Bei SD klemmt's hier aber noch - es kommt immer zum "buffer stall" (3=RTL, 4=Sat1, 5=Pro7)

    Das kann ich bei mir nicht nachvollziehen. Allerdings vermisse ich die Audio-Traces - hast du die absichtlich gekürzt, oder fehlt da wirklich der Ton? Das von dir beschriebene Verhalten liesse sich erklären, wenn Audio-Pakete kommen, aber vom Parser verworfen werden. In dem Fall würde der Clock gestartet, aber es kommen nie Audio-Frames beim Render an die den Takt nachführen. Dann würden die decodierten Video-Frames im Scheduler "verhungern", d.h. ein Buffer-Stall wird detektiert.


    Worüber schaust du denn fern? (Sat, Kabel, ...?)


    Gruss
    Thomas

  • Gibt es eine Möglichkeit vom Bild ein paar Zeilen abzuschneiden, um das Flackern der obersten Zeile durch das Teletext-Signal, das auf einigen SD-Sendern auftritt, zu beseitigen?


    Ja, sogar mehrere. Die einfachste, aber auch unklügste wäre, den Overscan in der config.txt zu setzen. Allerdings würde dieser auch für HD-Material gelten und das Bild nicht mehr pixelgenau angezeigt.


    Besser wäre, bei SD-Material die Display Region entsprechend anzupassen, und vom SD-Frame ein paar Prozent abzuschneiden. Das sollte aber auch nur passieren, wenn die Ausgabe über HDMI in einem HD-Format erfolgt, bei Composite oder 576p sollte das Signal meiner Meinung nach nicht beschnitten werden. Das liesse sich implementieren, aber es fehlt das eindeutige Kriterium für SD, also "zu beschneidendes" Ausgangsmaterial... Anzahl Zeilen kleiner gleich 576?


    Gruss
    Thomas

  • Hallo Reufer


    erstmal - super Arbeit - neben vielen Verbesserungen begeistert mich vor allem dass alte PES Aufnahmen nun wesentlich besser laufen.


    Was ich noch fragen wollte - du schreibst:


    Code
    - support letter box and center cut out set by VDR


    Bedeutet das, dass 4:3 Aufnahmen in 16:9 abgespielt werden können - oder habe ich das falsch verstanden ?


    CU


    GTR

  • Hallo Thomas,


    so, ich möchte nochmal herzlichen Dank für dieses Plugin sagen. Inzwischen funktioniert es ganz hervorragend. Von Zeit zu Zeit gibt es nochmal einen Ruckler, aber im Großen und Ganzen ist es schon erstaunlich stabil.


    Ich habe manchmal allerdings noch einen Crash des vdr, wenn ich aus der Wiedergabe einer Aufnahme stoppe. Dann wird die Aufnahme weiter abgespielt, aber der vdr reagiert nicht mehr. Wenn man einige Minuten wartet, kann es sein, dass er tatsächlich die Wiedergabe beendet und wieder läuft. Aber wenn man das nicht abwarten will, bleibt nichts als ihn zu killen.


    BTW: Zu dem Pause (StillImage) Problem hätte ich einen Workaround, aus den dvbhddevice abgeguckt. Das Problem ist wohl, dass "StillImage" vom vdr aufgerufen wird, aber der Buffer noch gefüllt ist. Normalerweise ist das kein Problem, da man ja pausiert, bzw. Freezed. Dennoch scheint bei aktiviertem BufferStall nach dem Reset der Buffer weiter abgearbeitet zu werden, bis er leer ist, trotz freeze. Wenn man nun eine Binärvariable einführt, die bei PlayVideo etc und vor allem bei HandleBufferStall abgefragt wird, dann kann man im Pause-Zustand den Reset verhindern. Wird fortgesetzt, wird die Variable wieder auf Null gesetzt:



    Was hältst Du davon?


    Viele Grüße


    Tim


    EDIT: Patch korrigiert, sodass die Funktion StillPicture() nicht angefasst wird.

  • Hi GTR

    Bedeutet das, dass 4:3 Aufnahmen in 16:9 abgespielt werden können - oder habe ich das falsch verstanden ?

    Nein, das bedeutet, dass auf einem 4:3-Monitor 16:9-Material entsprechend dem VDR-Setup entweder in Letterbox oder mittels center cut out angezeigt wird.


    Du meinst wahrscheinlich sowas wie "auto fill", d.h. ein 4:3-Bild auf 16:9 zu strecken - das unterstützt der VDR momentan (noch) nicht.


    Gruss
    Thomas

  • Hallo Reufer


    ja - richtig - nutzt man eine FF DVB-S Karte kann man das ja entsprechend konfigurieren - oder auch beim XINE Plugin geht das - aber ich bin kein Programmieren (zumindest nicht in dieser sprache) ...
    Ich bin das halt nicht gewohnt habe hier noch 2 VDR´s mit FF Karten und 2 mit Xine Plugin und ich mag die schwarzen Streifen seitlich nicht - auch wenn das natürlich eine verschlechterte Bildqualität beduetet ....


    CU
    GTR

  • Hi Tim

    Ich habe manchmal allerdings noch einen Crash des vdr, wenn ich aus der Wiedergabe einer Aufnahme stoppe. Dann wird die Aufnahme weiter abgespielt, aber der vdr reagiert nicht mehr. Wenn man einige Minuten wartet, kann es sein, dass er tatsächlich die Wiedergabe beendet und wieder läuft. Aber wenn man das nicht abwarten will, bleibt nichts als ihn zu killen.

    Sowas ist bei mir noch nie passiert - kannst du das irgendwie bewusst reproduzieren?


    BTW: Zu dem Pause (StillImage) Problem hätte ich einen Workaround, aus den dvbhddevice abgeguckt. Das Problem ist wohl, dass "StillImage" vom vdr aufgerufen wird, aber der Buffer noch gefüllt ist. Normalerweise ist das kein Problem, da man ja pausiert, bzw. Freezed. Dennoch scheint bei aktiviertem BufferStall nach dem Reset der Buffer weiter abgearbeitet zu werden, bis er leer ist, trotz freeze. Wenn man nun eine Binärvariable einführt, die bei PlayVideo etc und vor allem bei HandleBufferStall abgefragt wird, dann kann man im Pause-Zustand den Reset verhindern. Wird fortgesetzt, wird die Variable wieder auf Null gesetzt:


    Danke für den Tipp, aber ich denke nicht, dass es daran liegt. Denn der Buffer Stall tritt auch auf, wenn der VDR pausiert ist und der Reset nach einem Buffer-Stall ist nicht das eigentliche Problem, sondern dessen Lösung.


    Aus einem mir noch nicht gänzlich erklärbaren Grund muss ich für ein StillImage das Videopaket mehrmals an den Decoder schicken - inzwischen vermute ich, dass erst dann der Clock richtig anläuft. Sobald dann ein decodiertes Frame bis zum Video-Render durchgeflutscht ist, bleiben die restlichen wohl im Decoder, da deren PTS identisch ist. Werde das aber noch genauer analysieren...


    Gruss
    Thomas

  • ja - richtig - nutzt man eine FF DVB-S Karte kann man das ja entsprechend konfigurieren - oder auch beim XINE Plugin geht das - aber ich bin kein Programmieren (zumindest nicht in dieser sprache) ...
    Ich bin das halt nicht gewohnt habe hier noch 2 VDR´s mit FF Karten und 2 mit Xine Plugin und ich mag die schwarzen Streifen seitlich nicht - auch wenn das natürlich eine verschlechterte Bildqualität beduetet ....


    Die Einstellungen im VDR stammen zwar ursprünglich aus den Zeiten der SD-FF, sind aber Teil des VDR-APIs und gelten somit eigentlich für alle Ausgabedevices - die xine-Varianten oder das SoftHDDevice benutzen eigene Implementationen in ihren Setup-Menüs und ignorieren die Einstellungen des VDR.


    Ich will das Setup des Plugins aber möglichst einfach halten und verzichte deshalb momentan aufs Strecken, werde dies aber übernehmen, sobald der VDR diese Option auch anbietet (werde dafür Klaus einen Vorschlag unterbreiten).


    Gruss
    Thomas

Jetzt mitmachen!

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