Workflow¶
The script implements the workflows below.
The majority of development and testing was done to recover VDR1.x files with all their various streams intact, converting VDR2 .ts recordings being very much simpler. Because VDR records the video/audio/subs streams into files without the program info (technically the MPEG PAT & PMT tables) to tie streams together, DVB subtitles and proper stream synchronisation were a particular challenge, leading to all the required steps outlined below. It was found that AD streams, due to their intermittent nature, needed to be stream copied (as MP2) to allow the audio-described recordings to play smoothly in all players.
Optional (--combine | -c option)¶
Concatenate input files (.ts or .vdr) -> recording.orig*
VDR 1.x recordings¶
001.vdr --(genindex*)--> 001.vdr[AV + ETSI EN300743 subs] --(ISO13818ts*)--> 001.ts...> >...001.ts-- (ffmpeg*) --> subs.ts ----(subs only)----(ffmpeg compress)--> intermediate-file-1.ts (H264/H265/AAC/MP2/AC3/subs) |------(ffmpeg*) --> main.ts --(audio(s)/video(s))---| repeat for files 002.vdr... etc
VDR2.x recordings¶
00001.ts ---(ffmpeg compress) ---> intermediate-file-1.ts (H264/H265/AAC/MP2/subs) 00002.ts ---(ffmpeg compress) ---> intermediate-file-2.ts ...
ALL recordings (for keeping (-k option))¶
intermediate-file-1.ts|intermediate-file-2.ts... --(ffmpeg concat+fix stream order+add metadata tags*)--> 00001.ts 00001.ts --(vdr --genindex*)---> index Optionally replace originals if all size, duration, indexing and error tests passed
ALL recordings (Single-use modes)¶
intermediate-file-1.ts|intermediate-file-2.ts... --(ffmpeg concat+fix stream orderr+add metadata tags*) --> TITLE-SUBTITLE-EP-DATE-TIME-DAY-SD|HD|AUDIO.ts|m2ts|mkv|mov|avi|mp4|m4a|aac|mp3 | [--podcast] ---> /<podcast path>/TITLE/TITLE-SUBTITLE-EP-DATE-TIME-DAY.m4a|mp3|mkv | [--ftp] ---> Internet ftp server by FTP
Processes marked* are fast stream copies/reformats, typ < 15 sec / Gb, and lossless