Svdrp

De VDR Wiki FR
Aller à la navigationAller à la recherche

Introduction

Le Protocole VDR Simplifié (SVDRP) permet d'envoyer à VDR des commandes basiques au travers d'une simple connection TCP sur le port 2001. T.q. envoyer un message qui sera affiché à la TV.

Il est possible d'écrire un script shell simple pour renvoyer n'importe quel texte sur l'écran de TV, par exemple à la réception d'un appel téléphonique ou quand un email arrive:

#!/bin/sh

netcat -w 10 <HOSTNAME> 2001 <<eof
mesg $1
quit
eof

<HOSTNAME> doit être remplacé par le nom de machine (hostname) de l'ordinateur ou tourne VDR. Le script nécessite un texte comme paramètre d'entrée. Netcat existe egalement pour Windows.

Par défaut, seul localhost est autorisé à se connecter à VDR. Pour changer cela, il faut modifier le fichier svdrphosts.conf du répertoire de configuration /video/vdrconf de VDR. La structure de ce fichier est très simple

Adresse-IP[/Netmask]

Entrez juste, ligne après ligne, les IPs des machines ou réseaux autorisés. A la fin, vous avez besoin du masque réseau (T.q. /24). Pour des exemples, regardez le svdrphosts.conf exemple fournit dans les sources de VDR.

Les commandes

Aperçu

shell> svdrpsend.pl HELP
220 pluto SVDRP VideoDiskRecorder 1.3.47; Thu Apr 20 14:53:32 2006
214-This is VDR version 1.3.47
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      QUIT     
214-    SCAN      STAT      UPDT      VOLU
214-To report bugs in the implementation send email to
214-    vdr-bugs@cadsoft.de
214 End of HELP info
221 pluto closing connection

Description

CHAN [ + | - | <Numero> | <Nom> | <ID> ]
Change de chaine vers le haut, le bas ou pour la chaine donnée par son numéro, son nom ou son id. Sans option (ou après un changemenent de chaine avec succès), il retourne le numéro et le nom de la chaine courante.
CLRE
Efface toutes les données d'EPG.
DELC
Supprime la chaine.
DELR <numéro>
Supprime l'enregistrement avec le numéro donné. Avant de pouvoir supprimer un enrergistrement, une commande LSTR doit être executée pour retrouver les numéros d'enregistrement. Les numéros ne changent pas pendant des commandes DELR enchainées.
ATTENTION: IL N'Y A PAS DE DEMANDE DE CONFIRMATION QUAND VOUS SUPPRIMEZ UN ENREGISTREMENT - SOYEZ CERTAIN DE SAVOIR CE QUE VOUS FAITES!
DELT <numéro>
Supprime la programmation.
GRAB <filename> [ jpeg | pnm [ <qualité> [ <sizex> <sizey> ] ] ]
Capture limage courante et la sauve dans <filename>. Les images peuvent être enregistrées au format jpeg (par défaut) ou PNM, à la qualité spécifiée (par défaut maximum, ceci s'applique uniquement au format Jpeg) et taille (par défaut plein écran).
HELP [ <sujet> ]
La commande HELP donne les informations d'aide.
HITK [ <touche> ]
Presse la touche de la télécommande correspondante. Sans option, il retourne une liste de tous les noms de touche valides.
LSTC [ <numéro> | <nom> ]
Liste les chaines. Sans option, toutes les chaines sont listées. Sinon, seule la chaine donnée est listée. Si un nom est donné, toutes les chaines contenant la chaine de caractères dans leur nom sont listées.
LSTE [ <chaine> ] [ now | next | at
Liste les infos EPG. Sans paramètre, toutes les données de toutes les chaînes sont extraites. Si une chaîne est donnée (par nom ou numéro), seules les données la concernant sont extraites. now, next, ou at restraignent les données retournées aux évènements présents, suivants ou à ceux de l'heure indiquée (qui doit être au format in time_t ).
LSTR [ <numéro> ]
Liste des enregistrements. Sans paramètres, tous les enregistrements sont listés, sinon le résumé est extrait pour l'enregistrement sélectionné.
LSTT [ <numéro> ]
Liste des programmations. Sans paramètre, tout est listé, sinon le programme selectionné est extrait.
MESG [ <message> ]
Affiche le message sur l'écran en OSD. Si le message est omis, le message en attente est retourné. Celui-çi est affiché quelques secondes après que l'OSD soit devenu disponible. Si un nouveau message est envoyé alors qu'il y en a en attente, celui en attente est effacé au profit du dernier en attente..
MODC <numéro> <settings>
Changer les paramètres d'une chaîne. Les paramètres doivent être au même format que celui retourné par la commande LSTC.
MODT <numéro> | off | <settings>
Changer une programmation, Les paramètres doivent être au même format que celui retourné par la commande LSTT. Les mots clefs 'on' and 'off' peuvent être utilisés pour activer ou désactiver une programmation.
MOVC <number> <to>
Déplacer une chaîne à une nouvelle position.
MOVT <number> <to>
Déplacer une programmation à une nouvelle position.
NEWC <settings>
Creer une nouvelle chaîne. Les paramètres doivent être au même format que ceux retournés par la commande LSTC.
NEWT <settings>
Creer une nouvelle programmation. Les paramètres doivent être au même format que ceux retournés par la commande LSTT. Une erreur sera retournée si une programmation existe déja sur la même chaine aux même heures (début et fin).
NEXT [ abs | rel ]
Affiche le prochain évènement programmation. Si aucune option n'est donnée, la sortie est lisible au format normal. Avec l'option 'abs' le format date est donnée au format unix , soit le nombre de seconde depuis epoch (01/01/1970) , alors que 'rel' donne le temps entre maintenant et l'évènement. Si le temps absolu est inférieur a l'heure courante, cela veux dire que l'enregistrement est en cours. si le temps relatif est inférieur à zéro, cela veux dire que l'enregistrement a commencé a l'heure prévue. La première valeur retournée est le numéro de l'enregistrement dans la liste de programmation.
PUTE
Insère des données dans l'EPG. Les données entrées doivent suivre strictement le format defini dans vdr(5) pour le fichier 'epg.data'. Un '.' sur uen ligne termine l'entrée et force le traitement des données. (toutes les données entrées sont mise en attente dans un cache en attendant que le '.' soit reconnu).
SCAN
Force une recherche des informations EPG. Si le système ne comporte qu'une carte DVB, la recherche sera effectuée sur le périphérique primaire si celui-çi n'est pas en cours d'enregistrement.
STAT disk
Retourne les informations sur la capacité disque (total, libre, pourcentage).
UPDT <settings>
Met à jour une programmation. Les paramètres doivent être au même format que ceux retournés par la commande LSTT. Une erreur sera retournée si une programmation existe déja sur la même chaine aux même heures (début et fin), sinon elle sera créé.
VOLU [ <number> | + | - | mute ]
Affecte le volume audio au paramètre donné (limité a une fourchette comprise entre 0 et 255). Si les options spéciales sont données '+' or '-', le volume sera réglé plus ou moins. L'option 'mute' va basculer l'audio marche/arret. Si aucune option n'est donnée, le volume courant est retourné.
QUIT
Quitte vdr (SVDRP). Vous pouvez aussi utiliser Ctrl-D pour quitter.

Editer les programmations manuellement

statut:chaine:jour:début:fin:priorité:durée de vie:nom de fichier:

statut: 0 = inactif, 1 = actif
chaine: numéro de la chaine a enregistrer
jour: jour du mois
début: heure du début de l'enregistrement hhmm
fin: heure de fin de l'enregistrement hhmm
priorité: (50 conviendra)
durée de vie: durée de vie de l'enregistrement (99=permanent)
nom du fichier:


NEWT 1:440:30:1900:1905:50:99:fichiertest:

codes de retour SVDRP

214 Message d'aide
215 Donnée d'enregsitrement EPG
220 Service VDR pret
221 Service VDR termine la communication
250 Action VDR demandée OK, terminée
354 Demarre la transmission de données EPG
451 Erreur durant le traîtement d'une action, annulation
500 Erreur de syntaxe, commande non reconnue
501 Ereur de syntaxe dans les paramètres ou arguments
502 Action ou commande non reconnue
504 paramètre de commande non implémenté
550 Action requise non executée
554 Echec transation ou action

Les codes retour sont au format

<Code retour><-|Espace><Texte><Nouvelle_ligne>

Dans la dernière ligne, le "-" est remplacé par un espace.

Exemple de sortie (commande "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