softhdcuvid/softhdvaapi/softhddrm with hevc and UHD

  • Hi

    I finally found time to put the softhddevice with HEVC support to github. It is still work in progress, but I think it is time for the public.
    You can download it from https://github.com/jojo61/vdr-plugin-softhddevice

    Please provide feedback here in this thread.

    mfg
    Jojo61

    Edit:

    Das Plugin wird nun hier weiterentwickelt.

    https://github.com/jojo61/vdr-plugin-softhcuvid

    Edited 2 times, last by jojo61 (March 16, 2021 at 3:54 PM).

  • Läuft bei mir, super

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


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

  • Mit welcher Quelle hast Du es denn getestet, DVB-T2?


    Ja, weitere Tests folgen. UHD habe ich nicht.

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


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

  • Mal nen kurzen Test mit GTX 950 gemacht.

    Erst mal das Positive:

    DVB-T2 Das Erste HD

    xineliboutput cpulast 60%
    softhddevice cpulast 1-5%

    Dann das Negative:

    Schneideversuch Markierung anspringen (7, 9) Crash.

    Im Produktionssystem werde ich es wohl noch nicht einspielen.

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


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

  • Kann ich machen.

    Ich bekomme öfters die Meldung:

    Code
    vdr[6056]: video/vdpau: can't render mixer: The set of handles supplied are not all related to the same VdpDevice.
    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


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

  • logauszug mit debug:

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


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

  • Interessant wäre, ob jojo61 den Fehler reproduzieren kann.

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


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

  • Ja das war mein erster Kontakt mit git. Sorry wenn da chaos ist. Für einen Tipp zum aufräumen wäre ich dankbar


    Am besten bei GitHub ein neues Repository mit dem Namen "vdr-plugin-softhddevice" anlegen. Danach dann:

    Code
    cd ~/src
    # oder wo auch immer du deinen Source gerne liegen haben möchtest
    git clone -o upstream git://projects.vdr-developer.org/vdr-plugin-softhddevice.git
    cd vdr-plugin-softhddevice
    git checkout -b hevc upstream/master
    git remote add origin git@github.com:jojo61/vdr-plugin-softhddevice.git
    git fetch origin
    git push -u origin hevc


    Damit nutzt du als Ausgangspunkt das Original-git-Repository von softhddevice, kannst später von da Änderungen pullen und auch einen vernünftigen Pull-Request erstellen.

    Jetzt bearbeitest du die Dateien und commitest ganz normal wie gehabt:

    Code
    # edit code...
    git add -u
    # bzw. git add neuangelegtedatei
    git commit -m "bla bla bla"
    git push

    Wenn johns was in seinem git ändert:

    Code
    # Arbeitsverzeichnis sollte sauber sein, also prüfen:
    git status
    # On branch hevc
    # Your branch is up-to-date with 'origin/hevc'.
    # nothing to commit, working tree clean
    git pull upstream
    git merge upstream/master
    # ggf. merge-Konflikte auflösen und mit "git add"/"git commit" einchecken
    git push


    Wenn fertig, dann kann johns genauso deine Änderungen aus deinem git-Repository ziehen (und behält dann auch die Commit-Historie bei). Oder man macht mit "git diff master..hevc" einen großen Patch.

    Lars.

    vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
    hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
    Plugins: | avahi4vdr | dbus2vdr | dynamite | epg2timer | noepg | pvrinput | sundtek |

  • Absolut sinnvoll, erst mal im git für Ordnung zu sorgen.

    Mein VDR

    VDR1 Mediaportal mit QVT-Board, Intel 810 Chipsatz, Pentium III 1,1 Ghz, 256 Mb Ram, WDC WD5000AAKB, DVB-S TT 1.5, Nova-S, Digidish 33, Gentoo Kernel 2.6.31, VDR 1.4.7
    VDR2 Asrock M3N78D, AMD Phenom II X6 1055T, 8 Gb Ram, Geforce GTX 950, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    VDR3 MC-1200, GA-B85M-HD3, Celeron G1840, Quadro P400. 4G Ram, CineS2 6, DuoFlex S2, WinTV dualHD, Gentoo Kernel 5.10, VDR 2.6.0, softhddevice
    TV TX-37LZD85F, AV VSX-520D - Consono 35


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

  • Kurzer Zwischenstand beim Testen:

    kompilieren klappt, wenn beim ffmpeg die Optionen richtig gesetzt sind (--enable-shared)
    DVB-T2 läuft bei Kurztest flüssig und ohne Aussetzer
    UHD-Demo auf Astra hat permanent Aussetzer (Geforce950)
    Aber: der Ton funktioniert
    Fehlermeldung im syslog:

    Quote

    Dec 4 20:03:05 h265 vdr: video/vdpau: missed frame (1820/551)
    Dec 4 20:03:05 h265 vdr: video: packet buffer too small for 589666
    Dec 4 20:03:05 h265 vdr: video/vdpau: synced after 10 frames
    Dec 4 20:03:06 h265 vdr: [1643] [softhddev]Clear:
    Dec 4 20:03:06 h265 vdr: [1643] ERROR: TS packet not accepted in Transfer Mode
    Dec 4 20:03:06 h265 vdr: audio/alsa: using device 'hdmi:AES0=0x4,CARD=NVidia,DEV=1'

    Auf jeden Fall ist es geil, dass sich was Richtung hevc tut. Dafür ein dickes Danke.

    cu
    biggsmann

  • Eine reine Verständnisfrage:
    Der Patch hier reicht momentan "nur" für DVB-T2, da hier hevc mit 8 bit genutzt wird?
    Für DVB-C/S benötigt es 10 Bit (was der Nvidia Treiber 375.20 noch nicht kann) und alle layer müssen auch 10 bit unterstützen (hier ist auch nicht nicht alles unterstützt)?
    In Hardware wird hevc 10 bit bei NVidia nur 950+ und 1050+ Serie unterstützt?

    Mein VDR

    Asus H110M-K, i3 6600, 8 GB RAM, Zotac GTX 1050 TI 4 GB, Samsung 850 Pro 256 GB, BR LG 8x, verpackt in einem HP VL400 Desktop Gehäuse, DigitalDevices Octopus, 2x DuoFlex C V3 (somit 4 Tuner), oneForAll Smartcontrol 7960/ USB IRMP, easyVDR 3.5 ,VDR User #2066
    Buildthread VDR 4k/ HEVC: Update eines alten VDR

    TV: Sony KD65XD9305 UHD / Receiver: Onkyo TX-NR616 / Boxen: Teufel System 4 Cinema

  • Hi,

    wahrscheinlich funktioniert Intel VAAPI noch nicht

    Display Spoiler

    nach "Dec 4 22:31:51 satip vdr: audio: 8Hz sample-rate unsupported" steigt der VDR aus, mit dem Original von Johns hab ich das Problem nicht.

    CU
    9000h

    Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

  • VAAPI habe ich überhaupt nicht beachtet und insofern würde es mich auch wundern wenn es funktioniert. Ich habe bisher nur VDPAU getestet und bearbeitet.

    Wie schon im README beschrieben funktioniert das ganze derzeit nur mit DVB-T2 HD weil dort HEVC mit 8 Bit zum einsatz kommt. Auf den SAT UHD Sendern wird derzeit überall 10 Bit genutzt und das funktioniert weder mit AMD noch NVIDIA. Ich habe aber hierfür das dekodieren in Software eingebaut und deswegen sieht man auch bei UHD ein Bild und bekommt Ton. Allerdings schafft ein "normaler" PC das nicht in Software zumal auch kein Multithreading aktiv ist. Deswegen stottert das Bild und bleibt wohl auch hängen. Am weitesten ist derzeit AMD mit der 10 Bit dekodierung. Es ist verfügbar in VDPAU, aber wird von FFMPEG noch nicht unterstützt.

    jojo

  • Gibt es irgendwo VDR hevc samples, die man bei mangelndem DVB-T2 Empfang zum Testen hernehmen könnte? Bzw. hat zufällig jemand einen Allwinner H3 mit VDR am laufen und kann testen, ob das ootb funktioniert? Ansonsten muss ich mir fast mal Zeit nehmen...
    Gruß
    Andreas

    Meine VDRs

    (SatIP Server) --- Kathrein Exip 418 ---

    (Server) --- HW: RPI5 --- SW: RPiOs, VDR 2.7.2 mit streamdev, satip/vtuner-ng, vdrmanager, live, epgsearch, markad ---

    (Client 1+2) --- HW: Radxa Rock 4 Plus - RK3399 --- SW: VDR*ELEC mit softhddevice-drm-gles ---

    (WIP) --- Tanix TX6, RPi5, RPi4, Odroid N2+, WetekPlay2 --- SW: VDR*ELEC mit softhddevice-drm-gles --

Participate now!

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