Forum Linux.général Deporter le son sur une machine distante

Posté par  (site web personnel) .
Étiquettes : aucune
0
13
avr.
2006
Bonjour,

J'ai 2 machines en reseau :

  • 1 portable puissant avec des enceintes pourri

  • 1 desktop lent mais avec de bonnes enceintes



Je souhaiterais que

  • Quand le pc de bureau est allumé et accessible en reseau, le son soit deporté sur cette machine.

  • Quand le pc est eteint, le son soit joué sur les enceintes du portable

  • Que je n'ai rien à manipulé pour preciser de jouer sur l'interface locale ou distante

  • J'utilise principalement gnome mais il m'arrive d'utiliser des applications autres, et j'aimerais bien que ce soit de plus bas niveau possible de façon à ne pas trop me prendre la tete


  • Vers qu'elle solutions m'orienteriez vous ?

    Bonne soirée

    Julien
  • # ESD?

    Posté par  (site web personnel) . Évalué à 2.

    Je pense que il ya quelque chose du style dans ESD qui pourrai t'interresser.... mais je n'ai jamais tester

    http://linuxfr.org/tips/488.html
    • [^] # Re: ESD?

      Posté par  . Évalué à 2.

      ESD est effectivement la solution. Si toutefois tu as besoin de plus d'une source ou plus d'une sink, tu peux essayer polypaudio (si par exemple plusieurs ordinateurs doivent envoyer du son sur ton ordi avec de bonnes enceintes), car EsounD n'accepte qu'une connexion à la fois.

      J'ai le même problème chez moi : un portable, et un petit ordi vers la chaîne. Ca ne répond pas complètement à ton idée, mais j'ai fait un petit programme qui switche gstreamer entre alsa et esound (ça marche pour les applis gnome).


      #!/bin/sh

      gconf="/usr/bin/gconftool-2"
      current=`${gconf} -g /system/gstreamer/0.10/default/audiosink`
      title="Choix de la sortie son"

      function setesd {
      ${gconf} -s -t string /system/gstreamer/0.10/default/audiosink esdsink
      notify-send -u low -t 7200 -i file:///usr/share/pixmaps/gnome-grecord.png "$title" "Chaîne Hi-Fi"
      }

      function setalsa {
      ${gconf} -s -t string /system/gstreamer/0.10/default/audiosink alsasink
      notify-send -u low -t 7200 -i file:///usr/share/pixmaps/gnome-grecord.png "$title" "Haut-parleurs"
      }

      [ ${current} = "esdsink" ] && setalsa || setesd

      En prime, ça te met une petite bulle de notification dans gnome. Il suffit d'ajouter un bouton sur la barre gnome appelant ce script pour faire le switch. Ce n'est donc pas automatique, et ça ne marche que pour les applis gstreamer, et pas en cours de lecture (il faut arrêter le morceau et rappuyer sur play). Je pense à étoffer la chose pour les autres applis (en faisant une substitution dans les fichiers de configuration de bmp, xmms, ou vlc).
      • [^] # Re: ESD?

        Posté par  . Évalué à 2.

        Je viens de trouver quelque chose de **très** intéressant. Le type qui développe polypaudio a écrit un module alsa qui fait client polypaudio. Du coup, il suffirait de laisser gstreamer en alsa, toutes les autres applis en alsa, et de charger ce module alsa au besoin (tu peux ensuite détecter périodiquement si ton serveur de son est démarré, et activer ce module au besoin).

        https://tango.0pointer.de/pipermail/polypaudio-discuss/2006-(...)
      • [^] # Re: ESD?

        Posté par  (site web personnel) . Évalué à 1.

        Ou est ce que tu precise l'adresse du serveur ?
        • [^] # Re: ESD?

          Posté par  . Évalué à 1.

          Ah oui, j'oubliais. Tu peux définir une variable d'environnement ESPEAKER dans ton .bashrc du type

          export ESPEAKER="monserveur:16001"

          Et pour gstreamer, si jamais tu as esound installé sur ta machine, il l'utilise : c'est embêtant. On peut préciser cela en ajoutant comme argument host=monserveur:16001 à esdsink dans gconf. Au final, en ligne de commande :

          gconftool-2 -s -t string /system/gstreamer/0.10/default/audiosink esdsink host=monserveur:16001

          Il suffit de modifier le script donné pour en tenir compte.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.