SVDRP

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Anwendungen / Erweiterungen / Beispiele)
(Probleme)
 
(83 dazwischenliegende Versionen von 32 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Einführung==
 
==Einführung==
Das '''Simple VDR Protokoll''' (svdrp) erlaubt es per simpler TCP-Verbindung auf Port 2001 einfache Befehle an den [[VDR]] zu schicken, um z.B. eine Nachricht auf dem Fernseher anzuzeigen oder VDR fernzusteuern. (Von win aus zB. mit putty (protocol: raw))
+
Das SVDRP ('''S'''imple '''VDR''' '''P'''rotokoll) erlaubt es, [[VDR]] per {{wikipedia|TCP/IP}} Port 6419 fernzusteuern.
  
Bevor man jedoch von einem Host aus den vdr ansprechen darf, muß man ihn dafür freischalten. Dies geschieht über die Datei svdrphosts.conf im Konfigurationsverzeichnis des VDR, per Default also /video. Der Aufbau ist recht simpel:
+
Neben Kommandos gibt VDR auch Informationen wie Senderliste, EPG, Timer zurück. Ebenso lassen sich viele [[Plugins]] per SVDRP fernsteuern und abfragen.
<pre>
+
 
IP-Adresse[/Netzmaske]
+
{{Box Hinweis|Damit VDR SVDRP Verbindungen akzeptiert, muss konfiguriert werden von welchen IP-Adressbereichen SVDRP Zugriffe erlaubt sind.
</pre>
+
 
Also einfach zeilenweise die erlaubten Host-IPs eintragen, oder wenn man gleich ganze Netzblöcke freigeben will, eine IP und eine Maske dazu, natürlich in der ultra modernen Schreibweise der Anzahl der Bits (also /24, usw.).
+
Die Konfiguration erfolgt in der Datei [[svdrphosts.conf]] im [[Struktur|Konfigurationsverzeichnis]] des VDR.}}
  
 
==Die Befehle==
 
==Die Befehle==
===Übersicht===
+
=== Übersicht ===
  [[#CHAN|CHAN]] [[#CLRE|CLRE]] [[#DELC|DELC]] [[#DELR|DELR]] [[#DELT|DELT]] [[#EDIT|EDIT]]
+
 
[[#GRAB|GRAB]] [[#HELP|HELP]] [[#HITK|HITK]] [[#LSTC|LSTC]] [[#LSTE|LSTE]] [[#LSTR|LSTR]]
+
  # svdrpsend [[#HELP|HELP]]
[[#LSTT|LSTT]] [[#MESG|MESG]] [[#MODC|MODC]] [[#MODT|MODT]] [[#MOVC|MOVC]] [[#MOVT|MOVT]]
+
  [[#NEWC|NEWC]] [[#NEWT|NEWT]] [[#NEXT|NEXT]] [[#PLAY|PLAY]] [[#PLUG|PLUG]] [[#PUTE|PUTE]]
+
220 vdr SVDRP VideoDiskRecorder 1.7.23; Tue Mar 13 14:30:43 2012; UTF-8
[[#SCAN|SCAN]] [[#STAT|STAT]] [[#UPDT|UPDT]] [[#VOLU|VOLU]] [[#QUIT|QUIT]]
+
214-This is VDR version 1.7.23
 +
214-Topics:
 +
214-    [[#CHAN|CHAN]]     [[#CLRE|CLRE]]     [[#CPYR|CPYR]]      [[#DELC|DELC]]     [[#DELR|DELR]]
 +
214-    [[#DELT|DELT]]     [[#EDIT|EDIT]]     [[#GRAB|GRAB]]     [[#HELP|HELP]]     [[#HITK|HITK]]
 +
214-    [[#LSTC|LSTC]]     [[#LSTE|LSTE]]     [[#LSTR|LSTR]]     [[#LSTT|LSTT]]     [[#MESG|MESG]]
 +
214-    [[#MODC|MODC]]     [[#MODT|MODT]]     [[#MOVC|MOVC]]     [[#MOVR|MOVR]]      [[#MOVT|MOVT]]
 +
  214-    [[#NEWC|NEWC]]     [[#NEWT|NEWT]]     [[#NEXT|NEXT]]     [[#PLAY|PLAY]]     [[#PLUG|PLUG]]
 +
214-    [[#PUTE|PUTE]]     [[#REMO|REMO]]      [[#SCAN|SCAN]]     [[#STAT|STAT]]     [[#UPDT|UPDT]]
 +
214-    [[#UPDR|UPDR]]      [[#VOLU|VOLU]]     [[#QUIT|QUIT]]    
 +
214-To report bugs in the implementation send email to
 +
214-    vdr-bugs@tvdr.de
 +
214 End of HELP info
 +
221 vdr closing connection
  
 
===Beschreibung===
 
===Beschreibung===
<div style="display:inline; color:black; background:blue">[]</div> vdr >= '''1.3.20'''<br>
+
{| class="prettytable"
<div style="display:inline; color:black; background:red">[]</div> vdr >= '''1.3.31'''
+
|- class="hintergrundfarbe5"
 
+
! Befehl    ||  Verwendung
{| width=75% border=1 cellpadding=4 cellspacing=0
+
 
|-id="CHAN"
 
|-id="CHAN"
|
 
 
|bgcolor=#efefef| CHAN  
 
|bgcolor=#efefef| CHAN  
 
|bgcolor=#efefef| [ + | - | <Nummer> | <Name> | <ID> ]
 
|bgcolor=#efefef| [ + | - | <Nummer> | <Name> | <ID> ]
 
|-  
 
|-  
|
 
 
|
 
|
 
| Schaltet einen Kanal hoch, runter, oder springt zur angegebenen Kanalnummer, zum Kanalnamen, oder zur Kanal-ID. Ohne Parameter, bzw. nach einem Kanalwechsel wird die Nummer und der Name des aktuellen Kanals angezeigt.
 
| Schaltet einen Kanal hoch, runter, oder springt zur angegebenen Kanalnummer, zum Kanalnamen, oder zur Kanal-ID. Ohne Parameter, bzw. nach einem Kanalwechsel wird die Nummer und der Name des aktuellen Kanals angezeigt.
 
|-id="CLRE"
 
|-id="CLRE"
|
 
 
|bgcolor=#efefef| CLRE
 
|bgcolor=#efefef| CLRE
|bgcolor=#efefef|
+
|bgcolor=#efefef| [ <Nummer> | <Name> | <ID> ]
 
|-  
 
|-  
 
|
 
|
 +
| Löscht die EPG-Daten des angegebenen Kanal (Kanalnummer, Kanalnamen, Kanal-ID). Ohne Parameter werden die EPG-Daten aller Kanäle gelöscht.
 +
|-id="CPYR"
 +
|bgcolor=#efefef| CPYR
 +
|bgcolor=#efefef| <Nummer> <neuer Name>
 +
|-
 
|
 
|
| Löscht die EPG-Daten.
+
| Kopiert die Aufnahme mit der angegebenen Nummer. Die Aufnahmenummer muss vorher mit dem [[SVDRP#LSTR|LSTR]]-Befehl ermittelt werden. Weitere [[SVDRP#CPYR|CPYR]]-Befehle ändern die Aufnahmenummern nicht. (Achtung: nicht im regulären [[VDR]] enthalten, nur bei Einsatz des [[Liemikuutio-patch]] verfügbar.)
 
|-id="DELC"
 
|-id="DELC"
|
 
 
|bgcolor=#efefef| DELC  
 
|bgcolor=#efefef| DELC  
 
|bgcolor=#efefef| <Nummer>
 
|bgcolor=#efefef| <Nummer>
 
|-  
 
|-  
|
 
 
|
 
|
 
| Löscht den Kanal.
 
| Löscht den Kanal.
 
|-id="DELR"
 
|-id="DELR"
|
 
 
|bgcolor=#efefef| DELR  
 
|bgcolor=#efefef| DELR  
 
|bgcolor=#efefef| <Nummer>
 
|bgcolor=#efefef| <Nummer>
 
|-
 
|-
 
|
 
|
|
+
| Löscht die Aufnahme mit der angegebenen Nummer. Um die Aufnahmenummer zu erhalten muss vorher der [[SVDRP#LSTR|LSTR]] Befehl ausgeführt werden. Die Nummern ändern sich durch Löschen anderer Aufnahmen nicht. ACHTUNG: Aufnahmen werden als ersten Schritt in *.del umbenannt, und beim Housekeeping gelöscht.
| Löscht die Aufnahme mit der angegebenen Nummer. Um die Aufnahmenummer zu erhalten muss vorher der LSTR Befehl ausgeführt werden. Die Nummern ändern sich durch Löschen anderer Aufnahmen nicht. ACHTUNG: AUFNAHMEN WERDEN OHNE VORHERIGE NACHFRAGE GELÖSCHT!!
+
 
|-id="DELT"
 
|-id="DELT"
|
 
 
|bgcolor=#efefef| DELT  
 
|bgcolor=#efefef| DELT  
 
|bgcolor=#efefef| <Nummer>
 
|bgcolor=#efefef| <Nummer>
 
|-
 
|-
|
 
 
|
 
|
 
| Löscht einen Timer.
 
| Löscht einen Timer.
 
|-id="EDIT"
 
|-id="EDIT"
|bgcolor=red|
 
 
|bgcolor=#efefef| EDIT
 
|bgcolor=#efefef| EDIT
 
|bgcolor=#efefef| <Nummer>
 
|bgcolor=#efefef| <Nummer>
 
|-
 
|-
 
|
 
|
|
+
| Startet den Schnittvorgang für die Aufnahme mit der angegebenen <Nummer>, entsprechend der in der Datei [[marks.vdr]] hinterlegten Schnittpunkte. Bevor eine Aufnahme geschnitten werden kann, sollte die entsprechende Nummer der Aufnahme unter Zuhilfenahme des [[SVDRP#LSTR|LSTR]] Befehls ermittelt werden. Es kann immer nur eine Aufnahme zu gleichen Zeit geschnitten werden.
| Edit the recording with the given number. Before a recording can be edited, an LSTR command must have been executed in order to retrieve the recording numbers.
+
 
|-id="GRAB"
 
|-id="GRAB"
|
 
 
|bgcolor=#efefef| GRAB  
 
|bgcolor=#efefef| GRAB  
|bgcolor=#efefef| <Dateiname> [ jpeg | pnm [ <Qualität> [ <Breite> <Höhe> ] ] ]
+
|bgcolor=#efefef| <filename> [ <Qualität> [ <Breite> <Höhe> ] ]
 
|-
 
|-
 
|
 
|
|
+
| Speichert das aktuelle Fernsehbild auf die lokalen Festplatte ab. Bilder können als JPEG oder PNM, abhängig von der vorgegebenen Dateiendung gespeichert werden. Die Qualität des erfassten Bildes kann in der Bereich von 0 bis 100 festgelegt werden, wobei 100 (der Standard) "beste Qualität" bedeutet (diese Option ist nur für JPEG verfügbar). Die Größe Parameter definieren die Größe des resultierenden Bildes (Standard ist der gesamte Bildschirm).  Wenn der Dateiname nur die Endung ist (.jpg, .jpeg oder .pnm) werden die Bilddaten über die SVDRP Verbindung geschickt, diese Daten sind base64 kodiert. Das selbe geschieht wenn "-" (ein Minuszeichen) als Dateiname angegeben wird, in diesem Fall ist das Bildformat auf JPEG.
| Speichert das aktuelle Fernsehbild im JPEG oder PNM Format ab. Bei JPEG kann man die Qualität festlegen (Standard: maximum). Über Breite und Höhe lässt sich ein Ausschnitt definieren (Standard: Vollbild).
+
<pre>svdrpsend -d <hostname> GRAB - 85 | sed -n -e 's/^216-//p' -e '1ibegin-base64 644 -' -e '$a====' | uudecode > /tmp/grab.jpg</pre>
 +
Beispiel für die Anzeige des base64-kodierten Fernsehbildes über Netzwerk und die direkte Darstellung mittels des Programms display von http://www.imagemagick.org
 +
<pre>svdrpsend -d <hostname> GRAB - | sed -n -e 's/^216-//p' -e '1ibegin-base64 644 -' -e '$a====' | uudecode | display -</pre>
 +
Für das Abspeichern des erfassten Fernsehbildes auf der lokalen Festplatte muss die [[VDR_Optionen|Option]] -g mit den Zielverzeichnis gesetzt werden.
 +
Der VDR kann Bilddaten nur vom verwendeten Video-Ausgabedevice speichern.
 
|-id="HELP"
 
|-id="HELP"
|
 
 
|bgcolor=#efefef| HELP  
 
|bgcolor=#efefef| HELP  
 
|bgcolor=#efefef| [ <Begriff> ]
 
|bgcolor=#efefef| [ <Begriff> ]
 
|-
 
|-
|
 
 
|
 
|
 
| Hilfe.
 
| Hilfe.
 
|-id="HITK"
 
|-id="HITK"
|
 
 
|bgcolor=#efefef| HITK  
 
|bgcolor=#efefef| HITK  
 
|bgcolor=#efefef| [ <Taste> ]
 
|bgcolor=#efefef| [ <Taste> ]
 
|-
 
|-
|
 
 
|
 
|
 
| "Drückt" die Taste der Fernbedienung. Ohne Parameter werden die Namen aller gültigen Tasten aufgelistet.
 
| "Drückt" die Taste der Fernbedienung. Ohne Parameter werden die Namen aller gültigen Tasten aufgelistet.
 
|-id="LSTC"
 
|-id="LSTC"
|
 
 
|bgcolor=#efefef| LSTC  
 
|bgcolor=#efefef| LSTC  
|bgcolor=#efefef| [ <Nummer> | <Name> ]
+
|bgcolor=#efefef| [ :ids ] [ :groups | <Number> | <Name> | <id> ]
 
|-
 
|-
 
|
 
|
|
+
| Ohne Parameter werden alle Kanäle aufgelistet. Wird eine Nummer angegeben, wird nur dieser Kanal aufgelistet, bei Angabe eines Namens alle Kanäle,  bei denen dieser im Namen auftaucht. Wird ':groups' angegeben, so werden auch die Gruppen mit aufgelistet. Wird ':ids' angegeben so werden die Kanal IDs anstelle der Nummern aufgelistet.
| Ohne Parameter werden alle Kanäle aufgelistet. Wird einen Nummer angegeben, wird nur dieser Kanal aufgelistet, bei Angabe eines Namens alle Kanäle,  bei denen dieser im Namen auftaucht.
+
 
Zur Beschreibung des Formates siehe [[channels.conf]]
 
Zur Beschreibung des Formates siehe [[channels.conf]]
 
|-id="LSTE"
 
|-id="LSTE"
|
 
 
|bgcolor=#efefef| LSTE  
 
|bgcolor=#efefef| LSTE  
 
|bgcolor=#efefef| [ <Kanal> ] [ now | next | at <Zeit> ]
 
|bgcolor=#efefef| [ <Kanal> ] [ now | next | at <Zeit> ]
 
|-
 
|-
 
|
 
|
|
+
| Ohne Parameter werden alle EPG-Daten ausgegeben. Wird ein Kanal angegeben (entweder mit Nummer, oder mit Kanal-ID), werden nur die EPG-Daten dieses Senders angezeigt. 'now, 'next' 'at <time>' sind Filter. Das Format findet man in [[epg.data]].  
| Ohne Parameter werden alle EPG-Daten ausgegeben. Wird ein Kanal angegeben (entweder mit Nummer, oder mit Kanal-ID), werden nur die EPG-Daten dieses Senders angezeigt. 'now, 'next' 'at <time>' sind Filter.
+
 
|-id="LSTR"
 
|-id="LSTR"
|
 
 
|bgcolor=#efefef| LSTR  
 
|bgcolor=#efefef| LSTR  
|bgcolor=#efefef| [ <Nummer> ]
+
|bgcolor=#efefef| [ <id> [ Pfad ] ]
 
|-
 
|-
|
 
 
|
 
|
 
| Ohne Parameter werden alle Aufnahmen aufgelistet. Sonst wird die Zusammenfassung der angegebenen Aufnahme angezeigt.
 
| Ohne Parameter werden alle Aufnahmen aufgelistet. Sonst wird die Zusammenfassung der angegebenen Aufnahme angezeigt.
 +
Ein Eintrag der Auflistung aller Aufnahmen sieht beispielsweise so aus
 +
250 2 08.03.07 20:00* Tagesschau
 +
2 ist die Nummer der Aufnahme.
 +
Danach folgt Datum und Uhrzeit der Aufnahme. Der Stern hinter der Uhrzeit zeigt an, dass die Aufnahme neu ist.
 +
Als Letztes folgt der Titel der aufgenommenen Sendung.
 +
 +
Die Zusammenfassung einer Aufnahme hat das gleiche Format, wie ein EPG-Eintrag in [[epg.data]]. Für Details siehe [[Vdr%285%29]]
 
|-id="LSTT"
 
|-id="LSTT"
|
 
 
|bgcolor=#efefef| LSTT  
 
|bgcolor=#efefef| LSTT  
|bgcolor=#efefef| [ <Nummer> ]
+
|bgcolor=#efefef| [ <id> ] [ id ]
 
|-
 
|-
 
|
 
|
|
+
| Ohne Parameter werden alle Timer (programmierte Aufnahmen) aufgelistet, Sonst nur der angegeben Timer. Wird das Schlüsselwort 'id' angegeben, so werden die IDs anstelle der Nummern mit aufgelistet
| Ohne Parameter werden alle Timer (programmierte Aufnahmen) aufgelistet, Sonst nur der angegeben Timer.
+
 
|-id="MESG"
 
|-id="MESG"
|
 
 
|bgcolor=#efefef| MESG  
 
|bgcolor=#efefef| MESG  
 
|bgcolor=#efefef| [ <Nachricht> ]
 
|bgcolor=#efefef| [ <Nachricht> ]
 
|-
 
|-
|
 
 
|
 
|
 
| Zeigt eine Nachricht über das OSD auf dem Fernseher an. Ohne Parameter wird die aktuell anhängige Nachricht (wenn vorhanden) angezeigt. Sobald das OSD verfügbar ist, wird die Nachricht für ein paar Sekunden angezeigt, wenn die vorige Nachricht noch nicht angezeigt werden konnte, wird sie überschrieben.
 
| Zeigt eine Nachricht über das OSD auf dem Fernseher an. Ohne Parameter wird die aktuell anhängige Nachricht (wenn vorhanden) angezeigt. Sobald das OSD verfügbar ist, wird die Nachricht für ein paar Sekunden angezeigt, wenn die vorige Nachricht noch nicht angezeigt werden konnte, wird sie überschrieben.
 
|-id="MODC"
 
|-id="MODC"
|
 
 
|bgcolor=#efefef| MODC  
 
|bgcolor=#efefef| MODC  
 
|bgcolor=#efefef| <Nummer> <Einstellungen>
 
|bgcolor=#efefef| <Nummer> <Einstellungen>
 
|-
 
|-
 
|
 
|
|
+
| Ändert die Kanaleinstellungen. Das Format von <Einstellungen> muss das gleiche sein wie das des [[SVDRP#LSTC|LSTC]] Befehls.
| Ändert die Kanaleinstellungen. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTC Befehls.
+
 
|-id="MODT"
 
|-id="MODT"
|
 
 
|bgcolor=#efefef| MODT  
 
|bgcolor=#efefef| MODT  
 
|bgcolor=#efefef| <Nummer> on | off | <Einstellungen>
 
|bgcolor=#efefef| <Nummer> on | off | <Einstellungen>
 
|-
 
|-
 
|
 
|
|
+
| Ändert einen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des [[SVDRP#LSTT|LSTT]] Befehls. Mit 'on und 'off' kann ein Timer einfach ein- und ausgeschaltet werden.
| Ändert einen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTT Befehls. Mit 'on und 'off' kann ein Timer einfach ein- und ausgeschaltet werden.
+
 
|-id="MOVC"
 
|-id="MOVC"
|
+
|bgcolor=#efefef| MOVC
|bgcolor=#efefef| MOVC  
+
 
|bgcolor=#efefef| <Nummer> <nach>
 
|bgcolor=#efefef| <Nummer> <nach>
 
|-
 
|-
 
|
 
|
 +
| Verschiebt einen Kanal nach <nach> in der Kanalliste.
 +
|-id="MOVR"
 +
|bgcolor=#efefef| MOVR
 +
|bgcolor=#efefef| <Nummer> <neuer Name>
 +
|-
 
|
 
|
| Verschiebt einen Kanal nach <nach> in der Kanalliste.
+
| Kopiert die Aufnahme mit der angegebenen Nummer. Die Aufnahmenummer muss vorher mit dem [[SVDRP#LSTR|LSTR]]-Befehl ermittelt werden. Weitere [[SVDRP#MOVR|MOVR]]-Befehle ändern die Aufnahmenummern nicht. (Achtung: nicht im regulären [[VDR]] enthalten, nur bei Einsatz des [[Liemikuutio-patch]] verfügbar.)
 
|-id="MOVT"
 
|-id="MOVT"
|
 
 
|bgcolor=#efefef| MOVT  
 
|bgcolor=#efefef| MOVT  
 
|bgcolor=#efefef| <Nummer> <nach>
 
|bgcolor=#efefef| <Nummer> <nach>
 
|-
 
|-
|
 
 
|
 
|
 
| Verschiebt einen Timer nach <nach> in der Timerliste.
 
| Verschiebt einen Timer nach <nach> in der Timerliste.
 
|-id="NEWC"
 
|-id="NEWC"
|
 
 
|bgcolor=#efefef| NEWC  
 
|bgcolor=#efefef| NEWC  
 
|bgcolor=#efefef| <Einstellungen>
 
|bgcolor=#efefef| <Einstellungen>
 
|-
 
|-
 
|
 
|
|
+
| Erstellt einen neuen Kanal. Das Format von <Einstellungen> muss das gleiche sein wie das des [[SVDRP#LSTC|LSTC]] Befehls.
| Erstellt einen neuen Kanal. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTC Befehls.
+
 
|-id="NEWT"
 
|-id="NEWT"
|
 
 
|bgcolor=#efefef| NEWT  
 
|bgcolor=#efefef| NEWT  
 
|bgcolor=#efefef| <Einstellungen>
 
|bgcolor=#efefef| <Einstellungen>
 
|-
 
|-
 
|
 
|
|
+
| Erstellt einen neuen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des [[SVDRP#LSTT|LSTT]] Befehls.
| Erstellt einen neuen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTT Befehls.
+
 
Beispiel für <Einstellungen>:
 
Beispiel für <Einstellungen>:
 
  1:19:5:2010:2150:51:50:Das Gelbe vom Ei:
 
  1:19:5:2010:2150:51:50:Das Gelbe vom Ei:
  active:channel:day_of_month:starttime:endtime:priority:durability:title:
+
  aktiv:Kanalnummer:Tag_des_Monats:Startzeit:Endzeit:Priorität:Dauerhaftigkeit:Titel:
day_of_month kann dabei folgende Formate haben:
+
Tag_des_Monats kann dabei folgende Formate haben:
 
  19
 
  19
 
  2005-03-19
 
  2005-03-19
Zeile 192: Zeile 187:
 
  MTWTFSS@2005-03-19
 
  MTWTFSS@2005-03-19
 
|-id="NEXT"
 
|-id="NEXT"
|
 
 
|bgcolor=#efefef| NEXT  
 
|bgcolor=#efefef| NEXT  
 
|bgcolor=#efefef| [ abs | rel ]
 
|bgcolor=#efefef| [ abs | rel ]
 
|-
 
|-
 
|
 
|
|
+
| Zeigt den nächsten Timer an. Ohne Parameter geschieht die Ausgabe in lesbarer Form. Mit dem Parameter 'abs' wird die absolute Zeit in Sekunden angegeben, während beim Parameter 'rel' die Zeit von jetzt bis zur Aufnahme in Sekunden angeben wird. Wenn die mit 'abs' zurückgegeben Zeit in der Vergangenheit liegt, bzw. die mit 'rel' zurückgegebene Zeit negativ ist, findet die Aufnahme des Timers gerade statt. Der Erste Wert der ausgegeben wird stellt die Nummer des Timers dar.
| Zeigt den nächsten Timer an. Ohne Parameter geschieht die Ausgabe in menschenlesbarer Form. Mit dem Parameter 'abs' wird die absolute Zeit in Sekunden angegeben, während beim Parameter 'rel' die Zeit von jetzt bis zur Aufnahme in Sekunden angeben wird. Wenn die mit 'abs' zurückgegeben Zeit in der Vergangenheit liegt, bzw. die mit 'rel' zurückgegebene Zeit negativ ist, findet die Aufname des Timers gerade statt. Der Erste Wert der ausgegeben wird stellt die Nummer des Timers dar.
+
 
|-id="PLAY"
 
|-id="PLAY"
|bgcolor=red|
 
 
|bgcolor=#efefef| PLAY
 
|bgcolor=#efefef| PLAY
 
|bgcolor=#efefef| <number> [ begin | <position> ]
 
|bgcolor=#efefef| <number> [ begin | <position> ]
 
|-
 
|-
 
|
 
|
|
+
| Spielt die Aufnahme mit der nummer <Nummer> ab. Die entsprechende Nummer der Aufnahme sollte unter Zuhilfenahme des [[SVDRP#LSTR|LSTR]] Befehls ermittelt werden. Durch Angabe von 'begin' kann die Aufnahme vom Anfang an wiedergegeben werden. Andere Startpositionen können als Frame index oder im Format hh:mm:ss[.ff] angegeben werden. Wird kein Startpunkt für die Wiedergabe angegeben, wird die letzte Wiedergabe fortgesetzt.
| Play the recording with the given number. Before a recording can be played, an LSTR command must have been executed in order to retrieve the recording numbers. 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.
+
 
|-id="PLUG"
 
|-id="PLUG"
|bgcolor=red|
 
 
|bgcolor=#efefef| PLUG
 
|bgcolor=#efefef| PLUG
 
|bgcolor=#efefef| <name> [ <command> [ <options> ]]
 
|bgcolor=#efefef| <name> [ <command> [ <options> ]]
 
|-
 
|-
 
|
 
|
|
+
|Sendet ein Kommando an ein Plugin. Der PLUG Befehl ohne Parameter listet alle Plugins auf. Wenn nur ein Plunginname angegeben wird, werden für diese Plugins alle möglichen Befehle angezeigt. Wenn ein Kommando hinzugefügt wird ( optional gefolgt von Parametern), wird der Befehl an das Plugin gesendet und das Ergebnis wird ausgegeben. Das Schlüsselwort 'help' listet alle möglichen SVDRP Befehle für das Plugin auf. Wenn 'help' gefolgt von einem Befehl angegeben wird, wird eine detaillierte Hilfe für dieses Kommando ausgegeben. Das Schlüsselwort 'main' ruft die Hauptmenü Funktion des angegebenen Plugins auf.  
| 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.
+
 
|-id="PUTE"
 
|-id="PUTE"
|
 
 
|bgcolor=#efefef| PUTE
 
|bgcolor=#efefef| PUTE
 
|bgcolor=#efefef|
 
|bgcolor=#efefef|
 
|-
 
|-
 
|
 
|
 +
| Fügt EPG-Daten ein. Das Format der Daten ist in der Manualpage [[Vdr%285%29]] bzw. in [[epg.data]] beschrieben und muss genau eingehalten werden. Ein einzelner Punkt in einer Zeile beendet die Eingabe und sorgt für die Weiterverarbeitung der eingegeben Daten, die bislang nur zwischengespeichert wurden.
 +
|-id="REMO"
 +
|bgcolor=#efefef| REMO
 +
|bgcolor=#efefef|[ on | off ]
 +
|-
 
|
 
|
| Fügt EPG-Daten ein. Das Format der Daten ist in der Manualpage vdr(5) beschrieben und muss genau eingehalten werden. Ein einzelner Punkt in einer Zeile beendet die Eingabe und sorgt für die Weiterverarbeitung der eingegeben Daten, die bislang nur zwischengespeichert wurden.
+
| Schaltet die Fernbedienungs-Kontrolle an / aus. Ohne Parameter wird der aktuelle Zustand gemeldet.
 +
|-id="SCAN"
 
|-id="SCAN"
 
|-id="SCAN"
|bgcolor=blue|
 
 
|bgcolor=#efefef| SCAN
 
|bgcolor=#efefef| SCAN
 
|bgcolor=#efefef|
 
|bgcolor=#efefef|
 
|-
 
|-
|
 
 
|
 
|
 
| Erzwingt einen EPG-Scan. Auf Systemen mit nur einer [[DVB-Karte]] wird der Scan auf dieser durchgeführt, wenn gerade keine Aufnahme läuft.
 
| Erzwingt einen EPG-Scan. Auf Systemen mit nur einer [[DVB-Karte]] wird der Scan auf dieser durchgeführt, wenn gerade keine Aufnahme läuft.
 
|-id="STAT"
 
|-id="STAT"
|
 
 
|bgcolor=#efefef| STAT  
 
|bgcolor=#efefef| STAT  
 
|bgcolor=#efefef| disk
 
|bgcolor=#efefef| disk
 
|-
 
|-
 
|
 
|
 +
| Liefert Informationen über den Festplattenspeicher-Verbrauch (Total, Frei, Prozent).
 +
|-id="UPDR"
 +
|bgcolor=#efefef| UPDR
 +
|bgcolor=#efefef|
 +
|-
 
|
 
|
| Liefert Informationen über den Festplattenspeicher-Verbrauch (Total, Frei, Prozent).
+
| Liest das Aufnahmen-Verzeichnis neu ein (entspricht etwa <code>touch .update</code>).
 
|-id="UPDT"
 
|-id="UPDT"
|
 
 
|bgcolor=#efefef| UPDT  
 
|bgcolor=#efefef| UPDT  
 
|bgcolor=#efefef| <Einstellungen>
 
|bgcolor=#efefef| <Einstellungen>
 
|-
 
|-
 
|
 
|
|
+
| Aktualisiert einen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des [[SVDRP#LSTT|LSTT]] Befehls. Wenn der Timer noch nicht existiert, wird er erstellt.
| Aktualisiert einen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTT Befehls. Wenn der Timer noch nicht existiert, wird er erstellt.
+
 
|-id="VOLU"
 
|-id="VOLU"
|
 
 
|bgcolor=#efefef| VOLU  
 
|bgcolor=#efefef| VOLU  
 
|bgcolor=#efefef| [ <Nummer> | + | - | mute ]
 
|bgcolor=#efefef| [ <Nummer> | + | - | mute ]
 
|-
 
|-
|
 
 
|
 
|
 
| Setzt die Lautstärke entweder direkt (Bereich: 0 - 255), oder Schrittweise. Mit mute wird der Ton stumm geschaltet. Ohne Parameter wird die aktuelle Lautstärke angezeigt.
 
| Setzt die Lautstärke entweder direkt (Bereich: 0 - 255), oder Schrittweise. Mit mute wird der Ton stumm geschaltet. Ohne Parameter wird die aktuelle Lautstärke angezeigt.
 
|-id="QUIT"
 
|-id="QUIT"
|
 
 
|bgcolor=#efefef| QUIT
 
|bgcolor=#efefef| QUIT
 
|bgcolor=#efefef|
 
|bgcolor=#efefef|
 
|-
 
|-
|
 
 
|
 
|
 
| Beendet die Verbindung zu VDR (SVDRP). Alternativ kann man auch CTRL-D drücken.
 
| Beendet die Verbindung zu VDR (SVDRP). Alternativ kann man auch CTRL-D drücken.
Zeile 282: Zeile 272:
 
554 Transaktion fehlgeschlagen
 
554 Transaktion fehlgeschlagen
 
</pre>
 
</pre>
 +
 
Die Antworten sind vom Format:
 
Die Antworten sind vom Format:
 +
 
<pre>
 
<pre>
 
<Antwort Code><-|Leerzeichen><Text><newline>
 
<Antwort Code><-|Leerzeichen><Text><newline>
 
</pre>
 
</pre>
 +
 
Bei der letzten Zeile wird anstelle des - nach dem Antwort Code ein Leerzeichen gesetzt.
 
Bei der letzten Zeile wird anstelle des - nach dem Antwort Code ein Leerzeichen gesetzt.
  
Beispiel:
 
<pre>
 
help
 
214-This is VDR version 1.3.11
 
214-Topics:
 
214-    CHAN    CLRE    DELC    DELR    DELT
 
214-    GRAB    HELP    HITK    LSTC    LSTE
 
214-    LSTR    LSTT    MESG    MODC    MODT
 
214-    MOVC    MOVT    NEWC    NEWT    NEXT
 
214-    PUTE    SCAN    STAT    UPDT    VOLU
 
214-    QUIT
 
214-To report bugs in the implementation send email to
 
214-    vdr-bugs@cadsoft.de
 
214 End of HELP info
 
</pre>
 
  
==Anmerkungen==
+
== svdrpsend ==
Angemerkt sei, dass der VDR nur einen Thread für die SVDRP-Kommunikation führt. Dies erlaubt leider nur eine Verbindung zur selben Zeit.
+
Auch das vdradmin verwendet SVDRP, somit ist vdradmin nicht verfügbar wenn jemand SVDRP verwendet.
+
  
==Optionen==
+
'''svdrpsend''' ist ein Perl-Skript, mit dem sich SVDRP-Kommandos direkt von der Konsole absetzen lassen. Bis VDR 1.7.22 hieß das Skript '''svdrpsend.pl''', seit [http://linuxtv.org/pipermail/vdr/2012-January/025674.html Version 1.7.23] heißt es nur noch '''svdrpsend'''.
{| border=1 cellpadding=2 cellspacing=0
+
 
|- bgcolor=#efefef
+
Beispiel:
 +
svdrpsend help
 +
 
 +
===Optionen===
 +
{| class="prettytable"
 +
|- class="hintergrundfarbe5"
 
!Parameter
 
!Parameter
 
!Beschreibung
 
!Beschreibung
 
|-
 
|-
| '''-d hostname''' || destination hostname (default: localhost)
+
| '''-d hostname''' || Hostname des VDR, der angesprochen werden soll (Standard: localhost)
 
|-
 
|-
| '''-p port'''    || SVDRP port number (default: 2001)
+
| '''-p port'''    || SVDRP Portnummer (Standard: 6419)<br/>
 +
'''Achtung:''' Bis VDR 1.7.14 war der Standard-Port 2001, seit [http://linuxtv.org/pipermail/vdr/2010-June/023055.html Version 1.7.15] ist es 6419.
 
|}
 
|}
  
==Anwendungen / Erweiterungen / Beispiele==
+
==SVDRP-Clients==
* [[Svdrp-anwendungen]]
+
 
* [[Statusandquestion-plugin]]
+
Es gibt eine ganze Reihe von [[:Kategorie:Svdrp-anwendungen|Applikationen]], die per SVDRP mit dem VDR kommunizieren und z.B. eine Fernbedienungsfunktion oder komplette Bedienoberflächen per Web implementieren.
* [[Svdrppara-plugin]]
+
 
 +
==Probleme==
 +
Bis einschliesslich der Version 2.2 erlaubt VDR keine gleichzeitigen Verbindungen mehrerer Clients. Damit blockiert ein Client alle anderen, die zur gleichen Zeit auf den SVDRP zugreifen wollen. Alle parallel eingesetzen [[:Kategorie:Svdrp-anwendungen|SVDRP-Anwendungen]] konkurrieren damit um diese Verbindung. Diese Limitierung wurde in VDR Version 2.3 beseitigt.
 +
 
 +
==Siehe auch==
 +
[[Vdr%285%29]]
 +
 
 +
[[Svdrphosts.conf]]
  
 
{{i18n|svdrp}}
 
{{i18n|svdrp}}
 +
[[Kategorie:Begriffserklärungen]]
 +
[[Kategorie:VDR]][[Kategorie:Svdrp-anwendungen]]

Aktuelle Version vom 8. Dezember 2024, 07:36 Uhr

Inhaltsverzeichnis

[Bearbeiten] Einführung

Das SVDRP (Simple VDR Protokoll) erlaubt es, VDR per TCP/IP Port 6419 fernzusteuern.

Neben Kommandos gibt VDR auch Informationen wie Senderliste, EPG, Timer zurück. Ebenso lassen sich viele Plugins per SVDRP fernsteuern und abfragen.

Hinweis
Hinweis

Damit VDR SVDRP Verbindungen akzeptiert, muss konfiguriert werden von welchen IP-Adressbereichen SVDRP Zugriffe erlaubt sind.

Die Konfiguration erfolgt in der Datei svdrphosts.conf im Konfigurationsverzeichnis des VDR.


[Bearbeiten] Die Befehle

[Bearbeiten] Übersicht

# svdrpsend HELP

220 vdr SVDRP VideoDiskRecorder 1.7.23; Tue Mar 13 14:30:43 2012; UTF-8
214-This is VDR version 1.7.23
214-Topics:
214-    CHAN      CLRE      CPYR      DELC      DELR
214-    DELT      EDIT      GRAB      HELP      HITK
214-    LSTC      LSTE      LSTR      LSTT      MESG
214-    MODC      MODT      MOVC      MOVR      MOVT
214-    NEWC      NEWT      NEXT      PLAY      PLUG
214-    PUTE      REMO      SCAN      STAT      UPDT
214-    UPDR      VOLU      QUIT      
214-To report bugs in the implementation send email to
214-    vdr-bugs@tvdr.de
214 End of HELP info
221 vdr closing connection

[Bearbeiten] Beschreibung

Befehl Verwendung
CHAN [ + | - | <Nummer> | <Name> | <ID> ]
Schaltet einen Kanal hoch, runter, oder springt zur angegebenen Kanalnummer, zum Kanalnamen, oder zur Kanal-ID. Ohne Parameter, bzw. nach einem Kanalwechsel wird die Nummer und der Name des aktuellen Kanals angezeigt.
CLRE [ <Nummer> | <Name> | <ID> ]
Löscht die EPG-Daten des angegebenen Kanal (Kanalnummer, Kanalnamen, Kanal-ID). Ohne Parameter werden die EPG-Daten aller Kanäle gelöscht.
CPYR <Nummer> <neuer Name>
Kopiert die Aufnahme mit der angegebenen Nummer. Die Aufnahmenummer muss vorher mit dem LSTR-Befehl ermittelt werden. Weitere CPYR-Befehle ändern die Aufnahmenummern nicht. (Achtung: nicht im regulären VDR enthalten, nur bei Einsatz des Liemikuutio-patch verfügbar.)
DELC <Nummer>
Löscht den Kanal.
DELR <Nummer>
Löscht die Aufnahme mit der angegebenen Nummer. Um die Aufnahmenummer zu erhalten muss vorher der LSTR Befehl ausgeführt werden. Die Nummern ändern sich durch Löschen anderer Aufnahmen nicht. ACHTUNG: Aufnahmen werden als ersten Schritt in *.del umbenannt, und beim Housekeeping gelöscht.
DELT <Nummer>
Löscht einen Timer.
EDIT <Nummer>
Startet den Schnittvorgang für die Aufnahme mit der angegebenen <Nummer>, entsprechend der in der Datei marks.vdr hinterlegten Schnittpunkte. Bevor eine Aufnahme geschnitten werden kann, sollte die entsprechende Nummer der Aufnahme unter Zuhilfenahme des LSTR Befehls ermittelt werden. Es kann immer nur eine Aufnahme zu gleichen Zeit geschnitten werden.
GRAB <filename> [ <Qualität> [ <Breite> <Höhe> ] ]
Speichert das aktuelle Fernsehbild auf die lokalen Festplatte ab. Bilder können als JPEG oder PNM, abhängig von der vorgegebenen Dateiendung gespeichert werden. Die Qualität des erfassten Bildes kann in der Bereich von 0 bis 100 festgelegt werden, wobei 100 (der Standard) "beste Qualität" bedeutet (diese Option ist nur für JPEG verfügbar). Die Größe Parameter definieren die Größe des resultierenden Bildes (Standard ist der gesamte Bildschirm). Wenn der Dateiname nur die Endung ist (.jpg, .jpeg oder .pnm) werden die Bilddaten über die SVDRP Verbindung geschickt, diese Daten sind base64 kodiert. Das selbe geschieht wenn "-" (ein Minuszeichen) als Dateiname angegeben wird, in diesem Fall ist das Bildformat auf JPEG.
svdrpsend -d <hostname> GRAB - 85 | sed -n -e 's/^216-//p' -e '1ibegin-base64 644 -' -e '$a====' | uudecode > /tmp/grab.jpg

Beispiel für die Anzeige des base64-kodierten Fernsehbildes über Netzwerk und die direkte Darstellung mittels des Programms display von http://www.imagemagick.org

svdrpsend -d <hostname> GRAB - | sed -n -e 's/^216-//p' -e '1ibegin-base64 644 -' -e '$a====' | uudecode | display -

Für das Abspeichern des erfassten Fernsehbildes auf der lokalen Festplatte muss die Option -g mit den Zielverzeichnis gesetzt werden. Der VDR kann Bilddaten nur vom verwendeten Video-Ausgabedevice speichern.

HELP [ <Begriff> ]
Hilfe.
HITK [ <Taste> ]
"Drückt" die Taste der Fernbedienung. Ohne Parameter werden die Namen aller gültigen Tasten aufgelistet.
LSTC [ :ids ] [ :groups | <Number> | <Name> | <id> ]
Ohne Parameter werden alle Kanäle aufgelistet. Wird eine Nummer angegeben, wird nur dieser Kanal aufgelistet, bei Angabe eines Namens alle Kanäle, bei denen dieser im Namen auftaucht. Wird ':groups' angegeben, so werden auch die Gruppen mit aufgelistet. Wird ':ids' angegeben so werden die Kanal IDs anstelle der Nummern aufgelistet.

Zur Beschreibung des Formates siehe channels.conf

LSTE [ <Kanal> ] [ now | next | at <Zeit> ]
Ohne Parameter werden alle EPG-Daten ausgegeben. Wird ein Kanal angegeben (entweder mit Nummer, oder mit Kanal-ID), werden nur die EPG-Daten dieses Senders angezeigt. 'now, 'next' 'at <time>' sind Filter. Das Format findet man in epg.data.
LSTR [ <id> [ Pfad ] ]
Ohne Parameter werden alle Aufnahmen aufgelistet. Sonst wird die Zusammenfassung der angegebenen Aufnahme angezeigt.

Ein Eintrag der Auflistung aller Aufnahmen sieht beispielsweise so aus

250 2 08.03.07 20:00* Tagesschau

2 ist die Nummer der Aufnahme. Danach folgt Datum und Uhrzeit der Aufnahme. Der Stern hinter der Uhrzeit zeigt an, dass die Aufnahme neu ist. Als Letztes folgt der Titel der aufgenommenen Sendung.

Die Zusammenfassung einer Aufnahme hat das gleiche Format, wie ein EPG-Eintrag in epg.data. Für Details siehe Vdr(5)

LSTT [ <id> ] [ id ]
Ohne Parameter werden alle Timer (programmierte Aufnahmen) aufgelistet, Sonst nur der angegeben Timer. Wird das Schlüsselwort 'id' angegeben, so werden die IDs anstelle der Nummern mit aufgelistet
MESG [ <Nachricht> ]
Zeigt eine Nachricht über das OSD auf dem Fernseher an. Ohne Parameter wird die aktuell anhängige Nachricht (wenn vorhanden) angezeigt. Sobald das OSD verfügbar ist, wird die Nachricht für ein paar Sekunden angezeigt, wenn die vorige Nachricht noch nicht angezeigt werden konnte, wird sie überschrieben.
MODC <Nummer> <Einstellungen>
Ändert die Kanaleinstellungen. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTC Befehls.
MODT <Nummer> on | off | <Einstellungen>
Ändert einen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTT Befehls. Mit 'on und 'off' kann ein Timer einfach ein- und ausgeschaltet werden.
MOVC <Nummer> <nach>
Verschiebt einen Kanal nach <nach> in der Kanalliste.
MOVR <Nummer> <neuer Name>
Kopiert die Aufnahme mit der angegebenen Nummer. Die Aufnahmenummer muss vorher mit dem LSTR-Befehl ermittelt werden. Weitere MOVR-Befehle ändern die Aufnahmenummern nicht. (Achtung: nicht im regulären VDR enthalten, nur bei Einsatz des Liemikuutio-patch verfügbar.)
MOVT <Nummer> <nach>
Verschiebt einen Timer nach <nach> in der Timerliste.
NEWC <Einstellungen>
Erstellt einen neuen Kanal. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTC Befehls.
NEWT <Einstellungen>
Erstellt einen neuen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTT Befehls.

Beispiel für <Einstellungen>:

1:19:5:2010:2150:51:50:Das Gelbe vom Ei:
aktiv:Kanalnummer:Tag_des_Monats:Startzeit:Endzeit:Priorität:Dauerhaftigkeit:Titel:

Tag_des_Monats kann dabei folgende Formate haben:

19
2005-03-19
MTWTFSS
MTWTFSS@19
MTWTFSS@2005-03-19
NEXT [ abs | rel ]
Zeigt den nächsten Timer an. Ohne Parameter geschieht die Ausgabe in lesbarer Form. Mit dem Parameter 'abs' wird die absolute Zeit in Sekunden angegeben, während beim Parameter 'rel' die Zeit von jetzt bis zur Aufnahme in Sekunden angeben wird. Wenn die mit 'abs' zurückgegeben Zeit in der Vergangenheit liegt, bzw. die mit 'rel' zurückgegebene Zeit negativ ist, findet die Aufnahme des Timers gerade statt. Der Erste Wert der ausgegeben wird stellt die Nummer des Timers dar.
PLAY <number> [ begin | <position> ]
Spielt die Aufnahme mit der nummer <Nummer> ab. Die entsprechende Nummer der Aufnahme sollte unter Zuhilfenahme des LSTR Befehls ermittelt werden. Durch Angabe von 'begin' kann die Aufnahme vom Anfang an wiedergegeben werden. Andere Startpositionen können als Frame index oder im Format hh:mm:ss[.ff] angegeben werden. Wird kein Startpunkt für die Wiedergabe angegeben, wird die letzte Wiedergabe fortgesetzt.
PLUG <name> [ <command> [ <options> ]]
Sendet ein Kommando an ein Plugin. Der PLUG Befehl ohne Parameter listet alle Plugins auf. Wenn nur ein Plunginname angegeben wird, werden für diese Plugins alle möglichen Befehle angezeigt. Wenn ein Kommando hinzugefügt wird ( optional gefolgt von Parametern), wird der Befehl an das Plugin gesendet und das Ergebnis wird ausgegeben. Das Schlüsselwort 'help' listet alle möglichen SVDRP Befehle für das Plugin auf. Wenn 'help' gefolgt von einem Befehl angegeben wird, wird eine detaillierte Hilfe für dieses Kommando ausgegeben. Das Schlüsselwort 'main' ruft die Hauptmenü Funktion des angegebenen Plugins auf.
PUTE
Fügt EPG-Daten ein. Das Format der Daten ist in der Manualpage Vdr(5) bzw. in epg.data beschrieben und muss genau eingehalten werden. Ein einzelner Punkt in einer Zeile beendet die Eingabe und sorgt für die Weiterverarbeitung der eingegeben Daten, die bislang nur zwischengespeichert wurden.
REMO [ on | off ]
Schaltet die Fernbedienungs-Kontrolle an / aus. Ohne Parameter wird der aktuelle Zustand gemeldet.
SCAN
Erzwingt einen EPG-Scan. Auf Systemen mit nur einer DVB-Karte wird der Scan auf dieser durchgeführt, wenn gerade keine Aufnahme läuft.
STAT disk
Liefert Informationen über den Festplattenspeicher-Verbrauch (Total, Frei, Prozent).
UPDR
Liest das Aufnahmen-Verzeichnis neu ein (entspricht etwa touch .update).
UPDT <Einstellungen>
Aktualisiert einen Timer. Das Format von <Einstellungen> muss das gleiche sein wie das des LSTT Befehls. Wenn der Timer noch nicht existiert, wird er erstellt.
VOLU [ <Nummer> | + | - | mute ]
Setzt die Lautstärke entweder direkt (Bereich: 0 - 255), oder Schrittweise. Mit mute wird der Ton stumm geschaltet. Ohne Parameter wird die aktuelle Lautstärke angezeigt.
QUIT
Beendet die Verbindung zu VDR (SVDRP). Alternativ kann man auch CTRL-D drücken.

[Bearbeiten] SVDRP Antwort Codes

214 Hilfetext
215 EPG Eintrag
216 Image grab data (base 64)
220 VDR-Service bereit
221 VDR-Service schließt Sende-Kanal
250 Angeforderte Aktion okay, beendet
354 Start senden von EPG-Daten
451 Angeforderte Aktion abgebrochen: lokaler Fehler bei der Bearbeitung
500 Syntax-Fehler, unbekannter Befehl
501 Syntax-Fehler in Parameter oder Argument
502 Befehl nicht implementiert
504 Befehls-Parameter nicht implementiert
550 Angeforderte Aktion nicht ausgeführt
554 Transaktion fehlgeschlagen

Die Antworten sind vom Format:

<Antwort Code><-|Leerzeichen><Text><newline>

Bei der letzten Zeile wird anstelle des - nach dem Antwort Code ein Leerzeichen gesetzt.


[Bearbeiten] svdrpsend

svdrpsend ist ein Perl-Skript, mit dem sich SVDRP-Kommandos direkt von der Konsole absetzen lassen. Bis VDR 1.7.22 hieß das Skript svdrpsend.pl, seit Version 1.7.23 heißt es nur noch svdrpsend.

Beispiel:

svdrpsend help

[Bearbeiten] Optionen

Parameter Beschreibung
-d hostname Hostname des VDR, der angesprochen werden soll (Standard: localhost)
-p port SVDRP Portnummer (Standard: 6419)

Achtung: Bis VDR 1.7.14 war der Standard-Port 2001, seit Version 1.7.15 ist es 6419.

[Bearbeiten] SVDRP-Clients

Es gibt eine ganze Reihe von Applikationen, die per SVDRP mit dem VDR kommunizieren und z.B. eine Fernbedienungsfunktion oder komplette Bedienoberflächen per Web implementieren.

[Bearbeiten] Probleme

Bis einschliesslich der Version 2.2 erlaubt VDR keine gleichzeitigen Verbindungen mehrerer Clients. Damit blockiert ein Client alle anderen, die zur gleichen Zeit auf den SVDRP zugreifen wollen. Alle parallel eingesetzen SVDRP-Anwendungen konkurrieren damit um diese Verbindung. Diese Limitierung wurde in VDR Version 2.3 beseitigt.

[Bearbeiten] Siehe auch

Vdr(5)

Svdrphosts.conf

In anderen Sprachen