Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
project:audio_streaming [2016/08/31 21:27] dron |
project:audio_streaming [2016/09/01 00:49] 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 60: | Line 65: | ||
</code> | </code> | ||
- | Je potřeba si poznačit Card a Device numbers - alsa device ja pak označeno jako ''hw:Card,Device'' (např. ''hw:1,0''). | + | Je potřeba si poznačit Card a Device numbers - alsa device ja pak označeno jako ''hw:Card,Device'' (např. ''hw:0,1''). |
Nainstalujeme a připravíme config Ices (pozor na řádek ''<param name="device">hw:0,1</param>''). | Nainstalujeme a připravíme config Ices (pozor na řádek ''<param name="device">hw:0,1</param>''). | ||
Line 125: | Line 130: | ||
</file> | </file> | ||
+ | a spustíme ices | ||
+ | <code> | ||
+ | ices /etc/ices.conf | ||
+ | </code> | ||
==== Pulse audio ==== | ==== Pulse audio ==== | ||
+ | Situace spíše s plnotučnou moderní Linuxovou distribucí (např. Fedora). | ||
<code> | <code> | ||
Line 189: | 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''). | ||
<code> | <code> | ||
- | parec -d streaming.monitor --raw | ices /etc/ices.conf | + | pactl list short sources |
</code> | </code> | ||
+ | Poznámka: Pokud má source příponu ''.monitor'', tak se jedná o monitor (odposlech) toho, co hraje na odpovídajícím výstupu. | ||
- | ==== Debug ==== | + | Poznámka: Pokud bychom chtěli posílat přímo výstup nějaké konkrétní, audio výstup produkující, aplikace, tak viz. [[https://wiki.archlinux.org/index.php/PulseAudio/Examples#Monitor_specific_output]] |
- | pactl stat | + | Ices nemá podporu přímo pro Pulseaudio, ale lze to obejít pomocí modulu stdinpcm a posíláním audia do stdin ices. |
- | pactl list | less | + | |
- | v nejake verzi asi tez | + | <code> |
+ | parec -d alsa_input.pci-0000_00_1b.0.analog-stereo --raw | ices /etc/ices.conf | ||
+ | </code> | ||
- | pactl list short sinks | + | ==== Debug ==== |
+ | <code> | ||
tail -f /var/log/ices/ices.log | tail -f /var/log/ices/ices.log | ||
+ | </code> | ||
===== Studio ===== | ===== Studio ===== | ||
Line 313: | 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 335: | Line 355: | ||
===== Poznámky ===== | ===== Poznámky ===== | ||
- | |||
- | |||
- | |||
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 349: | Line 366: | ||
</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> | ||
Line 404: | Line 376: | ||
alsa_input.pci-0000_00_1b.0.analog-stereo | alsa_input.pci-0000_00_1b.0.analog-stereo | ||
</file> | </file> | ||
- | |||
- | <code> | ||
- | parec -d alsa_input.pci-0000_00_1b.0.analog-stereo --raw | ices /etc/ices.conf | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===== Links ===== | ===== Links ===== |