VLC media player en ligne de commande ?

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
cyberbob
Messages : 511
Inscription : 28 nov. 2016, 19:43
Localisation : Belgique

VLC media player en ligne de commande ?

Message par cyberbob »

Salut,

Serait-il possible de commander le lecteur VLC en ligne de commande pour que domoticz puisse lui envoyer des instructions comme changer le volume, commencer une lecture, etc ...
Dans une instruction http pour le mettre dans un script Lua ?

Il y a bien un menu dans VLC dans préférence avancée/interface principale/Lua/Lua par HTTP
mais je ne trouve pas et ne maîtrise pas bien cette fonction dans VLC

Ce serais sympas de domoticz puisse démarrer une radio web par exemple a un certain volume.

Si vous savez comment merci pour vos com :)
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: VLC media player en ligne de commande ?

Message par thier »

J'ai ça en stock.
Un script lua avec plusieurs adresses de radio web. le script lua lance un script bash qui lance vlc.
en lua pour lancer une web radio:
d’abord une liste de radio avec autant de dummy device que de radios dans la liste

Code : Tout sélectionner

devices[1] = {'France Bleue la Rochelle', 'http://direct.francebleu.fr/live/fblarochelle-midfi.mp3'}
devices[2] = {'France Info', 'http://direct.franceinfo.fr/live/franceinfo-midfi.mp3'}

suivi de l'instruction pour lancer vlc avec la radio voulue
local level = '9%' --volume sonore à l'allumage ou l'extinction de la radio

Code : Tout sélectionner

for n,device in pairs(devices) do 
    if (devicechanged[device[1]] == 'On') then
    os.execute('bash /home/pi/domoticz/scripts/sh/radio.sh "'..device[2]..'" &')
    commandArray[#commandArray + 1]={['Variable:volumeraspberry']= tonumber(level) } 
    break    
    end
end
ensuite le script radio.sh

Code : Tout sélectionner

#!/bin/sh
radio="$1"
sudo killall vlc > /dev/null #tue vlc si une radio est déja en écoute
sudo -u pi cvlc "$radio"  > /dev/null
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
cyberbob
Messages : 511
Inscription : 28 nov. 2016, 19:43
Localisation : Belgique

Re: VLC media player en ligne de commande ?

Message par cyberbob »

Merci pour la réponse thier.

C'est possible de faire tout en script Lua sans passer par le script bash ?
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky
thier
Messages : 807
Inscription : 26 sept. 2015, 10:32
Localisation : charente

Re: VLC media player en ligne de commande ?

Message par thier »

Peut être, je n'ai jamais essayé. Essai de passer les commandes du .sh par des os.execute en lua et tu serras fixé.
PI3+, Buster, Domoticz V2020.2, rflink, zwave, chauffage piloté par qubino, sondes oregon et Vil1d, boite aux lettres détection passage facteur, volets roulants qubino fibaro.
cyberbob
Messages : 511
Inscription : 28 nov. 2016, 19:43
Localisation : Belgique

Re: VLC media player en ligne de commande ?

Message par cyberbob »

Ok merci je vais regarder et tester...

Je viens de tester ça pour modifier le volume :

Code : Tout sélectionner

http://192.168.1.1:8080/requests/status.json?command=volume&val=200
avec l'ip où vlc est excécuté, et val de valeur 0 à 256 correspond au volume de 0 à 100%
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky
cyberbob
Messages : 511
Inscription : 28 nov. 2016, 19:43
Localisation : Belgique

Re: VLC media player en ligne de commande ?

Message par cyberbob »

Par contre lors de la première connexion, VLC demande un mot de passe (sans user name), a définir dans préférence avancée/interface principale/Lua/Lua par HTTP
Il y a donc une fenêtre qui s'ouvre pour s’authentifier et y mettre le mot de passe, bien sûr il faudrait mettre ce mot de passe dans le liens URL, j'ai essayer cette syntaxe mais ça ne fonctionne pas :

Code : Tout sélectionner

http://mot_de_passe@192.168.1.1:8080/requests/status.json?command=volume&val=200
Avez-vous une idées du pourquoi ??
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky
cyberbob
Messages : 511
Inscription : 28 nov. 2016, 19:43
Localisation : Belgique

Re: VLC media player en ligne de commande ?

Message par cyberbob »

la bonne syntaxe, pour script domoticz Lua (password a paramétrer dans VLC) :

Code : Tout sélectionner

os.execute('curl -u :password "http://192.168.1.5:8080/requests/status.xml?command=volume&val=256" ')
toutes les commanes http ici :
https://wiki.videolan.org/VLC_HTTP_requests/

C'est génial, avec ça on peut pratiquement tout commander dans VLC avec Domoticz :)
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky
Répondre