vdr-transcode - swiss knife for transcoding

  • Modularer Aufbau


    4 Eingabe-Module vdr, Video-Datei (z.B. mkv mp4 avi), dvd, AVCHD

    1 zentrales Verarbeitung Modul

    2 Ausgabe-Module vdr, Video-Datei mkv mp4


    Folgende Parameter sind implementiert:



    Das sieht erst mal kompliziert aus, ist aber ganz einfach:


    Eine vdr-Aufzeichnung nach mp4 exportieren: (Standard-Eingabe ist vdr)


    vt -o mp4


    Ein mp4 oder mkv nach vdr konvertieren: (Standard-Ausgabe ist vdr)


    vt -i <datei>


    Aufzeichnung in mpeg2 nach h264 konvertieren um Platz zu sparen (mpeg2 -> h264 ist Standard)


    vt kein Parameter notwendig.


    Aufzeichnung nach hevc konvertieren um Platz zu sparen, derzeit nur mit NVIDIA-Karte mit encoder oder vaapi möglich, per CPU sehr zeitaufwändig. Sinnvoll bei HD.


    vt -h264 hevc


    Standard Vorgaben können in einer Datei /etc/vdr-transcode.conf eingetragen werden.


    Installation:


    vdr-transcode.gz herunterladen und in /usr/local/bin speichern.

    entpacken mit gzip -d

    vdr-transcode.conf.gz herunterladen, in /etc speichern und entpacken.


    Für die verkürzte Eingabe muss ein symb. link angelegt werden:


    ln -s vdr-transcode vt


    Automation:


    Aufzeichnungen werden durch eine Datei vt.conf gekennzeichnet, dort können Parameter zur Bearbeitung enthalten sein. Parameter können mit vt --conf <parameter> angelegt werden.

    Der Prozess wird mit vt --as & gestartet und kann mit vt --ak beendet werden.


    Suchpfade werden in /etc/vdr-transcode-s.conf angelegt.



    Stand 2.5.

    Files


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

    The post was edited 42 times, last by jsffm ().

  • Das Script ist eine Alternative zum to_h264. Kann im Moment noch nicht so viel, auf der anderen Seite aber mehr durch modularen Aufbau. Als ich begann das Script to_h264 zu schreiben, hatte ich kaum eine Vorstellung, wo die Reise hingehen könnte, noch hatte ich Erfahrung mit bash. Das sind naturgemäß schlechte Vorraussetzungen für einen modularen Aufbau. Es ist nicht kompatibel zu seinem Vorgänger, was die Ansteuerung betrifft.

    Das Script habe ich an einem Tag (Sa) runtergeschrieben und an den folgenden Tagen getestet, korrigiert und verbessert. Bei dem frühen Status sollte man transkodierte Videos nicht gleich löschen. Die dvd-Eingabe ist noch nicht fertig, aber einsetzbar.


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

    The post was edited 3 times, last by jsffm ().

  • Parameter aaclib ergänzt,

    h264enc=libx264 jetzt Standard (.conf)


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

  • Beispiele ergänzt.


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

  • jsffm


    Hast Du schonmal einen mp4 Download aus einer Mediathek in VDR gewandelt?


    Regards

    fnu

    HowTo: APT pinning

  • Hab ich


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

  • jsffm Und die ruckeln bei Dir nicht die umgewandelten Aufnahmen?

    HowTo: APT pinning

  • Kannst Du mal das Protokoll zeigen?


    Ich hab gerade in einen konvertierten Download von Arte reingeschaut, da ruckelt nix,


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

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

  • Neue Version.


    -crop <w:h>

    -aspect <aspect> # 16:9|4:3


    z.B. LB -> 16:9


    Code
    1. -crop iw:ih/4*3
    2. -aspect 16:9


    Das Script nutzt mediainfo, ist das nicht installiert, wird jetzt versucht, die Information mit ffmpeg zu bekommen.


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

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

  • Framerate


    Weicht die Framerate von 25 oder 50 ab, kann das konvertiert werden mit z.B. -h264 h264 -r 25 mit -h264 h264 erzwinge ich Reencodierung.

    Im Moment wird bei Konvertierung <file> -> vdr keine info-Datei geschrieben. Ich werde noch einbauen, dass eine Minimal info mit F <fps> geschrieben wird, evtl. auch mehr.


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

  • Kannst Du mal das Protokoll zeigen?

    Gestartet mit "vdr-transcode -i <file.mp4>". Sollte ja eigentlich 720p sein, sieht aber eher aus wie "schlecht deinterlace'tes" 576i und ruckelt ... Ton ist gut, witzigerweise.

    Files

    HowTo: APT pinning

  • Und wenn Du die Datei mit nem anderen Player abspielst, ist die ok? Seltsam, ffmpeg macht da ja nix dran ausser demuxen und remuxen nach ts.

    Welche Version von ffmpeg hast Du denn?


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

  • Ja, die orignale Datei funktioniert perfekt mit anderen Playern, VLC, und extra nomm'l getestet mit iTunes ...


    "Um-containern" muss ich ja nur für VDR ...


    ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers

    HowTo: APT pinning

  • ffmpeg version 4.2.1


    Wenn Du magst, kannst Du mir die Datei mal auf meinen ftp-server schieben.


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

  • Zum Generieren von index wird noch folgende Anweisung, am Besten in der .conf, benötigt:


    -vdr <path_to_vdr>


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

    The post was edited 2 times, last by jsffm ().

  • Neue Version


    Bei <file> -> vdr wird jetzt eine info-Datei angelegt.


    -vdr <path_to_vdr> nicht mehr nötig, wenn vdr im Pfad ist.


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

  • Gibt es eigentlich noch Interesse am Lesen von alten .vdr Aufnahmen?


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

  • Ich habe das mit vaapi noch nicht hinbekommen, womöglich falsche HW. Wenn Du mir ein funktionierendes Beispiel für vaapi zeigst, baue ich das ein.


    vdr-User-# 755 to_h264 chk_r vdr-transcoding

  • Ich habe ein Beispiel von dem modifizierten VDR-live:

    ffmpeg -loglevel warning -f mpegts -analyzeduration 1.2M -probesize 5M -hwaccel vaapi -hwaccel_output_format vaapi -i <input> -map 0:v -map 0:a:0 -vf 'deinterlace_vaapi=rate=field:auto=1,scale_vaapi=w=1280:h=720' -c:v h264_vaapi -preset slow -qmin 18 -qmax 30 -g 25 -r 25 -c:a aac -ac 2 -b:v 2M -maxrate 2M -bufsize 1.8M

    So läuft es bei mir für Live-TV Streaming.

    ffmpeg mit HW encoding support läuft bei mir auch noch nicht so lange.

    Cine S2 V6.5 + DuoFlex V4 Apollo-Lake Celeron (Asrock J3355M), ATRIC Einschalter, MLD 5.4 testing