vdr-transcode - swiss knife for transcoding

  • So schaut es aus ...


    vdr-User-# 755 to_h264 chk_r vdr-transcode

  • So, hier nun ein Log; die tausend Wiederholungen frame=... habe ich mal raus gelöscht. Eingegeben hatte ich

    vt -i Alle_Nadeln.mp4 -odir _Alle_Nadeln_an_der_Tanne

    (absichtlich ein anderes Ziel als in der conf Datei (siehe unten) in der Hoffnung man sieht was Auffälliges)






  • -odir wird bei der derzeitigen Version bei Dateieingabe nicht verarbeitet. Bitte etwas Geduld.


    vdr-User-# 755 to_h264 chk_r vdr-transcode

  • purzel

    Wenn Du Bock hast, kannst Du mal diesen Patch Testen

    sonst warten, bis ich das ausgetestet habe, dann kommt die neue Version.


    vdr-User-# 755 to_h264 chk_r vdr-transcode

  • Wenn Du Bock hast, kannst Du mal diesen Patch Testen

    Vielen Dank erstmal. Ich bin jedoch nicht sicher, ob die Version die man derzeit 'runterladen kann diejenige ist auf die der Patch passt. Jedenfalls ging's schief:

    Code
    1. patching file vdr-transcode
    2. Hunk #1 FAILED at 834.
    3. Hunk #2 FAILED at 2481.
    4. 2 out of 2 hunks FAILED -- saving rejects to file vdr-transcode.rej

    Da es nicht viel Code ist habe ich gedacht ich ändere das eben "zu Fuß". Die Zeilennummern passten nicht, aber ich habe die Stellen gefunden. Anscheinend geht's jetzt: im angegebenen odir wird ein Unterverzeichnis mit Namen der mp4 Datei erzeugt - ist doch super, dankeschön!

    (Ich kann nur noch nicht sagen wie reproduzierbar es ist, ich habe nur einen quick'n'dirty Test gemacht)

  • Ich hatte befürchtet, dass der patch nicht mehr passt, aber Du hast es ja offens. hinbekommen.


    vdr-User-# 755 to_h264 chk_r vdr-transcode

  • Ich hatte befürchtet, dass der patch nicht mehr passt, aber Du hast es ja offens. hinbekommen.

    Ja, sieht sehr gut aus

    (Ich kann nur noch nicht sagen wie reproduzierbar es ist, ich habe nur einen quick'n'dirty Test gemacht)

    Ich habe ihn über Nacht rechnen lassen und stichprobenartig geprüft: sieht super aus.

    Zwei von drei bereits genannten Fehlermeldungen sind ja im Grunde keine "echten" Fehler (Folgendes erscheint u.a. auf der Konsole):

    Das mit dem genindex und nice kommt logischerweise daher, dass auf meinem Arbeitsplatzrechenr kein VDR ist.

    Die Meldung "Keine Berechtigung" ist, weil ich es nicht als root laufen lasse.

    Einzig die Syntax Fehler ... hm, da könnte man mal mit Klammern probieren. Die betreffenden Zeilen sind

    Code
    1. 2304: si=$(($li/8/$fpso))
    2. 2655: prz=$(($newsize*100/$oldsize)) # in meiner Version Zeile 2657

    Ich probiere gerade mal mit Klammern um die jeweils erste Division bzw. Multiplikation, also


    Code
    1. 2304: si=$((($li/8)/$fpso))
    2. 2655: prz=$((($newsize*100)/$oldsize)) # in meiner Version Zeile 2657


    Mal sehen was passiert...

  • Das sind Folgefehler, weil der index nicht generiert wird. Ich müsste eine Konfiguration "ohne vdr" einbauen.


    vdr-User-# 755 to_h264 chk_r vdr-transcode

  • Mal sehen was passiert...

    "natürlich" ging's schief. Ich war in Eile, in Eile bin ich unkonzentriert, unkonzentriert macht man Fehler :-(

    Wenn die Variablen $li und $newsize leer sind geht's auf jeden Fall schief, da helfen auch keine Klammern.

    Das sind Folgefehler, weil der index nicht generiert wird. Ich müsste eine Konfiguration "ohne vdr" einbauen.

    Das erklärt's natürlich - aber ist die Option überhaupt nötig? Mehr zufällig hatte ich nämlich ab ca. Zeile 2280 gefunden, dass anscheinend schon geprüft wird ob es vdr auf dem System gibt. Allerdings scheint das nicht zu funktionieren. $VDRDIR ist ja z.B. leer, weil es nie gesetzt wird. Vielleicht so:

    Code
    1. vdr=$(which vdr)
    2. if [ -x "$vdr" ] ; then
    3. nice $vdr --genindex=$dest
    4. ... usw.
    5. else echo 'VDR not found'
    6. fi

  • Zwei Änderungen


    vdr-User-# 755 to_h264 chk_r vdr-transcode

  • Das funktioniert, vielen Dank.

    Es ist allerdings an der Stelle fast egal, ob man auf Existenz (-e) oder Ausführbarkeit (-x) des vdr executable prüft, denn which findet ohnehin nur ausführbare Dateien (Binaries und Scripte). Es funktioniert beides.

    Entscheidend sind die Häkchen ("), da habe ich auch lange dran rum geknabbert.

    $VDRDIR bleibt aber weiterhin leer, somit ist

    Code
    1. if [ -e $VDRDIR/vdr ]
    2. then
    3. vdr=$VDRDIR/vdr
    4. fi

    eigentlich überflüssig ;-)


    Nichts für Ungut,

    Purzel

  • Bei mir ist $VDRDIR gesetzt.


    vdr-User-# 755 to_h264 chk_r vdr-transcode

  • Ich nutze keine VDR-Distri, daher kann ich Dir das nicht beantworten.


    vdr-User-# 755 to_h264 chk_r vdr-transcode

  • Neue Version

    Angekündigte Änderungen sind eingeflossen

    Bugfixes


    Ausführlicher Changelog folgt noch.


    vdr-User-# 755 to_h264 chk_r vdr-transcode

  • Changelog


    • Einbau von opus als Audio-Encoder, Tests mit 64kbit für Stereo klingen vielversprechend. Natürlich nicht für vdr geeignet, nur mkv, (mp4)
    • Unterstützung HE-AAC, damit erreiche ich ähnliche Kompression wie opus und es wird von vdr unterstützt.
    • --selb # select best audio track
      Auswahl der Audiospur mit größter Bitrate
    • -odir und -mark sollte jetzt gleichzeitig funktionieren
    • h264_omx Encoder für Raspis
    • Bugfixes


    vdr-User-# 755 to_h264 chk_r vdr-transcode

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

  • Ich habe den Code mal ins Github übertragen:


    https://github.com/jsffm/vdr-transcode


    Da das für mich absolutes Neuland ist, bin ich für Anregungen dankbar.


    vdr-User-# 755 to_h264 chk_r vdr-transcode