Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/03/2016, à 10: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 smile

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, à 10:49)

Hors ligne

#2 Le 04/03/2016, à 14: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 wink

Je te laisse ce lien qui explique comment rediriger son micro via SSH mais le principe est le même pour un autre son

J'espère t'avoir aidé,
Hélias

Hors ligne

#3 Le 04/03/2016, à 18: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, à 19: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, à 11: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, à 13: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 smile

Dernière modification par ERGY13 (Le 06/03/2016, à 13:17)

Hors ligne

#7 Le 06/03/2016, à 13: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, à 13:22)


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#8 Le 06/03/2016, à 13: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 wink

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, à 13:35)

Hors ligne

#9 Le 06/03/2016, à 13: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, à 13: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, à 13:53

ERGY13

Re : Musique à travers SSH

maxire a écrit :

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, à 13: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, à 14: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, à 15: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, à 18:02

ERGY13

Re : Musique à travers SSH

le serveur doit donner l'ordre.

Hors ligne

#16 Le 06/03/2016, à 18: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, à 22: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, à 10:17)

Hors ligne