vdr(1)
π vdr(1) β the Video Disk Recorder π
okay bestie, you found the manual page for vdr β the Video Disk Recorder. It's giving iconic DVR energy, and we're about to go through it together. π
β¨ NAME β¨
vdr - the Video Disk Recorder
β¨ SYNOPSIS β¨
vdr [options]
β¨ DESCRIPTION β¨
vdr is a whole digital Set-Top Box and Video Recorder in one. No cap. It can vibe with signals from satellites (DVB-S), cable (DVB-C), and terrestrial (DVB-T) sources.
You need at least one DVB card to run vdr. With it, you can watch live TV while recording one or more other broadcasts from the same transponder. You can also start watching a recorded programme before the live broadcast has ended β that's time shifting, bestie. To record from different transponders at the same time, you need two or more DVB cards. By default vdr can support up to eight DVB cards. The primary DVB card β the one your TV set is connected to β can either be a "full featured" card, which means it contains an MPEG decoder and provides audio and video signal outputs, or you can use some third party plugin that implements software decoding of the MPEG data and displays it via the system's graphics adapter.
vdr uses an On Screen Display (OSD) to show its menus. It can be controlled by the PC keyboard, the "Linux Infrared Remote Control" (LIRC), or any other means of remote control implemented by a third party plugin.
Remote access is possible via the "Simple Video Disk Recorder Protocol" (SVDRP), which can be accessed on port 6419, for instance by telnet.
β¨ OPTIONS β¨
-a cmd,--audio=cmdβ Send Dolby Digital audio to stdin of commandcmd.--cachedir=dirβ Save cache files indir(default is to save them in the video directory).--chartab=character_tableβ Set the character table to use for strings in the DVB data stream that don't begin with a character table indicator, but don't use the standard default character table (for instance ISO-8859-9).-c dir,--config=dirβ Read config files from directorydir(default is to read them from/etc/vdr).-d,--daemonβ Run in daemon mode (implies--no-kbd).-D num,--device=numβ Use only the given DVB device (num= 0, 1, 2...). There may be several-Doptions (by default all DVB devices will be used). If-D-is given, no DVB devices will be used at all, independent of any other-Doptions.--dirnames=path[,name[,enc]]β Set the maximum directory path length topath(default is the maximum value allowed on the system). Ifnameis also given, it defines the maximum directory name length (default is the maximum value allowed on the system). The optionalenccan be 0 or 1, and controls whether special characters in directory names are encoded as hex values (default: 0). Ifpathornameare left empty (as in,,1to only setenc), the defaults apply. The length of the video directory name and that of the actual recording directory is subtracted frompath, to make sure the directory path will never become too long.--edit=recβ Edit the given recording.recmust be the full path name of an existing recording. The program will return immediately after editing the recording.-E file,--epgfile=fileβ Write the EPG data into the givenfile(default isepg.datain the cache directory). Use-E-to disable this. Iffileis a directory, the fileepg.datawill be created in that directory.--filesize=sizeβ Limit video files tosizebytes (default is2000M). This option is only useful in conjunction with--edit, and must precede that option to have an effect.sizeis an integer number and may be followed by one of the lettersK,M,GorTto abbreviate Kilo-, Mega-, Giga- or Terabyte, respectively. The given value is silently limited to the program's internal minimum and maximum values.--genindex=recβ Generate the index file for the given recording.recmust be the full path name of an existing recording. The recording must be in TS format. If the recording already has an index file, it will be deleted before creating the new one. The program will return immediately after generating the index. Note that using this option while another instance of VDR is currently replaying the given recording, or if the recording has not been finished yet, may lead to unexpected results.-g,--grab=dirβ Write images from the SVDRP command GRAB into the given directorydir.dirmust be the full path name of an existing directory, without any.., double/or symlinks. By default, or if-g-is given, grabbing images to disk is disabled.-h,--helpβ Print a help message and exit.-i instance,--instance=instanceβ Useinstanceas the id of this VDR instance (default is 0). In an environment where several instances of VDR use the same video directory, this parameter can be set to a positive integer value that's unique for each instance, so that they won't interfere with each other in case they record exactly the same broadcast. The number given here will be part of the directory name in which the recordings will be stored.-l level,--log=levelβ Set logging tolevel. 0 = no logging, 1 = errors only, 2 = errors and info, 3 = errors, info and debug. The default logging level is 3. If logging should be done toLOG_LOCALninstead ofLOG_USER, add '.n' to LEVEL, as in 3.7 (n=0..7).-L dir,--lib=dirβ Search for plugins in directorydir(default is/usr/lib64/vdr). There can be several-Loptions with differentdirvalues. Each of them will apply to the-Poptions following it.--lirc[=path]β Use a LIRC remote control device. Ifpathis omitted,vdruses/var/run/lirc/lircd.--localedir=dirβ Search for locale files indir(default is./locale).-m,--muteβ Mute audio of the primary DVB device at startup.--no-kbdβ Don't use the keyboard as an input device.-p port,--port=portβ Useportfor SVDRP. A value of 0 turns off SVDRP. The default SVDRP port is6419. You need to edit the filesvdrphosts.confin order to enable access to the SVDRP port from hosts other than the localhosts. Note that this option only changes the TCP port used for SVDRP commands. The UDP port for discovering peer VDRs in the same network is always set to6419and can't be changed.-P options,--plugin=optionsβ Load a plugin, defined by the givenoptions. The first word inoptionsmust be the name of an existing vdr plugin, optionally followed by a blank separated list of command line options for that plugin. Ifoptionscontains any blanks, you need to enclose it in quotes, like for example
vdr -P "abc -a -b xyz"
which would load a plugin named abc, giving it the command line options -a -b xyz. If you want to load all available plugins (without any particular options) you can use
vdr -P "*"
(note the quotes around the asterisk to prevent wildcard expansion).
-r cmd,--record=cmdβ Callcmdbefore and after a recording. See the fileINSTALLfor more information.--resdir=dirβ Read resource files fromdir(default is to read them from the config directory).--showargs[=dir]β Read command line arguments fromdir(default is/etc/vdr/conf.d), display them to the console and exit.-s cmd,--shutdown=cmdβ Callcmdto shutdown the computer. See the fileINSTALLfor more information.--splitβ Split edited files at the editing marks. This option is only useful in conjunction with--edit, and must precede that option to have an effect.-t tty,--terminal=ttyβ Set the controlling terminal.-u user,--user=userβ Run as useruserin casevdrwas started as user'root'. Startingvdras'root'is necessary if the system time shall be set from the transponder data, but for security reasonsvdrcan switch to a lesser privileged user id during normal operation.usercan be a user name or a numerical id.--userdumpβ Allow coredumps if-uis given (only for debugging).--vfatβ For backwards compatibility (same as--dirnames= 250,40,1).-v dir,--video=dirβ Usediras video directory. The default is/var/lib/vdr/video.-V,--versionβ Print version information and exit.-w sec,--watchdog=secβ Activate the watchdog timer with a timeout ofsecseconds. A value of 0 (default) disables the watchdog.
If started without any options, vdr tries to read command line options from files named '*.conf' in the directory /etc/vdr/conf.d. Files are read in alphabetical order. See vdr(5) for details.
β¨ SIGNALS β¨
SIGINT,SIGTERMβ Program exits with status 0.SIGHUPβ Program exits with status 1. This can be used to force a reload, for example if an update has been installed.
β¨ EXIT STATUS β¨
- 0 β Successful program execution.
- 1 β An error has been detected which requires the DVB driver and
vdrto be reloaded. - 2 β An non-recoverable error has been detected,
vdrhas given up.
πΈ FILES πΈ
okay bestie, this is the part where we meet all the little files VDR keeps around like they're her emotional support trinkets π every one of these matters, so let's go one by one, no skipping, no cap.
channels.confβ the channel configuration. literally where your channels live. πΊtimers.confβ the timer configuration. all your scheduled recordings chill here. β°setup.confβ user definable setup. this is your customization zone, bestie, go feral. πcommands.confβ user definable commands, and these ones get executed straight from the Commands menu. π«Άsvdrphosts.confβ the SVDRP host configuration. it's the bouncer at the club: it defines which hosts or networks are given access to the SVDRP port. πmarksβ contains the editing marks defined for a recording. β¨infoβ contains a description of the recording. the little lore drop. πresumeβ contains the index into the recording where the last replay session left off. so you can pick up exactly where you paused, iconically. β―οΈindexβ contains the file number, offset and type of each frame of the recording. the receipts for every single frame. π₯remote.confβ contains the key assignments for the remote control. yes, you can rearrange your buttons, main character energy. πkeymacros.confβ contains user defined remote control key macros. one press, whole sequence. it's giving efficiency. π00001.ts...65535.tsβ the actual data files of a recording. this is the real content, the whole reason we're here. πepg.dataβ contains all current EPG data. and listen, it's not just sitting there being cute: it can be used for external processing, and it will also be read at program startup so you have the full EPG data available immediately. instant gratification, we love her. πdonerecs.dataβ contains the names of recordings that have been done by pattern timers with'@'as the first character of the pattern. here's the tea: file names are appended to this file after a recording has finished, and the entire file is read upon startup of VDR. π.updateβ this file (in the video directory) will be touched whenever VDR makes changes to the content of the directory. its last modification time will be used to trigger an update of the list of recordings in any VDRs that use the same video directory. and if it doesn't already exist? don't worry, the file will be created. π¦
π SEE ALSO π
go read those too, bestie, they're part of the ecosystem fr fr.
π«Ά AUTHOR π«Ά
Written by Klaus Schmidinger, with contributions from many others. See the file CONTRIBUTORS in the vdr source distribution. it takes a village, and the village ate. π
π REPORTING BUGS π
Report bugs to <vdr-bugs@tvdr.de>. please be nice and give them the deets, not just "it's broken" β that's not helpful and you know it.
β COPYRIGHT β
Copyright Β© 2026 Klaus Schmidinger.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
no cap, that NO is doing a lot of heavy lifting β zero warranty, none, nada. π
and that's the whole page, bestie! this was vdr(1), version 2.8.1, dated 21 Mar 2026. go forth and record things. slay π
β¨
π¦ where this page comes from
- fedora 44: vdr 2.8.1-1.fc44 Β· GPL-2.0-or-later
- Copyright (C) 2026 Klaus Schmidinger
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms