VDR Aufnahme mit ffmpeg in h264 oder hevc umwandeln. Der Script ist dafür gedacht, einzelne oder mehrere Aufnahmen so nach h264 zu wandeln, dass sie kompatibel zum vdr bleiben. Platzersparnis: bei Aufzeichnungen von ÖRs mit großen Bitraten Faktor 3 und mehr (mpeg2 -> h264). Export und Import möglich. Bearbeitung von Video-Dateien ist ebenfalls möglich.
Aufgerufen wird der Script auf der cli im Aufnahmeverzeichnis der jeweiligen Aufnahme, genauer gesagt im .rec Verzeichnis.
Sollen eine größere Menge von Aufnahmen gewandelt werden siehe Automation.
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:
gentoo vdr-2.4.5 # vt -h
vt parameter
-h # this
Input
-i <file>|vdr|dvd[:<track>]|<http> # default vdr
-dvd <path>
-BD <path> # AVCHD
-tr <track> # DVD or AVCHD track
-va <seconds> # add video at end, only ts
Output
-o vdr|mp4|mkv|ts|mp3 # default vdr
-t <n> # length in seconds
-ss <position>
-to <position>
--streams
--inf
--stat # status
--diag
Video
-h264 copy|h264|hevc|vp8|vp9
-hevc copy|h264|hevc
-mpeg2 copy|h264|hevc|vp8|vp9
-mpeg4 copy|h264|hevc
-vc1 copy|h264|hevc
-vp8 copy|h264|hevc
-vp9 copy|h264|hevc
-vc|-vcodec <codec> # overwrites -h264|-hevc|-mpeg2
-r <n> # fps
-b <n> # constant bitrate for mp3, h264_omx
-vf <filter> # video filter
-maxr <fps> # max bitrate
-crop <w:h>
--LB # -vf crop=iw:ih/4*3 -aspect 16:9
-zoom <factor> # crop=iw/<factor>:ih/<factor>
-scale <w:h>|hd720|hd1080|qhd
-aspect <aspect> # 16:9|4:3
--nohw # no hardwaredecoding
Audio
-ac3 copy|eac3|aac|aac_he|aac_he_v2|opus
-ac3_stereo aac|aac_he
-eac3 copy|aac|aac_he|aac_he_v2|opus
-dts copy|ac3|eac3|aac|opus
-mp2 copy|aac|aac_he|aac_he_v2|opus
-mp3 copy|aac
-sel <n-n,n> # audio, subtitle stream select
--selb # select best audio track
-vol <factor>|<stream>=<factor> # Volume
-lang <str>=<lang>[,<str>=<lang>]
Automation
--as & # server start, search pathes in /etc/vdr-transcode-s.conf
--ak # server stop
--conf <parameter> # mark for processing
--alog # process log
--aq # process queue
--ac # check processed
Configuration /etc/vdr-transcode.conf
-o vdr|mp4|mkv # default vdr
-aac_stereo_br|-aac_br <br> # default 96k
-aac_6ch_br <br> # default 256k
-aac_vbr <1-5>
-opus_br <kbit> # 2ch br in kbit default 64
-g <n> # goplength default 50
-crf <n> # quality h264 default 21, < = better
-quality <n> # vaapi h264 quality
-cq <n> # quality hevc default 28, < = better
-gq <n> # quality vp8 default 30, < = better
-h264enc libx264|h264_nvenc|h264_vaapi|h264_omx
-h264_level <level> # default 4.1
-h264_br # bitrate for h264_omx, -b works too
-hevcenc hevc_nvenc|hevc_vaapi|libx265|libkvazaar
-hevc_level <level>
-aaclib aac|libfdk_aac|libfaac # default aac
-hwaccel cuvid|vaapi|vdpau
-vdr <path_to_vdr>
-ffmpeg <path_to_ffmpeg>
-ffprobe <path_to_ffprobe>
-mark <mark> # mark at the end of transcoded recordings
-odir <path> # output directory
Display More
Das sieht erst mal kompliziert aus, ist aber ganz einfach (Eingabe für vdr-Aufnahmen im Aufnahmeverzeichnis):
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 sinnvoll, 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
Debiannutzer finden hier eine passende ffmpeg-Version, die auch libfdk_aac enthält.
Probleme:
Bitte unbedingt die Datei logfile mit posten.
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.
Aufzeichnungen markieren über Menü:
reccmds.conf