vdr-transcode - swiss knife for transcoding

  • Stimmt 0.2 war etwas sportlich. Aber "-r 1" lieferte noch scharfe Bilder. Es handelt sich ja um eine Dia-Show....

    Und bist Du nicht willig, so brauch ich Geduld!
    System: TV Philips 4k, + CEC-Remote, Octopus Net

    Odroid N2+ mit VDRSternELEC

  • Das konnte ich nicht wissen.


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

  • Im Git ist eine Version mit Unterstützung für h264_amf für AMD-Nutzer.


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

  • Nabend jsffm,


    seit dem Update auf ffmpeg 6 (Arch Linux) fliegt der mir um die Ohren wenn ich was transkodieren möchte. Ich nehme an ausser mir nutzt noch keiner die 6'er Version, oder sind dir da schon Problem bekannt?


    Gruß, Lars

  • Mein Script läuft bei mir problemlos mit ffmpeg 6, Du scheinst eher ein grundsätzliches Problem mit ffmpeg zu haben.


    Wie schon mehrfach erwähnt brauche ich für Probleme mit dem Script das logfile.


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

  • Ok, sorry da hab ich gepennt :saint: logfile.txt


    Gruß, Lars

    Asus H170 PRO GAMING, Intel Core i7-6700T, 16GB RAM, GeForce GTX 1050 2GB, Samsung SSD 860 EVO 1TB SSD + 3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • Code
    [hevc_nvenc @ 0x56200fd3d300] B frames as references are not supported
    [hevc_nvenc @ 0x56200fd3d300] Provided device doesn't support required NVENC features

    Das sieht nach einer Unverträglichkeit mit Deiner 1050 aus, B-Frames werden erst ab TU116 unterstützt.


    Schau ich mir mal an.


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

  • Im Git eine neue Version mit Parameter -b_ref_mode


    Probiere mal -b_ref_mode 0


    Code
      -b_ref_mode        <int>        E..V....... Use B frames as references (from -1 to 2) (default -1)
         disabled        0            E..V....... B frames will not be used for reference
         each            1            E..V....... Each B frame will be used for reference
         middle          2            E..V....... Only (number of B frames)/2 will be used for reference


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

  • Nutzt Du den Original-Script?


    Der Parameter ist nicht angekommen:


    Code
    ffmpeg -nostdin -hide_banner -hwaccel cuvid -hwaccel_output_format cuda -c:v:0 h264_cuvid -i 00001.ts -map 0:v:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 -map 0:5 -c:v:0 hevc_nvenc -preset medium -profile:v:0 main -rc vbr -cq 36 -g 50 -c:1 aac -b:1 96k -c:2 aac -b:2 96k -c:3 aac -b:3 96k -c:4 copy -c:5 copy -mpegts_flags system_b -map_chapters -1 -mpegts_start_pid 6510 -metadata service_name=vdr-transcode_hevc_nvenc ../2023-06-04.06.30.8-1.rec/00001.ts


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

  • Was mir noch aufgefallen ist:


    Code
    vt.conf
    -h264 hevc -crf 15 -ac3 copy -b_ref_mode 0

    Wie legst Du die Datei an?


    Probiere mal:

    vt --conf -h264 hevc -crf 15 -ac3 copy -b_ref_mode 0


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

  • Moin moin,


    also ich nutze das orginal Skript aktualisiert letzten Freitag. Die Datei leg ich per "reccmds" an, in diesem Fall über h264:

    Code
    VDR-Transcode (h264 nvenc){
    updrec : x() { /usr/bin/touch $1/vt.conf; }; x
    h264 : x() { /bin/echo -h264 hevc -crf 15 -ac3 copy -b_ref_mode 0 > $1/vt.conf; }; x
    hevc : x() { /bin/echo -hevc hevc -crf 15 -ac3 copy -b_ref_mode 0 > $1/vt.conf; }; x
    inf : x() { /usr/local/bin/vt -i $1 --inf; }; x
    }

    Manuell per vt --conf wie du vorgeschlagen hast funktioniert es wunderbar. Ich seh da keinen Unterschied, ausser den fehlenden Zeilenumbruch wenns per reccmds kommt.


    Code
    [vdr@vdr 2023-06-04.06.30.8-0.rec]$ cat vt.conf.rdy 
    -h264 hevc -crf 15 -ac3 copy -b_ref_mode 0
    [vdr@vdr 2023-06-04.06.30.8-0.rec]$ cat manuell/vt.conf.rdy 
    -h264 hevc
    -crf 15
    -ac3 copy
    -b_ref_mode 0
    [vdr@vdr 2023-06-04.06.30.8-0.rec]$ 


    Prinzipiell war dein Ansatz bzgl. B-Frames aber n Volltreffer, es funktioniert wie gesagt wenn ich das ganze manuell anstoße.


    Leider hab ich jetzt noch festgestellt dass das abspielen der so archivierten Aufnahme nicht mehr sauber funktioniert -> Ton ok, aber kein Bild. Das ist aber kein Thema für hier, da muss ich nochmal in Richtung SHDDEV schauen...

    Asus H170 PRO GAMING, Intel Core i7-6700T, 16GB RAM, GeForce GTX 1050 2GB, Samsung SSD 860 EVO 1TB SSD + 3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • ausser den fehlenden Zeilenumbruch

    die sind aber wichtig.


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

  • Nebenbei:


    Code
     -crf <n>         # quality h264 default 21, < = better
     -cq <n>          # quality hevc default 28, < = better


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

  • Pack die Paramter, die immer gelten, doch nach /etc/vdr-transcode.conf


    Ansonsten:


    echo -e "-h264 hevc\n-crf 15\n-ac3 copy\n-b_ref_mode 0"


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

  • die sind aber wichtig.

    Ok verstehe, wundert mich zwar dass das auch ohne Zeilenumbruch bis vor kurzem noch funktioniert hat aber sei's drum. Jetzt geht das wieder :)

    Vielen Dank für deinen 1A Support!!


    Hab zum Abschluss nochmal eine Frage. Ich bekomme in der vt.err folgenden Fehler:


    Code
    /usr/bin/touch: '/.update' kann nicht berührt werden: Keine Berechtigung


    Offenbar ist $VIDEODIR hier nicht/falsch belegt!?

    Code
    if [ -e $VIDEODIR ]
    then
    /usr/bin/touch $VIDEODIR/.update
    fi






    Asus H170 PRO GAMING, Intel Core i7-6700T, 16GB RAM, GeForce GTX 1050 2GB, Samsung SSD 860 EVO 1TB SSD + 3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • Vielen Dank für deinen 1A Support!!

    Bitte sehr :)

    wundert mich zwar dass das auch ohne Zeilenumbruch bis vor kurzem noch funktioniert hat

    Ich bin sicher, dass immer nur der erste Parameter verarbeitet wurde.

    Offenbar ist $VIDEODIR hier nicht/falsch belegt!?

    Entweder das, oder fehlende Berechtigung, aber das kannst nur Du beantworten, Dein System ;)


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

  • Entweder das, oder fehlende Berechtigung, aber das kannst nur Du beantworten, Dein System ;)

    VIDEODIR über die vdr-transcode.conf definieren oder wie am besten?

    Asus H170 PRO GAMING, Intel Core i7-6700T, 16GB RAM, GeForce GTX 1050 2GB, Samsung SSD 860 EVO 1TB SSD + 3TB WD Red, Mystique SaTiX-S2 Dual, Archlinux -> VDR4Arch


    "Freunde sind Menschen, die dich mögen obwohl sie dich kennen"

  • Das muss vom System mit export VIDEODIR= gesetzt werden. Wie das geht ist Distributionsabhängig, z.B. /etc/env.d


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

  • cooljay032


    Kommst Du damit klar? Wenn nötig, könnte ich was einbauen.


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

Jetzt mitmachen!

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