Project

General

Profile

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