SVDRP-Protokoll

Aus RMM-Wiki
Wechseln zu: Navigation, Suche

Einführung

Das SVDRP (Simple VDR Protokoll) erlaubt es per einfacher TCP-Verbindung auf Port 2001 Befehle an die ReelBox zu schicken, um z.B. eine Nachricht auf dem Fernseher anzuzeigen oder diese fern zusteuern. Dies gilt teilweise auch für die Installierten plugins.




Befehlsübersicht

root@ReelBox:~# svdrpsend.sh HELP
220 ReelBox SVDRP VideoDiskRecorder 1.4.27; Mon Feb 28 14:38:41 2011
214-This is ReelVDR version 1.4.27
214-Topics:
214-    CHAN      CLRE      DELC      DELR      DELT      
214-    EDIT      GRAB      HELP      HITK      LSTC      
214-    LSTE      LSTR      LSTT      MESG      MODC      
214-    MODT      MOVC      MOVT      NEWC      NEWT      
214-    NEXT      PLAY      PLUG      PUTE      SCAN      
214-    STAT      UPDT      VOLU      QSTD      QUIT      
214-Plugin mcli v0.9.1 - NetCeiver Client Application
214-    REINIT    
214-Plugin setup v0.2.17 - ReelBox Setup
214-    CHMD      
214-Plugin extrecmenu v1.1-reel1 - Erweitertes Aufnahmesmenü
214-    CUTR      
214-Plugin filebrowser v0.30 - Filebrowser
214-    OPEN      
214-Plugin epgsearch v0.9.24-reel1 - Durchsuche das EPG nach Wiederholungen
214-    LSTS      NEWS      DELS      EDIS      MODS      
214-    UPDS      UPDD      SETS      FIND      QRYS      
214-    QRYF      LSRD      LSTC      NEWC      EDIC      
214-    DELC      RENC      LSTB      NEWB      DELB      
214-    EDIB      LSTE      SETP      LSTT      NEWT      
214-    DELT      EDIT      DEFT      LSCC      
214-Plugin xinemediaplayer v0.0.11 - Xine Mediaplayer plugin
214-    PLAYM3U   
214-Plugin femon v1.1.3 - DVB Signal Informationsanzeige (OSD)
214-    OPEN      QUIT      NEXT      PREV      INFO      
214-    NAME      STAT      SGNL      SNRA      BERA      
214-    UNCB      VIBR      AUBR      DDBR      
214-Plugin radio v0.2.0 - Radio Background-Image/RDS-Text
214-    RTINFO    RTCLOSE   RTTCLOSE  
214-Plugin bgprocess v0.1.0 - Collects and lists background processes and their status
214-    PROCESS   
214-Plugin shoutcast v0.0.4 - Downloads playlist from 'shoutcast' server
214-    showMESG  
214-Plugin audioplayer v0.0.3 - Audio Player
214-    OPEN      
214-Plugin channelscan v0.6.1 - Suche Kanäle an DVB-T/C/S and S2 Tuner
214-    LIST      
214-Plugin dpkg v0.0.3 - Dpkg Plugin
214-    ASKUP     
214-Plugin imageplayer v0.0.3 - Image Player
214-    OPEN      
214-Plugin ipod v0.0.4 - Apple's iPod
214-    OPEN      
214-Plugin mediaplayerdvd v0.0.3 - MediaplayerDvd
214-    OPEN      
214-Plugin ripit v0.0.3 - Audio-CD Ripper
214-    START     ABORT     STATUS    
214-Plugin videoplayer v0.0.3 - Video Library
214-    OPEN      
214 End of HELP info
221 ReelBox closing connection

Syntax

Falls SVDRP Kommandos auf der lokalen ReelBox ausgeführt werden, kann direkt ein Toolscript verwendet werden - svdrpsend.sh welches bereits in der Installation enthalten ist.

Wenn Sie von entfernten System Befehle absetzen wollen, verwenden Sie bitte telnet oder netcat um die gewünschten Kommandos auf den Port 2001 der jeweiligen ReelBox zu übertragen.

Es ist ebenso möglich PlugIns (Programmerweiterungen) direkt zu steuern, sofern diese SVDRP Kommandos unterstützen.

Der Syntax lautet dann:

  • Abruf der aktuellen Signalqualität mit Hilfe des femon-Plugin
root@ReelBox:~# svdrpsend.sh PLUG femon INFO
220 ReelBox SVDRP VideoDiskRecorder 1.4.27; Mon Feb 28 15:27:45 2011
900-CARD:8
900-TYPE:-1
900-NAME:NetCeiver
900-STAT:1F
900-SGNL:D700
900-SNRA:9438
900-BERA:00000000
900-UNCB:00000000
900 CHAN:ProSieben;ProSiebenSat.1:12544:hC56:S19.2E:22000:511:512=deu;515=deu:33:0:17501:1:1107:0
221 ReelBox closing connection
  • Nachricht auf dem angeschlossenen TV ausgeben
root@ReelBox:~# svdrpsend.sh MESG "Essen ist fertig, kommt bitte..."
220 ReelBox SVDRP VideoDiskRecorder 1.4.27; Mon Feb 28 15:30:16 2011
250 Message sent
221 ReelBox closing connection
  • Anzeigen der angelegten Timer in der Timerliste
root@ReelBox:~# svdrpsend.sh LSTT
220 ReelBox SVDRP VideoDiskRecorder 1.4.27; Mon Feb 28 15:31:42 2011
250-1 1:148:2011-02-28:2145:2250:50:99:Navy CIS~Verdacht:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1298925900</start><stop>1298929800</stop><s-id>1</s-id><eventid>19105</eventid></epgsearch>
250-2 1:148:2011-02-28:2235:2340:50:99:Navy CIS~Giftgas:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1298928900</start><stop>1298932800</stop><s-id>1</s-id><eventid>19106</eventid></epgsearch>
250-3 1:148:2011-02-28:2325:0030:50:99:Navy CIS~Der Frosch:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1298931900</start><stop>1298935800</stop><s-id>1</s-id><eventid>19107</eventid></epgsearch>
250-4 1:148:2011-03-01:2145:2250:50:99:Navy CIS~Das letzte Lebewohl:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1299012300</start><stop>1299016200</stop><s-id>1</s-id><eventid>19136</eventid></epgsearch>
250-5 1:148:2011-03-01:2235:2340:50:99:Navy CIS~Wttlauf mit dem Tod:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1299015300</start><stop>1299019200</stop><s-id>1</s-id><eventid>19137</eventid></epgsearch>
250-6 1:148:2011-03-01:2325:0030:50:99:Navy CIS~Skelette:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1299018300</start><stop>1299022200</stop><s-id>1</s-id><eventid>19138</eventid></epgsearch>
250-7 1:148:2011-03-02:2145:2250:50:99:Navy CIS~Der verlorene Sohn:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1299098700</start><stop>1299102600</stop><s-id>1</s-id><eventid>19167</eventid></epgsearch>
250-8 1:148:2011-03-02:2235:2340:50:99:Navy CIS~Hinterhalt:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1299101700</start><stop>1299105600</stop><s-id>1</s-id><eventid>19168</eventid></epgsearch>
250-9 1:148:2011-03-02:2325:0030:50:99:Navy CIS~Das Buch zum Mord:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1299104700</start><stop>1299108600</stop><s-id>1</s-id><eventid>19169</eventid></epgsearch>
250-10 1:148:2011-03-03:2145:2250:50:99:Navy CIS~Zum Greifen nah:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1299185100</start><stop>1299189000</stop><s-id>1</s-id><eventid>19198</eventid></epgsearch>
250-11 1:148:2011-03-03:2235:2340:50:99:Navy CIS~Der blinde Fotograf:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1299188100</start><stop>1299192000</stop><s-id>1</s-id><eventid>19199</eventid></epgsearch>
250 12 1:148:2011-03-03:2325:0030:50:99:Navy CIS~Das trojanische Pferd:<epgsearch><channel>148 - 13Street</channel><searchtimer>Navy CIS</searchtimer><start>1299191100</start><stop>1299195000</stop><s-id>1</s-id><eventid>19200</eventid></epgsearch>
221 ReelBox closing connection

Weitere Befehle:

Befehle 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 Löscht die EPG-Daten.
DELC
.
<Nummer>
Löscht die EPG-Daten.
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 OHNE VORHERIGE NACHFRAGE 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.

Bespiel für die Anzeige des base64-kodierten Fernsehbildes über Netzwerk und die direkte Darstellung mittels des Programms display von http://www.imagemagick.org
svdrpsend.pl -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 nur vom ersten Device grabben, d.h. der Treiber für die Full-Featured-Karte muss zuerst geladen werden!

HELP
.
[ <Begriff> ]
Hilfe
HITK
.
[ <Taste> ]
"Drückt" die Taste der Fernbedienung. Ohne Parameter werden die Namen aller gültigen Tasten aufgelistet.
LSTC
.
.
[ <Nummer> | <Name> ]
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. 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
LSTR
.
.
.
.
.
.
.
[ <Nummer> ]
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
.
[ <Nummer> ]
Ohne Parameter werden alle Timer (programmierte Aufnahmen) aufgelistet, Sonst nur der angegeben Timer.
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.
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 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 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 koennen 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 detailierte 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, Fernbedienungs-Kontrolle an / aus, ohne Parameter wird zum nächsten Zustand, geschaltet.
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).
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.


weitere Informationen (Links)

Genauere Informationen zum SVDRP Protokoll erhalten Sie u.a. im VDR-Wiki unter http://www.vdr-wiki.de/wiki/index.php/SVDRP und auch hier unter http://wiki.reel-multimedia.com/index.php/Heimautomation