-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the vdr-transcode wiki!
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 [-v|-a] # 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 -ia <file>|<http> # second audio source -ic # copy chapters from an other file Output -o vdr|mp4|mkv|ts|mp3 # default vdr -t <n> # length in seconds -ss <position> -to <position> --streams --inf --stat # status --diag Video -vc|-vcodec <codec> # Video Codec copy|h264|hevc|vp8|vp9|mpeg2 -r <n> # fps, only when needed -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 -vb <n> # constant bitrate for h264_omx Audio -ac|-acodec [<str>=]<codec> # Audio Codec copy|eac3|aac|aac_he|aac_he_v2|opus -sel [<file>:]<n[-n][,n]> # audio, subtitle stream select --selb # select best audio track -vol <factor>|<stream>=<factor> # Volume -ab <n> # constant bitrate for mp3, aac_stereo -lang <str>=<lang>[,<str>=<lang>] -stro <str>=<ostr>[,<str>=<ostr>] # Streamorder Sample: -stro 1=2,2=1 this should be a seperate step -disp =default|0[,...] # -disposition -ch 2 # 5.1 -> stereo -skip # default 10, inf() and analyze(): skip first seconds 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 --lsdel # deletes processed records, marked to delete, use on your own risk Configuration /etc/vdr-transcode.conf video configuration -h264 copy|h264|hevc|vp8|vp9|mpeg2 -hevc copy|h264|hevc|vp8|vp9|mpeg2 -mpeg2 copy|h264|hevc|vp8|vp9|mpeg2 -mpeg4 copy|h264|hevc|vp8|vp9|mpeg2 -vc1 copy|h264|hevc|vp8|vp9|mpeg2 -vp8 copy|h264|hevc|vp8|vp9|mpeg2 -vp9 copy|h264|hevc|vp8|vp9|mpeg2 -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> -hevc_profile <profile> # main|main10 -pix_fmt <pix_fmt> # e.g. yuv420p -hwaccel cuvid|vaapi|vdpau audio configuration -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 -aac_stereo_br|-aac_br <br> # default 96k -aac_6ch_br <br> # default 256k -aac_vbr <1-5> # experimental -opus_br <kbit> # 2ch br in kbit default 64 -aaclib aac|libfdk_aac|libfaac # default aac other -o vdr|mp4|mkv|ts|mp3 # default vdr -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 -probesize <n> # probesize -server_pid <pid_file> # default /var/run/vt_server.pid # for run as user use e.g. ~/vt_server.pid # deprecated, use -pid_dir -pid_dir <pid_path> # default /var/run # for run as user use e.g. ~ -server_log <log_file> # default /var/log/vdr-transcode.log # for run as user use e.g. ~/vdr-transcode.log
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
oder vt -vc hevc
Standard Vorgaben können in einer Datei /etc/vdr-transcode.conf
eingetragen werden.
vdr-transcode.gz herunterladen und in /usr/local/bin
speichern.
Wenn notwendig, Endung .gz, 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
Aufzeichnungen werden durch eine Datei vt.conf gekennzeichnet, dort können Parameter zur Bearbeitung enthalten sein. Parameter können mit vt --conf 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
vdr-transcode { touch : x() { /usr/bin/touch $1/vt.conf; }; x hevc : x() { /bin/echo -vc hevc > $1/vt.conf; }; x inf : x() { /usr/local/bin/vt -i $1 --inf; }; x }
https://www.vdr-portal.de/forum/index.php?thread/133225-vdr-transcode-swiss-knife-for-transcoding/