Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
dev:raspberry:serveur-audio [2013/05/08 13:08] – root | dev:raspberry:serveur-audio [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | |||
====== Serveur de son ====== | ====== Serveur de son ====== | ||
Ligne 11: | Ligne 12: | ||
sudo -i | sudo -i | ||
apt-get update | apt-get update | ||
- | apt-get install alsa-base pulseaudio pulseaudio-module-zeroconf | + | apt-get install alsa-base pulseaudio pulseaudio-module-zeroconf |
</ | </ | ||
Ligne 17: | Ligne 18: | ||
- | ===== Carger | + | ===== Charger |
Charger le pilote du périphérique son | Charger le pilote du périphérique son | ||
<code bash> | <code bash> | ||
- | modprobe | + | modprobe |
</ | </ | ||
Ligne 32: | Ligne 33: | ||
===== Configurer pulseaudio ===== | ===== Configurer pulseaudio ===== | ||
- | Configurer | + | Lancer automatiquement |
- | Dans la section Network access, décommenter et modifier | + | |
< | < | ||
- | 71 ### Network access (may be configured with paprefs, so leave this commented | + | # 0 = don't start, 1 = start |
- | 72 ### here if you plan to use paprefs) | + | PULSEAUDIO_SYSTEM_START=1 |
- | 73 # | + | |
- | 74 load-module module-native-protocol-tcp auth-ip-acl=127.0.01; | + | |
- | 75 load-module module-zeroconf-publish | + | |
</ | </ | ||
- | Vérifier que la ligne chargeant | + | < |
+ | Sous Jessy le fichier / | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | $ sudo cp / | ||
+ | $ sudo chmod 755 pulseaudio | ||
+ | $ sudo update-rc.d pulseaudio defaults 98 02 | ||
+ | </ | ||
+ | |||
+ | Remarque: Cette variable active le script de gestion du daemon dans / | ||
+ | |||
+ | |||
+ | Configurer le serveur pulseaudio pour qu'il écoute sur le réseau. Modifier le fichier de configuration **/ | ||
+ | |||
< | < | ||
- | 106 ### Automatically suspend sinks/sources that become idle for too long | + | ### Utiliser raspeberry comme serveur de son |
- | 107 load-module module-suspend-on-idle | + | load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1; |
+ | load-module module-zeroconf-publish | ||
+ | load-module module-rtp-recv | ||
</ | </ | ||
- | Lancer | + | < |
+ | L' | ||
+ | </ | ||
+ | |||
+ | Démarrer le service | ||
+ | <code bash> | ||
+ | root@raspberrypi:~# service pulseaudio start | ||
+ | </ | ||
+ | |||
+ | On peut vérifier que le serveur ecoute sur 5353 (RTP multicast) | ||
<code bash> | <code bash> | ||
- | pulseaudio | + | $ netstat |
</ | </ | ||
Ligne 63: | Ligne 85: | ||
Si lors de l' | Si lors de l' | ||
- | Vérifier si root peut lancer la commande. Si c'est le cas, vérifier que l' | + | Vérifier si root peut lancer la commande. Si c'est le cas, vérifier que l' |
+ | |||
+ | <code bash> | ||
+ | $ sudo usermod -a -G pulse-access pi | ||
+ | </ | ||
Vérifier que le pilote du périphérique audio est chargé | Vérifier que le pilote du périphérique audio est chargé | ||
Ligne 89: | Ligne 115: | ||
<code bash> | <code bash> | ||
sudo apt-get install mpg123 | sudo apt-get install mpg123 | ||
+ | </ | ||
+ | |||
+ | ===== Configurer les clients ===== | ||
+ | |||
+ | Il faut maintenant configurer les postes clients pour qu'ils se connectent au serveur pulseaudio du raspberry. Pour que pulseaudio puisse détecter automatiquement les périphériques présents sur le réseau il faut sur chaque poste: | ||
+ | |||
+ | * pulseaudio et le module zeroconf | ||
+ | * avahi | ||
+ | |||
+ | cela installer les paquets suivants: | ||
+ | <code bash> | ||
+ | yoann@hermes: | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Dans les distributions récentes, le paquet padevchooser n' | ||
+ | </ | ||
+ | |||
+ | Menu Applications >> son et vidéo >> | ||
+ | Selectionner Configure Local Sound Server... | ||
+ | Activer l' | ||
+ | Onglet Multicast/ | ||
+ | |||
+ | |||
+ | Redirger les application ALSA | ||
+ | Rediriger les application utilisant ALSA sur le serveur pulseaudio. Modifier le fichier / | ||
+ | |||
+ | Coté client, inserer dans le fichier / | ||
+ | < | ||
+ | load-module module-zeroconf-discover | ||
+ | </ | ||
+ | |||
+ | Si le serveur n’apparaît pas dans les périphérique, | ||
+ | <code bash> | ||
+ | pacmd load-module module-tunnel-sink server=192.168.1.10 | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Optimisations diverses ===== | ||
+ | |||
+ | ==== Réduire la mémoire GPU ==== | ||
+ | |||
+ | Réduire la quantité de mémoire allouée exclusivement au GPU. Je l'ai passée au minimum 16 MO. | ||
+ | |||
+ | |||
+ | ==== Désactiver les consoles ttyX ==== | ||
+ | |||
+ | Les connexion se font via ssh, on peut désactiver les consoles ttyX. Éditer le fichier ''/ | ||
+ | |||
+ | <code bash> | ||
+ | telinit q | ||
+ | </ | ||
+ | |||
+ | ===== Problèmes de son ===== | ||
+ | |||
+ | Rapidement le son joué par le serveur saccade fortement. Le problème disparaît si le daemon est lancé en tant que root: | ||
+ | |||
+ | <code bash> | ||
+ | / | ||
</ | </ | ||
Ligne 95: | Ligne 180: | ||
* http:// | * http:// | ||
+ | * http:// | ||
* https:// | * https:// | ||
* http:// | * http:// | ||
+ | * http:// | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * http:// | ||