====== La machine à flux ====== Ou comment se monter pour moins de 20$ un serveur de stream du son ambian ou d'un patch puredata On part d'une orange Pi de base qu'on flash avec un systeme , stable ou pas .. cf http://armbian * l'orange pi https://fr.aliexpress.com/store/product/New-Orange-Pi-Zero-H2-Quad-Core-Open-source-development-board-beyond-Raspberry-Pi/1553371_32760774493.html?spm=a2g0w.12010612.0.0.734510e7tXbX7a a 9,42 sur le moment * une micro SD classe 10 c'est mieux .. 8€ * une alimentation qu'on peut récupérer ailleurs , attention elle doit faire plus de 2A ! ===== télécharger ===== une image https://dl.armbian.com/orangepizero/Ubuntu_xenial_default.7z par exemple décompressez la chose , cela peut se faire dans un terminal par 7z apt install p7zip-full 7z e Ubuntu_xenial_default.7z On boot la machine , la connecte à son réseau personnel, elle va prendre une IP .. ===== IP et accès===== Trouver l'IP grace a #si on a pas nmap apt install nmap nmap -sP 192.168.0.0/24 # ou 192.168.1.0/24 si le réseau est plutot de ce coté on repere la machine "Nmap scan report for orangepizero ... (192.168.1.153) pour moi ssh root@192.168.1.xxx permet d'y acceder Le premier accès: - mot de passe = 1234 - (current) UNIX password: 1234 - Enter new UNIX password: NouvoPass # par ex - Retype new UNIX password: NouvoPass - Please provide a username (eg. your forename): pi # par ex - Validez le reste avec aussi un mot de passe # notez les ! Installation des programmes Dans le cas ou l'image est avec un linux 4 et pas 3.11 sed -i /boot/armbianEnv.txt -e "s/overlays=usbhost2/overlays=usbhost2 analog-codec/" # cela ouvre pour un linux 4 la carte son # le reboot sera necessaire pour la prise en compte ===== installation des logiciels ===== sinon avec l'image stable armbian du moment on peut vérifier l'acces à la carte son par alsamixer Attention après avoir fait les niveaux, il faut bien avoir un capture active pour micro1 touche ";" ### puis installations # partie alsa base cat < /etc/asound.conf pcm.!default { type hw ; card 0 } ctl.!default { type hw ; card 0 } EOF # flux apt-get update apt install -y darkice icecast2 libnss-mdns # repondre non pour la config de icecast systemctl disable icecast2 systemctl stop icecast2 sed -i /etc/icecast2/icecast.xml -e "s/10655358191access.log-error.log-30nobodypinobodypi /etc/darkice.cfg [general] duration = 0 bufferSecs = 1 reconnect = yes [input] device = hw:0,0 # pour le micro interne sampleRate = 44100 bitsPerSample = 16 channel = 1 [icecast2-0] bitrateMode = abr format = vorbis bitrate = 64 server = localhost port = 8000 password = hackme mountPoint = flux-orange-1.ogg name = flux-orange-1 description = flux d une OrangePi url = http://flux-orange-1:8000/flux-orange-1.ogg # A changer si necessaire selon le DNS genre = experimental public = yes EOF ===== Wifi ou pas ===== si Wifi, la connexion automatique à votre AP: cat < /etc/rc.local #!/bin/bash sleep 5 nmcli dev wifi connect "SSID_de_votre_reseau" password 123... & sleep 10 su root -c "/usr/local/bin/stream.sh 2>&1 > /dev/null" & exit 0 EOF sinon cat < /etc/rc.local #!/bin/bash sleep 5 #nmcli dev wifi connect "SSID_de_votre_reseau" password 123... & #sleep 10 su root -c "/usr/local/bin/stream.sh 2>&1 > /dev/null" & exit 0 EOF ===== LE lanceur ===== cat < /usr/local/bin/stream.sh #!/bin/bash icecast2 -c /etc/icecast2/icecast.xml 2>&1 > /tmp/icecast.log & while true do sleep 5 darkice 2>&1 >> /tmp/darkice.log done exit 0 EOF chmod 755 /usr/local/bin/stream.sh ===== C'est fini ===== reboot Et voila le stream est accessible , a vous de faire le routage au niveau de la box si necessaire mais déjà http://192.168.1.xxx:8000 donne la page de icecast2 pensez à faire les volumes en accédant par le ssh root à alsamixer options: sed -i /etc/icecast2/icecast.xml -e "s/hackme/NouveauPass/" # pensez au pass ; option pour le debut echo "choisissez un nom de machine" read HOSTNAME export HOSTNAME echo $HOSTNAME > /etc/hostname sed -i /etc/hosts -e "s/orangepizero/$HOSTNAME/" sed -i /etc/darkice.cfg -e "s/localhost.localdomain/$HOSTNAME/" Sur ma orange pi les réglages par alsactl store => /var/lib/alsa/asound.state {{ :arm:asound.state.tar |}} Réglage de la fréquence CPU max pour éviter la chauffe sans radiateur : cat < /etc/default/cpufrequtils ENABLE=true MIN_SPEED=240000 MAX_SPEED=816000 GOVERNOR=ondemand EOF