[Tinkerboard] softhddevice-drm

  • Hallo,


    hab grade eine Alpha Version softhddevice für das Tinkerboard auf Github geschickt. Für Gentoo User liegt mein lokales portage mit drin. Es gibt momentan einen bekannten Bug den ich nicht abstellen kann. FFmpeg gibt beim Beenden von VDR den Speicher nicht schnell genug frei. So gibt es ein segfault wenn als letztes ein Rockchip Hardware Decoder verwendet wurde. Ich werde erst einmal abwarten in welche Richtung FFmpeg weiter entwickelt wird. Die DRM Prime Lösung für FFmpeg ist auch noch experimentell.


    Vorraussetzungen:


    FFmpeg von da
    MPP von Rockchip
    libdrm von Rockchip
    wenn HEVC decodiert werden soll vdr mit Reufers patch
    Experimentierfreude


    Momentan gibt es noch keinen Deinterlacer. Bei Mpeg trickse ich das hin aber bei HD geht das nicht.


    Nicht erschrecken! Es werden noch viele debug printf's ausgegeben.


    Gruss zille

  • Interessant! Wie nutzt Du Gentoo da drauf, lässt nativ das Tinkerboard selber die Pakete bauen, oder machst cross-emerge am PC?


    Gruß,

    Lucian

    8)


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

  • hallo


    Ich bin grad über diesen post gestolpert ...


    Interessant !


    Ich hatte das tinkerboard vor einigen Wochen mal da und war von der Grafik performance entsetzt ....


    Im Netz war an einigem stelle zu lesen das das an schlecht implementierten Treibern liegt !?


    Rein von den specs ist das teil sehr interessant


    Nutzt du das zusammen mit streamdev ?

  • Ja, läuft als Client mit streamdev.

    Ich hatte das tinkerboard vor einigen Wochen mal da und war von der Grafik performance entsetzt ....

    Meinst Du damit GL? Das benutze ich noch nicht. Softhddevice nutzt kein X nur DRM. Von den Treibern die ich benutze bin ich begeistert. Cubietruck und Matrix Treiber haben die Qualität nie erreicht.


    Die ARM Kerne sind sehr flott unterwegs. Ich bin schon gespannt was die RK3399 können.


    Gruß zille

  • Hi


    ja - das meine ich - ich hatte hier ein TB um die Einsatzfähigkeit als Thin Client zu testen (in Verbindung mit RDP und WIN Server). Als Referenz der RPI3 auf dem das ganze schon ganz gut geht - aber eben noch nciht so wie es sein soll da freerdp auf dem RPI RemoteFX nicht aktiviert.. Daher hatte ich die Hoffnung dass die auf dem Papier deutlich leistungsfähigere Grafik des TB hier etwas bringt - leider weit gefehlt - Bildaufbau = Desaster ...


    Ein paar Fragen zum Projekt:


    - Werden die Videoströme im RP per Hardware Decodiert - oder per software ? (muss man wie beim RPI Codecs für MPEG2 kaufen oder sind die hier frei)

    - Was machst du mit dem OSD - wird das rein per CPU erzeugt und welches Skin verwendest du - hast du mal aufwändigere probiert (nativ oder per Skindesigner)

    - Wie ist die Bildqualität bei MPEG2 Videos ? Ich habe die Erfahrung gemacht dass z.b: Kodi ältere MPEG2 Aufnahmen in extrem schlechter Qualität abspielt (z.B: FireTV mit mPEG2 Decoder) hingegen laufen diese auf dem RPI2/3 mit hervorragender Qualität.

    - Welchen Status hat das Plugin - kann man es produktiv einsetzten oder ist das noch eher alpha oder beta ?



    Mich nerven die Hardware Limitierungen des RPI - speziell die lahme LAN Schnittstelle - daher bin ich ernsthaft an einem teste interessiert ...

    -

  • Mpeg wird SW decodiert, H264 und HEVC in HW.


    OSD ist rein Anzeige des RGB von vdr, keine aufwendige Skin.


    Mpeg Qualität ist OK. Ein Frame von 288 x 720 auf HD zu scalieren ist halt nicht besser machbar. RPI2 Qualität vergleichbar.


    Ich nutze es täglich. Bugs sind noch keine gemeldet worden.


    Gruss zille


  • Hi zille,


    welche FFMPEG Version nutzt du aktuell für "drm"? Hast du ein Link zum git...? Danke!

    Edit:

    Ok, dass ging schneller als ich dachte. VDR läuft mit der aktuellen git Version. FFmpeg habe ich die aktuelle Version von github genommen:

    https://github.com/FFmpeg/FFmpeg

    Aktuell geht nur MPEG ... bei HD (h264) steigt er aus. Jemand eine Idee?



    Gruß,

    Uwe

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von Uwe ()

  • Hallo Uwe,


    das git von ffmpeg.org nutze ich. Longchair hat da rkmpp eingepflegt. Das Rockchip mpp ist dafür notwendig. Zwischen durch hatte sich bei mpp die api geändert. Das ist mittlerweile in ffmpeg angepasst.


    Beim softhddevice-drm habe ich gerade grössere Umbauten gemacht. Auf die Abhängigkeiten von vdpau, vaapi und X brauch ich ja jetzt keine Rücksicht mehr nehmen.


    Gruss zille

  • ... und hier noch der syslog:

  • Nun habe ich ffmpeg wie folgt gebaut:

    Code
    1. cd ffmpeg
    2. ./configure --prefix=/usr --enable-rkmpp --enable-libdrm --enable-version3
    3. make -j4
    4. make install

    Nun kommt es aber beim Start von VDR zu folgendem Fehler:

    Code
    1. Apr 2 19:12:44 tinkerboard vdr: [1094] VDR version 2.2.0 started
    2. Apr 2 19:12:44 tinkerboard vdr: [1094] codeset is 'UTF-8' - known
    3. Apr 2 19:12:44 tinkerboard vdr: [1094] found 28 locales in /usr/share/locale
    4. Apr 2 19:12:44 tinkerboard vdr: [1094] loading plugin: /usr/lib/vdr/plugins/libvdr-softhddevice.so.2.2.0
    5. Apr 2 19:12:44 tinkerboard vdr: [1094] ERROR: /usr/lib/vdr/plugins/libvdr-softhddevice.so.2.2.0: undefined symbol: mpp_frame_deinit
    6. Apr 2 19:12:44 tinkerboard vdr: [1094] exiting, exit code 2

    Jemand eine Idee?


    Gruß,

    Uwe

  • Nutze deine git Version: https://github.com/zillevdr/mpp


    Ich bekomme folgende Ausgabe:

    Code
    1. # grep mpp_frame_deinit /usr/include/rockchip/*
    2. /usr/include/rockchip/mpp_frame.h:MPP_RET mpp_frame_deinit(MppFrame *frame);

    Gruß

    Uwe

  • Ok, damit kommt der Fehler nun nicht mehr! Danke



    Nun beendet sich VDR nicht mehr und ich bekomme ab und zu ein Bild, aber kein Live Bild. Eventuell liegt dies nun an der zu aktuellen Version von FFmpeg. Werde gleich mal die 3.4 Version noch testen.

    Code
    1. Apr 2 21:50:00 tinkerboard vdr: [1100] [softhddev]Clear:
    2. Apr 2 21:50:00 tinkerboard vdr: audio: can't set channels 0 sample-rate 0Hz
    3. Apr 2 21:50:00 tinkerboard vdr: [1100] ERROR: TS packet not accepted in Transfer Mode

    Hattest du dieses Problem auch schon?


    Gruß,

    Uwe

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Uwe ()

  • MPP bringt neue header mit. Bau das aktuelle git von ffmpeg doch mal mit den neuen headern. Meine Versionen sind schon ein Paar Wochen alt. Ich mache gerade eine Sicherung des aktuellem Stands dann werde ich die aktuellen git Versionen von mpp und ffmpeg testen.


    Gruss zille


    Edit: In FFmpeg 3.4 war glaub ich noch die Version mit der alten mpp api drin.

    Edit 2: Kannst Du mit einem Sender starten der in Mpeg sendet? Das wird SW decodiert.

  • Da fällt es mir wie Schuppen aus dem Haar.

    Apr 2 21:50:00 tinkerboard vdr: audio: can't set channels 0 sample-rate 0Hz

    Das Video wird nach dem Audio synchronisiert. Alsa scheint ein Problem zu haben.


    Gruss zille

    -a hw:0,2 ist der interne Soundchip.


    Edit: Die heutigen git Versionen mpp und ffmpeg laufen.

  • Hallo,


    immerhin läuft nun Video bei HD(720p) und SD(RTL und co), aber ohne das ich ein Audio Ton heraus bekomme. ;) Danke für den Tipp! Um Sound wollte ich mich erst später kümmern, da ich alles Testweise aufgebaut habe. Der Monitor hat die Möglichkeit den Sound, der über HDMI kommt auszugeben.

    Bisher kommt da leider nix heraus....


    Grundsätzlich lässt sich aber über eine Desktop Anwendung Sound über HDMI abspielen.

    Was könnte ich hier noch vergessen haben? Ansonsten eine tolle Arbeit. :)


    Gruß,

    Uwe

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Uwe ()

  • Hi,

    pulseaudio.

    Sind alle Kanäle unmuted?


    MfG,

    Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easyvdr.de