Project

General

Profile

Options

This page lists the various vdr-convert options and describes their usage. The only required option is -i. Codec options require that ffmpeg has been built with the relevant options and libraries.

-i | --input         (Required) The recording directory (e.g. /TV/Olympics/2012_London/Opening_Ceremony/2012-07-27.20.58.99.99.rec) 

--debug              Debug mode. Shortened test durations and intermediate files not deleted. 
                     Without the -f flag, creates multiple file formats for compatibility testing

--crop-top n         Crop n lines from top of picture (to fix broadcaster errors)

-a | --acodec        Specify audio codec. libfdk_aac specifies the Fraunhofer aac codec, or you can use libmp3lame for mp3 streams.
                     [default is ffmpeg's native aac which is now (2016+) reasonably good]

-v | --vcodec        Specify 265 for H265 (HEVC), 264 for H264 [default]. See notes about Conversion before use
                     Use -m to retain/copy H262 (mpeg2)

-c | --combine       Combine all files before transcoding. Usually safe and recommended, but can (very rarely)
                     result in sync issues on second and third files, and issues with broken recordings. Creates seamless output.
                     [default not enabled]

-d | --delete        Delete original files after successful conversion (keep originals on failure). The script tests for
                     ffmpeg errors, duration, sensible file size, subtitle errors and ability for VDR to index before deleting.
                     [default not enabled]

-e | --extras "..."  use to apply arbitrary ffmpeg option(s). Typical example "-tune film" 
                     (useful for reasonable quality films). See https://trac.ffmpeg.org/wiki/Encode/H.264 (and H.265)

-f | --format        Specify the file format (AV container) to be used for the output. Useful in single-use/batch modes only
                     formats tested: A/V: avi mkv mp4 mov m2ts ts, Audio only: aac m4a mkv mp4 mp3 ts. Others may work, YMMV
                     Using avi or mp4 omits any DVB subtitles. [default ts]

-j | --just-subs     Use to create just the subs.ts file for manually muxing subtitles into a broken recording previously
                     transcoded without subs, typically caused by DTS timestamp issues. Forces -c also

-k | --keep          Keep mode. Keep the transcoded files as VDR2 compatible file/directory format with higher quality, 
                     and convert old VDR 1.x formats to new format with metadata added to info file. [default not enabled]

-l | --life n        In -k "keep" mode, do not transcode recordings with lifetimes of less than this many days [default 8]
                     unless --podcast switch set and recording is a podcast.

-m | --maintain      Stream copy regardless of source codec, don't transcode. Quick and lossless!  May be used to re-create VDR1.x 
                     recordings in VDR2.x (.ts) format, recovering compatible EN300743 DVB subtitles and AC3/DTS streams 
                     [default not enabled]

-n | --nosubs        Do not attempt to copy or extract subtitles. By default vdr-convert will detect the size of the subtitles 
                     stream and will not attempt to copy them if too small relative to the recording duration 
                     (i.e. probably broken, or just a broadcaster empty/placeholder stream).
                     This option switches off any subtitle stream analysis (useful to prevent ffmpeg exit on broken streams)

-q | --quality n     Use CRF value of n for video rather than defaults. See discussion on Conversion for defaults
                     Also note that order of parsing is relevant - put this option after -k if using both

-y | --yadif n       Apply yadif deinterlacer (y=0 is normal, y=1 creates frame per field, i.e 2 x rate)
                     Without any deinterlacing, output may be larger and will require the player to implement
                     it's own deinterlacing, however TV/player is likely to deinterlace better at it's display resolution.
                     [default not enabled]

-t | --tsonly        Only convert VDR2 (.ts) files, ignore VDR1.x [default not enabled]

--ftp                Convert and upload to ftp after conversion [default not enabled]

-r | --redo          Skip conversion and re-upload the converted file (in case NCFTP has exited unexpectedly).
                     NCFTP will normally resume, and skip the upload if the same file is already there
                    (NCFTP auto-resume found to be less than 100% reliable in testing) [default not enabled]

--podcast <path>     Activate Podcast mode, specifying an existing writable path to archive converted podcast files
                     See the podcast mode page for details

-g | --genrefile <path/file> 
                     Specify a genre file that converts VDR's "G" tag in the info file containing an EN 300 468
                     (ETSI standard) numeric genre to a text string for file tagging. Example file provided in the repository

--ftp-path <path>    specify FTP path to upload to

-s | --server        specify ftp server, username, password
-u | --user 
-p | --pass