Skip to content

SVDRP Help

AutoMirror Bot edited this page Sep 23, 2024 · 3 revisions

SVDRP commands

AUDI [ <number> ]

Lists the currently available audio tracks in the format 'number language description'. The number indicates the track type (1..32 = MP2, 33..48 = Dolby). The currently selected track has its description prefixed with '*'. If a number is given (which must be one of the track numbers listed) audio is switched to that track. Note that the list may not be fully available or current immediately after switching the channel or starting a replay.

CHAN [ + | - | <number> | <name> | <id> ]

Switch channel up, down or to the given channel number, name or id. Without option (or after successfully switching to the channel) it returns the current channel number and name.

CLRE [ <number> | <name> | <id> ]

Clear the EPG list of the given channel number, name or id. Without option it clears the entire EPG list. After a CLRE command, no further EPG processing is done for 10 seconds, so that data sent with subsequent PUTE commands doesn't interfere with data from the broadcasters.

CONN name:<name> port:<port> vdrversion:<vdrversion> apiversion:<apiversion> timeout:<timeout>

Used by peer-to-peer connections between VDRs to tell the other VDR to establish a connection to this VDR. The name is the SVDRP host name of this VDR, which may differ from its DNS name.

DELC <number> | <id>

Delete the channel with the given number or channel id.

DELR <id>

Delete the recording with the given id. Before a recording can be deleted, an LSTR command should have been executed in order to retrieve the recording ids. The ids are unique and don't change while this instance of VDR is running. CAUTION: THERE IS NO CONFIRMATION PROMPT WHEN DELETING A RECORDING - BE SURE YOU KNOW WHAT YOU ARE DOING!

DELT <id>

Delete the timer with the given id. If this timer is currently recording, the recording will be stopped without any warning.

EDIT <id>

Edit the recording with the given id. Before a recording can be edited, an LSTR command should have been executed in order to retrieve the recording ids.

GRAB <filename> [ <quality> [ <sizex> <sizey> ] ]

Grab the current frame and save it to the given file. Images can be stored as JPEG or PNM, depending on the given file name extension. The quality of the grabbed image can be in the range 0..100, where 100 (the default) means "best" (only applies to JPEG). The size parameters define the size of the resulting image (default is full screen). If the file name is just an extension (.jpg, .jpeg or .pnm) the image data will be sent to the SVDRP connection encoded in base64. The same happens if '-' (a minus sign) is given as file name, in which case the image format defaults to JPEG.

HELP [ <topic> ]

The HELP command gives help info.

HITK [ <key> ... ]

Hit the given remote control key. Without option a list of all valid key names is given. If more than one key is given, they are entered into the remote control queue in the given sequence. There can be up to 31 keys.

LSTC [ :ids ] [ :groups | <number> | <name> | <id> ]

List channels. Without option, all channels are listed. Otherwise only the given channel is listed. If a name is given, all channels containing the given string as part of their name are listed. If ':groups' is given, all channels are listed including group separators. The channel number of a group separator is always 0. With ':ids' the channel ids are listed following the channel numbers. The special number 0 can be given to list the current channel.

LSTD

List all available devices. Each device is listed with its name and whether it is currently the primary device ('P') or it implements a decoder ('D') and can be used as output device.

LSTE [ <channel> ] [ now | next | at <time> ]

List EPG data. Without any parameters all data of all channels is listed. If a channel is given (either by number or by channel ID), only data for that channel is listed. 'now', 'next', or 'at <time>' restricts the returned data to present events, following events, or events at the given time (which must be in time_t form).

LSTR [ <id> [ path ] ]

List recordings. Without option, all recordings are listed. Otherwise the information for the given recording is listed. If a recording id and the keyword 'path' is given, the actual file name of that recording's directory is listed. Note that the ids of the recordings are not necessarily given in numeric order.

LSTT [ <id> ] [ id ]

List timers. Without option, all timers are listed. Otherwise only the timer with the given id is listed. If the keyword 'id' is given, the channels will be listed with their unique channel ids instead of their numbers. This command lists only the timers that are defined locally on this VDR, not any remote timers from other VDRs.

MESG <message>

Displays the given message on the OSD. The message will be queued and displayed whenever this is suitable.

MODC <number> <settings>

Modify a channel. Settings must be in the same format as returned by the LSTC command.

MODT <id> on | off | <settings>

Modify a timer. Settings must be in the same format as returned by the LSTT command. The special keywords 'on' and 'off' can be used to easily activate or deactivate a timer.

MOVC <number> <to>

Move a channel to a new position.

MOVR <id> <new name>

Move the recording with the given id. Before a recording can be moved, an LSTR command should have been executed in order to retrieve the recording ids. The ids don't change during subsequent MOVR commands.

NEWC <settings>

Create a new channel. Settings must be in the same format as returned by the LSTC command.

NEWT <settings>

Create a new timer. Settings must be in the same format as returned by the LSTT command.

NEXT [ abs | rel ]

Show the next timer event. If no option is given, the output will be in human readable form. With option 'abs' the absolute time of the next event will be given as the number of seconds since the epoch (time_t format), while with option 'rel' the relative time will be given as the number of seconds from now until the event. If the absolute time given is smaller than the current time, or if the relative time is less than zero, this means that the timer is currently recording and has started at the given time. The first value in the resulting line is the id of the timer.

PING

Used by peer-to-peer connections between VDRs to keep the connection from timing out. May be used at any time and simply returns a line of the form '<hostname> is alive'.

PLAY <id> [ begin | <position> ]

Play the recording with the given id. Before a recording can be played, an LSTR command should have been executed in order to retrieve the recording ids. The keyword 'begin' plays the recording from its very beginning, while a <position> (given as hh:mm:ss[.ff] or framenumber) starts at that position. If neither 'begin' nor a <position> are given, replay is resumed at the position where any previous replay was stopped, or from the beginning by default. To control or stop the replay session, use the usual remote control keypresses via the HITK command.

PLUG <name> [ help | main ] [ <command> [ <options> ]]

Send a command to a plugin. The PLUG command without any parameters lists all plugins. If only a name is given, all commands known to that plugin are listed. If a command is given (optionally followed by parameters), that command is sent to the plugin, and the result will be displayed. The keyword 'help' lists all the SVDRP commands known to the named plugin. If 'help' is followed by a command, the detailed help for that command is given. The keyword 'main' initiates a call to the main menu function of the given plugin.

POLL <name> timers

Used by peer-to-peer connections between VDRs to inform other machines about changes to timers. The receiving VDR shall use LSTT to query the remote machine with the given name about its timers and update its list of timers accordingly.

PRIM [ <number> ]

Make the device with the given number the primary device. Without option it returns the currently active primary device in the same format as used by the LSTD command.

PUTE [ <file> ]

Put data into the EPG list. The data entered has to strictly follow the format defined in vdr(5) for the 'epg.data' file. A '.' on a line by itself terminates the input and starts processing of the data (all entered data is buffered until the terminating '.' is seen). If a file name is given, epg data will be read from this file (which must be accessible under the given name from the machine VDR is running on). In case of file input, no terminating '.' shall be given.

REMO [ on | off ]

Turns the remote control on or off. Without a parameter, the current status of the remote control is reported.

SCAN

Forces an EPG scan. If this is a single DVB device system, the scan will be done on the primary device unless it is currently recording.

STAT disk

Return information about disk usage (total, free, percent).

UPDT <settings>

Updates a timer. Settings must be in the same format as returned by the LSTT command. If a timer with the same channel, day, start and stop time does not yet exist, it will be created.

UPDR

Initiates a re-read of the recordings directory, which is the SVDRP equivalent to 'touch .update'.

VOLU [ <number> | + | - | mute ]

Set the audio volume to the given number (which is limited to the range 0...255). If the special options '+' or '-' are given, the volume will be turned up or down, respectively. The option 'mute' will toggle the audio muting. If no option is given, the current audio volume level will be returned.

QUIT

Exit vdr (SVDRP). You can also hit Ctrl-D to exit.

SVDRP reply codes

214 Help message
215 EPG or recording data record
216 Image grab data (base 64)
220 VDR service ready
221 VDR service closing transmission channel
250 Requested VDR action okay, completed
354 Start sending EPG data
451 Requested action aborted: local error in processing
500 Syntax error, command unrecognized
501 Syntax error in parameters or arguments
502 Command not implemented
504 Command parameter not implemented
550 Requested action not taken
554 Transaction failed
900 Default plugin reply code
901..999 Plugin specific reply codes

Answers are in the format:

<reply code><-|space><text>\n

In the last line, returned as an answer to a command, the "-" will be replaced by a space character.