Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
project:audio_streaming [2016/08/31 21:41]
dron
project:audio_streaming [2016/09/06 21:46] (current)
dron
Line 1: Line 1:
 ====== Audio streming ====== ====== Audio streming ======
 +
 +|**Project owner:**| [[user:​dron]] |
 +|**Interested:​** | |
 +|**Related:​**| |
 +| **License:​** | [[https://​creativecommons.org/​licenses/​by-sa/​3.0/​|Uveďte původ-Zachovejte licenci CC BY-SA]] ​ |
  
 Základní motivace tohoto projektu je realizace audio streamu ze stage do studia na jednom milém malém festivalu (Letní zvěř 2016). Nicméně tyto principy lze použít kdykoli na cokoli... Základní motivace tohoto projektu je realizace audio streamu ze stage do studia na jednom milém malém festivalu (Letní zvěř 2016). Nicméně tyto principy lze použít kdykoli na cokoli...
Line 20: Line 25:
     * PC bazmek s line-out výstupem (příjem streamu)     * PC bazmek s line-out výstupem (příjem streamu)
     * mix     * mix
-    * ...co dál? TODO...+    * výstup z mixu je už streamován na skutečný stream server
  
 ===== WiFi ===== ===== WiFi =====
Line 132: Line 137:
  
 ==== Pulse audio ==== ==== Pulse audio ====
-Situace ​spíše s plnotučnou moderní Linuxovou distribucí (např. Fedora).+Situace spíše s plnotučnou moderní Linuxovou distribucí (např. Fedora).
  
 <​code>​ <​code>​
Line 192: Line 197:
 </​file>​ </​file>​
  
-Nyní je potřeba zjistit, jaký source (vstup) budeme streamovat ​(zajímá ​nás název source (druhý sloupec, např. ''​alsa_input.pci-0000_00_1b.0.analog-stereo''​))+Nyní je potřeba zjistit, jaký source (vstup) budeme streamovat. Zajímá ​nás název source (druhý sloupec, např. ''​alsa_input.pci-0000_00_1b.0.analog-stereo''​).
  
 <​code>​ <​code>​
Line 320: Line 325:
  
 Stream je pak dostupný na lokální adrese a portu 8000 např. přes browser. Stream je pak dostupný na lokální adrese a portu 8000 např. přes browser.
 +
 +Tento setup stačí pro stremování audia mnoha dalším uživatelům - záleží na dosažitelnosti adresy icecast serveru.
 +
 +Pokud chceme stream přehrát přímo na icecast serveru, pak např. utilitkou ogg123 (mpg123, mplayer,​...)
 +
 +<​code>​
 +ogg123 http://​10.0.0.11:​8000/​letnizver.ogg
 +</​code>​
  
 ==== Debug ==== ==== Debug ====
Line 341: Line 354:
 </​code>​ </​code>​
  
-===== Poznámky ===== +===== Poznámky ​ze Zvěře ​=====
  
 +  * Příště je potřeba dovézt uchozené a otestované kompletní řešení. Bastlit to na místě bylo mírně stresující... ​
 +  * Reálně byl na stage použit malý NB s externí zvukovkou a streamerem BUTT. Problém byl s uchozením externí zvukovky na RbPi (aspoň v rámci časového presu - otestovat a dopsat TODO). ​
 +  * WiFi fungovala bezproblémově,​ ale to se celkem čekalo, bylo to na cca 75m a přímou viditelnost ([[https://​mapy.cz/​s/​12INt]])
 +  * Nakonec byl místo ogg streamu použit mp3 192kbit stream. Ogg se z neznámých důvodů dost sekal (streamer bylo RbPi, které se ale nakonec nepoužilo)
 +  * Na stage běžel Icecast na RbPi a load minimální (ale reálně byl jen 1 klient, ).
 +  * Z nouze byl mezi Icecastem a mixem ještě vetknutý můj notebook, který přijímal stream a hrál jej pomocí mpg123 na lokální zvukovce.
  
 +==== tmp ====
  
 Tohle je jen dočasný bordel z předchozího pokusu. Protřídit TODO... Tohle je jen dočasný bordel z předchozího pokusu. Protřídit TODO...
Line 356: Line 375:
 </​code>​ </​code>​
  
- +seznam sinku na starsi verzi pactl
- +
-<​code>​ +
-/​etc/​ices.conf +
-</​code>​ +
- +
-<​file>​ +
-<​input>​ +
-    <​module>​stdinpcm</​module>​ +
-    <param name="​rate">​44100</​param>​ +
-    <param name="​channels">​2</​param>​ +
-    <param name="​metadata">​1</​param>​ +
-    <param name="​metadatafilename">/​home/​ices/​metadata</​param>​ +
-</​input>​ +
- +
- +
-<​instance>​ +
-    <​hostname>​stream.slu.cz</​hostname>​ +
-    <​port>​8000</​port>​ +
-    <​password>​********</​password>​ +
-    <​mount>/​dron.ogg</​mount>​ +
-    <​reconnectdelay>​2</​reconnectdelay>​ +
-    <​reconnectattempts>​5</​reconnectattempts>​ +
-    <​maxqueuelength>​80</​maxqueuelength>​ +
-    <​encode>​ +
-        <​nominal-bitrate>​64000</​nominal-bitrate>​ <!-- bps. e.g. 64000 for 64 kbps --> +
-        <​samplerate>​44100</​samplerate>​ +
-        <​channels>​2</​channels>​ +
-    </​encode>​ +
-</​instance>​ +
-</​file>​ +
- +
- +
-spustit paman, Devices, najit odpovidajici sink, dat Properties, a zkopirovat si radek Monitor Source. +
- +
-pak tento source preposleme do ices (a ten to enkodne a posle do icecastu) +
- +
-<​code>​ +
-parec -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor --raw | ices /​etc/​ices.conf +
-</​code>​ +
- +
-<​code>​ +
-yum install pulseaudio-utils paman ices icecast +
-</​code>​ +
- +
-seznam sinku+
  
 <​code>​ <​code>​
 LANG=C pactl list | grep -A2 '​Source #' | grep 'Name: ' | cut -d " " -f2 LANG=C pactl list | grep -A2 '​Source #' | grep 'Name: ' | cut -d " " -f2
 </​code>​ </​code>​
- 
-<​file>​ 
-alsa_output.pci-0000_00_1b.0.analog-stereo.monitor 
-alsa_input.pci-0000_00_1b.0.analog-stereo 
-</​file>​ 
- 
-<​code>​ 
-parec -d alsa_input.pci-0000_00_1b.0.analog-stereo --raw | ices /​etc/​ices.conf 
-</​code>​ 
- 
- 
- 
- 
- 
- 
- 
  
 ===== Links ===== ===== Links =====
  • project/audio_streaming.1472672500.txt.gz
  • Last modified: 2016/08/31 21:41
  • by dron