Pd2vlc
Patch puredata pour commander le lecteur VLC par Telnet
Contributeur·ice·s
Statut du projet
Prototype
Statut de la publication
License
GFDL
Inspiration
Fichiers source
Machines
Matériaux
Sommaire
Objectifs
Le but est d'utiliser des PC hors d'âge sous Linux, Rasbian, MacoOS ou Windows comme lecteurs de vidéo. Le choix de VLC est simple: c'est le seul lecteur qui marche sur autant de plateformes, en profitant potentiellement de l'accélération matérielle. On peut le lancer avec une interface telnet qui permet de le commander à distance via une simple connexion réseau TCP pas du tout sécurisée. Le patch Puredata partagé ici permet potentiellement d'en commander plusieurs simultanément distribuées sur une grappe de machines connectées.
Mise en oeuvre
Il faut lancer VLC avec les options permettant d'écouter les commandes réseau. On doit spécifier le nom (ou l'IP, quand on a plusieurs interfaces) de la machine et un numéro de port. Sous Mac/Linux, on peut utiliser le nom Avahi/Bonjour sans souci.
Il faut au préalable enregistrer une playlist, peu importe son format m3u ou xspf.
Les commandes VLC importantes
--intf rc
Il s'agit du choix d'interface. Attention, quand on la lance, si on a l'option autostart désactivée, aucune fenêtre n’apparaît au démarrage.
--rc-host truc.local:44400 --rc-host 192.168.1.100:44400
On donne le nom de la machine ou son IP, ainsi que le numéro de port, supérieur à 1000. Il faut évidemment que le firewall laisse ce port accessible en TCP.
Sous Linux, ça donne ça:
xubuntu@Astro:~$ vlc --intf rc --rc-host Astro.local:44400 --no-playlist-autostart /home/xubuntu/liste.xspf
Sous Mac OSX, ça donne ça:
/Applications/VLC.app/Contents/MacOS/VLC --intf rc --rc-host 192.168.1.99:44400 --no-playlist-autostart ./playlist.m3u
du côté de chez Puredata
cf photo d'écran.
Résultat(s)
Pas mal même s'il y a de la latence.
Evolution(s)
On peut imaginer implémenter le même groupe de commande dans Arduino, Processing, Python...