Pages : 1
#1 Le 04/03/2016, à 09:41
- ERGY13
Musique à travers SSH
Bonjour,
Je cherche actuellement à mettre en place une sorte de notification à travers SSH.
En gros, j'ai un fichier
notification.mp3
sur mon serveur. depuis le client je me connecte en SSH depuis le client, et j'aimerais pouvoir lancer typiquement un
./play_notif.sh
qui joue une notification chez le client. j'ai déjà cherché, mais j’ai toujours trouvé pour jouer sur le serveur, comme avec mpg123.
Merci
EDIT : je n'utilise aucune interface graphique sur le serveur. Si il faut utiliser un autre son, ça ne me dérange pas de changer ou même d'utiliser un son natif.
Dernière modification par ERGY13 (Le 04/03/2016, à 09:49)
Hors ligne
#2 Le 04/03/2016, à 13:41
- helias
Re : Musique à travers SSH
Bonjour ERGY13,
Pourrais tu être plus précis stp ?
Tu veux mettre une notification sonore sur un pc distant avec ssh ?
Voilà comment je ferais si j'étais toi :
J’enverrais le fichier son sur la machine distante :
scp alerte.mp3 <username>@<ipaddressDistant>: /home/user/alarme-ssh/
Puis lorsque ce sera le moment de déclencher cette alerte je ferais un :
cvlc /home/user/alarme-ssh/alerte.mp3
Tu peux bien sur faire tout ça dans un script.
Tu peux aussi passer par " arecord" pour transmettre du son ( le playback ) venant de ta carte son via SSH mais le problème etant la latence de celle ci ...
Alors qu'un son directement sur le PC distant, pas de latence niveau son
J'espère t'avoir aidé,
Hélias
Hors ligne
#3 Le 04/03/2016, à 17:21
- maxire
Re : Musique à travers SSH
Salut,
Tout simplement en utilisant le serveur Pulse Audio du client:
1 - Mettre le serveur Pulse Audio côté utilisateur client en écoute du serveur (port tcp 4713) :
pactl load-module module-native-protocol-tcp auth-anonymous=1 auth-ip-acl=Adresse IP serveur
2 - Se connecter au serveur via ssh et:
export PULSE_SERVER=tcp:Adresse IP client:4713
3 - sur le serveur play ....
4 - Une fois déconnecté du serveur passer la commande
pactl unload-module module-native-protocol-tcp
Pour arrêter l'écoute du serveur pulse audio du serveur.
Tu dois pouvoir mettre tout ceci dans un script.
Note: Le son ne sera pas diffusé via ssh, réfléchir à l'utilisation d'un tunnel ssh...
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#4 Le 04/03/2016, à 18:26
- Machtheld
Re : Musique à travers SSH
Salut,
C'est peut-être hors sujet, mais pourquoi vouloir utiliser ssh? Il y a mpd qui est fait pour cela, ou alors une application UPNP (par exemple Bubbleupnp ou eeZUPnP).
Hors ligne
#5 Le 05/03/2016, à 10:29
- maxire
Re : Musique à travers SSH
En fait ce que jj'ai proposé hier est du genre «Pourquoi faire simple quand on peut faire compliqué?».
Une solution simple;
ssh user@server cat notification.mp3 | play -
Explication: La commande cat va envoyer le contenu de notification.mp3 vers la sortie standard (ici le canal ssh) qui va être lue par la commande play pour peu que celle-ci utilise l'option - (lecture de l'entrée standard, ici le pipe).
play est disponible en installant sox (The Swiss Army knife of sound processing tools).
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#6 Le 06/03/2016, à 12:14
- ERGY13
Re : Musique à travers SSH
bonjour à tous,
en fait le but de faire passer le son par SSH est de pouvoir passer depuis n'importe quelle machine, sans avoir à s'embeter avec l'ouverture de port dans le cas d'un réseau externe. ah oui, entre temps j'ai convertit le fichier en ogg pour plus de compatibilité.
pour la solution avec play, depuis putty pour windows ça donne ça :
ergy13@serv01:~/musique$ cat notification.ogg | play -
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default
play FAIL formats: can't open output file `default': snd_pcm_open error: No such file or directory
ou alors ça :
ergy13@serv01:~/musique$ play notification.ogg
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default
play FAIL formats: can't open output file `default': snd_pcm_open error: No such file or directory
je me demande sinon si il n'y a pas juste moyen d'envoyer une notification pour que le client la joue nativement comme quand on essaie d'effacer un caractère qu'on ne peux pas effacer ?
le but c'est que depuis n'importe quel client le serveur puisse envoyer une notification sonore à l'utilisateur distant.
merci
Dernière modification par ERGY13 (Le 06/03/2016, à 12:17)
Hors ligne
#7 Le 06/03/2016, à 12:21
- maxire
Re : Musique à travers SSH
Salut,
Je reprends ce que tu as donné en exemple, tu devrais obtenir ceci (en plus d'un son):
[frankenstein@FRANKENSTEIN alerts]$ cat bark.ogg | play -
-: (vorbis)
File Size: 0
Encoding: Vorbis
Channels: 2 @ 16-bit
Samplerate: 48000Hz
Replaygain: off
Duration: unknown
In:0.00% 00:00:00.54 [00:00:00.00] Out:26.0k [ | ] Hd:3.8 Clip:0
Done.
[frankenstein@FRANKENSTEIN alerts]$
J'en déduis que tu as un problème localement.
Comment as-tu converti le fichier son?
Dernière modification par maxire (Le 06/03/2016, à 12:22)
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#8 Le 06/03/2016, à 12:26
- ERGY13
Re : Musique à travers SSH
j'ai converti avec http://www.online-convert.com/fr/result … 8dcd14935c
j'ai testé de l'ouvrir avec vlc, ça a marché. en même temps vlc il lit tout
EDIT : j'ai essayé de lire avec vlc sur le serveur :
ergy13@serv01:~/musique$ cvlc notification.ogg
VLC media player 2.1.6 Rincewind (revision 2.1.6-0-gea01d28)
[0x18f2a78] main interface error: no suitable interface module
[0x18c7118] main libvlc error: interface "globalhotkeys,none" initialization failed
[0x18f2ae8] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[0x18f2ae8] main interface error: no suitable interface module
[0x18c7118] main libvlc error: interface "dbus,none" initialization failed
[0x18f2ae8] dummy interface: using the dummy interface module...
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_card_driver returned error: Aucun fichier ou dossier de ce type
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_concat returned error: Aucun fichier ou dossier de ce type
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_refer returned error: Aucun fichier ou dossier de ce type
ALSA lib conf.c:4727:(snd_config_expand) Evaluate error: Aucun fichier ou dossier de ce type
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default
[0x199eac8] alsa audio output error: cannot open ALSA device "default": Aucun fichier ou dossier de ce type
[0x199eac8] main audio output error: La sortie audio a échoué
[0x199eac8] main audio output error: Le périphérique audio « default » ne peut pas être utilisé :
Aucun fichier ou dossier de ce type.
[0x199eac8] main audio output error: module not functional
[0x7f1dd0c13c48] main decoder error: failed to create audio output
Dernière modification par ERGY13 (Le 06/03/2016, à 12:35)
Hors ligne
#9 Le 06/03/2016, à 12:38
- maxire
Re : Musique à travers SSH
Au moins est-ce que le serveur pulse audio est démarré?
Es-tu en mode console ou bien dans un terminal ouvert en mode ghraphique?
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#10 Le 06/03/2016, à 12:40
- maxire
Re : Musique à travers SSH
Non, Lire le son sur le serveur, pas une bonne idée, en principe le nécessaire n'est pas installé, essaie ce que j'ai préconisé avec ssh à partir du client, à condition que le client soit capable de traiter le son.
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#11 Le 06/03/2016, à 12:53
- ERGY13
Re : Musique à travers SSH
En fait ce que jj'ai proposé hier est du genre «Pourquoi faire simple quand on peut faire compliqué?».
Une solution simple;
ssh user@server cat notification.mp3 | play -
Explication: La commande cat va envoyer le contenu de notification.mp3 vers la sortie standard (ici le canal ssh) qui va être lue par la commande play pour peu que celle-ci utilise l'option - (lecture de l'entrée standard, ici le pipe).
play est disponible en installant sox (The Swiss Army knife of sound processing tools).
j'avais pas compris. donc le pipe va rediriger l'output de ssh vers play ?
Hors ligne
#12 Le 06/03/2016, à 12:58
- maxire
Re : Musique à travers SSH
Oui, c'est son job.
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#13 Le 06/03/2016, à 13:19
- ERGY13
Re : Musique à travers SSH
ça c'est fait. par contre on a toujours un souci. comment le serveur peut ordonner au client de jouer le son ?
Hors ligne
#14 Le 06/03/2016, à 14:30
- maxire
Re : Musique à travers SSH
Je ne comprends plus trop ce que tu veux faire.
Ce que j'ai compris:
- Le fichier musical (notification) est hébergé par le serveur
- Le résutat (le son) de la lecture de ce fichier musical est envoyé vers le client
Par contre l'évènement déclencheur de tout ce processus où a-t-il lieu?
Sur le serveur ou le client?
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#15 Le 06/03/2016, à 17:02
- ERGY13
Re : Musique à travers SSH
le serveur doit donner l'ordre.
Hors ligne
#16 Le 06/03/2016, à 17:12
- maxire
Re : Musique à travers SSH
Dans ce cas, et tu aurais pu ou du le trouver tout seul, à partir du serveur:
cat notification.mp3 | ssh client@client play - -q
L'option -q supprime l'affichage de la progression de la lecture du fichier musical.
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#17 Le 06/03/2016, à 21:14
- ERGY13
Re : Musique à travers SSH
ouais, ça nécessite d'avoir un serveur ssh d'installé sur le client et surtout un accès à celui-ci. parce que si tu veux, le projet c'est qu'un client quelconque puisse se connecter en ssh depuis n'importe où et se connecter au chat. le chat quand à lui doit être capable de remonter une notification sonore à la réception d'un message. Oui j'aurais pu utiliser un serveur IRC je me serais moins fait chier. mais c'est pas le but. le but c'est de le faire complètement, et en bash.
Dernière modification par ERGY13 (Le 08/03/2016, à 09:17)
Hors ligne
Pages : 1