Aller au contenu principal
Sujet résolu
Ce sujet a été marqué résolu et ne nécessite aucune autre attention.
Sujet: Obtenir l'audio quand on se connecte avec ssh -X user@hote (Lu 1826 fois) sujet précédent - sujet suivant

Obtenir l'audio quand on se connecte avec ssh -X user@hote

Bonjour,

J'utilise deux PCs sous opensuse 15.1 en réseau local cablé.
J'ai l'habitude de  me connecter de l'un vers l'autre avec la commande ssh -X user@hote
Cela marche très bien pour la partie video.

Néanmoins, dans le cas où je fais du montage video, j'aimerais bien récupérer le son de l'ordinateur distant, et sans perturber l'utilisateur qui est dessus.
D'après des sites internet consultés, il semblerait que paprefs puisse être une solution.
J'ai bien tenté de la lancer, mais les onglets réseau qui m'intéressent sont tous grisés:
- network access
- network server
- multicast/RTP

Quelqu'un parmi vous a déjà essayé de renvoyer l'audio à distance ?

Merci d'avance.

Wallace

Re : Obtenir l'audio quand on se connecte avec ssh -X user@hote

Répondre #1
Bonjour,
Je progresse : si les onglets de paprefs étaient grisés, c'est parce qu'il manquait le paquetage :
pulseaudio-module-gsettings

Je vais maintenant pouvoir tester en cochant dans les onglets.

Je vous tiens au courant.

Wallace

Re : Obtenir l'audio quand on se connecte avec ssh -X user@hote

Répondre #2
Bonjour,

Voici une solution trouvée pour le problème posé.

Le principe est d'utiliser pulseaudio à distance.

Voici les étapes:

1) Activer l'utilisation de pulseaudio en réseau.
Il faut installer les paquetages :
- paprefs
- pulseaudio-module-gsettings
Après cette installation, rebooter.

Pour lancer paprefs, taper paprefs dans un terminal, ou Preferences de PulseAudio dans le sous-menu Multimédia du lanceur d'application.

Dans les onglets qui apparaissent, cocher respectivement :
Network Access :
- Make discoverable PulseAudio network sound devices available locally
Network Server :
- Activer l'accès réseau aux périphériques de son locaux
- Permettre aux autres machinbes sur le réseau local de découvrir les périphériques de son locaux
- Don't require authentification
Multicast/RTP :
- rien (j'en reparlerai plus bas)

Après cette configuration, rebooter.
Pour éviter de rebooter, j'ai essayé de taper les commandes dans un terminal, pour arrêter et relancer pulseaudio :
pulseaudio -D
pulseaudio -k
Mais ça n'a pas marché.

Pour la suite, je vais prendre l'exemple des deux machines :
ordi-hote : c'est le PC qui a une carte PCIexpress TNT-HD, reliée à une antenne
ordi-client : c'est celui où on veut regarder la TV
Les deux machines ont un utilisateur appelé toto (vachement original !)

Configurer paprefs pour l'utilisateur toto sur les deux machines, en utilisant le paragraphe 1).

2) Mise en application de la liaison entre machines (on n'en est pas encore à ssh, patience !)

Se connecter localement sur "ordi-hote" avec l'utilisateur toto
Sur "ordi-hote", lancer localement Kaffeine pour regarder la TNT.
Dans Kaffeine :
Menu Lire
        Audio
            Périphérique Audio
           
On remarque que la liste des périphériques audio fait apparaître ceux de la machine "ordi-hote", mais également ceux de la machine "ordi-client" suivis du nom "on toto@client"

Cela permet donc de lancer la lecture TNT en envoyant le son sur la machine "ordi-client". Et effectivement, l'"ordi-client" va faire entendre le son de la TNT. A condition que quelqu'un soit connecté localement sur "ordi-client" acvec l'utilisateur toto.

Mais, ce n'est pas vraiment ce que nous voulions faire au début de cette histoire. Le but était de lancer cela depuis la machine "ordi-client".

3) Stopper Kaffeine sur l'ordi-hote, et on peut même déconnecter l'utilisateur toto

Allons maintenant sur "ordi-client".

4) Maintenant, le moment est venu d'utiliser ssh

Se connecter localement sur "ordi-client" avec l'utilisateur toto
Taper:
ssh -Y toto@ordi-hote

Nous retrouvons à distance l'invite de commande de l'ordi-hote : toto@ordi-hote

Taper: kaffeine.

Il démarre, et permet d'afficher l'image de la TNT.
Comme tout à l'heure, regardons ce que donnent les menus décrits au-dessus :
    Surprise : les périphériques audio de "ordi-client" n'apparaissent pas !
   
Après de multiples recherches, j'ai trouvé la commande à taper :
pax11publish -r

Cette commande est à taper après s'être connecté à distance à ordi-hote, et avoir obtenu l'invite de commande de l'ordi-hote.

Et là, miracle ! Si vous relancez kaffeine, vous verrez apparaître les périphériques audio de "ordi-client" dans le menu fichier.
           
Je ne sais pas l'expliquer. Les plus curieux peuvent aller voir à :
https://unix.stackexchange.com/questions/193208/program-run-in-ssh-accessing-pulseaudio-on-the-machine-where-it-runs

Dans Kaffeine, vous choisissez le périph audio de l'ordi client près duquel vous êtes physiquement installé.
Et vous avez donc l'image, et le son de Kaffeine !

5) Astuces
Kaffeine permet de choisir sa sortie audio via les menus.
Malheureusement, tous les logiciels ne le permettent pas.
Par exemple, si vous voulez faire tourner Avidemux à distance sur "ordi-hote" depuis "ordi-client", vous ne pourrez pas choisir le périphérique de sortie audio.
Pour résoudre cela, la solution est :
- installer le paquetage pavucontrol sur l'ordi-hote
- dans l'invite de commande de l'ordi-hote, la toto@ordi-hote, taper avidemux3_qt5 pour lancer Avidemux
- dans le pc invité, lancez un nouveau terminal local, et taper encore:
ssh -Y toto@ordi-hote
- dans cette invite de commande de l'ordi-hote, tapez :
pavucontrol

Dans Avidemux, lancer la lecture du fichier qui vous intéresse.
Dans la fenêtre de pavucontrol, dans l'onglet Lecture, vous devriez voir apparaître Avidemux, et pouvoir envoyer son flux audio vers "périphérique on toto@client"

6) Complément 1
Au paragraphe 1 , dans les Préférences de PulseAudio, vous pouvez cocher, dans l'onglet Multicast/RTP:
- Enable Multicast/RTP sender
- Create separate audio device for Multicast/RTP
Cela va envoyer aussi l'audio vers ordi-client.
Mais, cela va envoyer, en permanence, un flux de données permanent de 176kOctets/sec (c'est ce j'ai visualisé avec gkrellm sur mon ordi). En permanence veut dire : même si l'utilisateur toto ne fait tourner aucun logiciel.
Je suggère d'éviter ça, si en plus vous êtes en Wifi.

7) Complément 2
A gré de mes recherches, j'ai trouvé des consignes pour retoucher le fichier :
/etc/pulse/default.pa
Ce n'est pas utile de le retoucher.
C'est paprefs qui fait le boulot, mais pour le seul utilisateur pour lequel il a été lancé.

8) Dernière remarque :
La commande magique pax11publish -r est à relancer après chaque reboot du ordi-hote

Bons tests !

Wallace



Re : Obtenir l'audio quand on se connecte avec ssh -X user@hote

Répondre #3
Merci pour le partage

 

Re : Obtenir l'audio quand on se connecte avec ssh -X user@hote

Répondre #4
Salut ;)

Bravo à Toto, et Merci :)