Linux Audio Streaming / Icecast

From Hackerspace ACKspace
Revision as of 18:33, 16 December 2012 by PsychiC (talk | contribs)
Jump to: navigation, search

Omdat linux en audio nog steeds ZUIGT en de documentatie OOK heb ik hier zelf maar een info dump plek :-)

VLC en streaming faalt ook hard omdat je geen deugelijke info kunt achterhalen/instellen.

Korte versie :

ICECAST - Server

DARKICE - Client

ALSAMIXER - Instellen input



INPUT :

root@ACK:/etc/icecast2# arecord --list-devices
**** List of CAPTURE Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 2: ALC662 rev1 Analog [ALC662 rev1 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Live [SB Live! Value [CT4832]], device 0: emu10k1 [ADC Capture/Standard PCM Playback]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Live [SB Live! Value [CT4832]], device 1: emu10k1 mic [Mic Capture]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Live [SB Live! Value [CT4832]], device 2: emu10k1 efx [Multichannel Capture/PT Playback]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@ACK:/etc/icecast2# 

Als je de line in van de SBLive wil hebben, kies je in dit voorbeeld hw1:0, de rest gaat uit van dit device.

Met alsamixer kun je record devices en niveau instellen

root@ACK:/etc/icecast2# alsamixer -c 1 -V capture

Met spatie kun  je device kiezen en met pijltjes volume instellen




ICECAST

Als je zelf streaming server wil draaien

apt-get install icecast2


info/handleiding volg

((standaard config /etc/icecast.xml))




DARKICE

Streaming Client

Nodig om line in door te zetten naar icecast server.

apt-get install darkice

Er is een gui-iets genaamd darksnow, maar die is oud en geeft geen juiste config.

Gebruik man darkice.cfg voor de commandos/opties


Starten :

darkice -v 10 -c <config>





Voorbeeld config :


[general]
duration = 0 # duration of encoding, in seconds. 0 means forever
bufferSecs = 20 # size of internal slip buffer, in seconds
reconnect = yes # reconnect to the server(s) if disconnected


# this section describes the audio input that will be streamed

[input]
device = hw:1,0 # Alsa soundcard device for the audio input
sampleRate = 44100 # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample = 16 # bits per sample. try 16
channel = 2 # channels. 1 = mono, 2 = stereo

# this section describes a streaming connection to an IceCast2 server
# there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7]
# these can be mixed with [icecast-x] and [shoutcast-x] sections

[icecast2-0]
bitrateMode = cbr # constant bit rate
bitrate = 192 # bitrate
format = mp3 # format of the stream: mp3
quality = 1.0 # quality of the stream sent to the server
server = ............. # host name of the server
port = 8000 # port of the IceCast2 server, usually 8000
password = .................  # source password to the IceCast2 server
mountPoint = test.mp3 # mount point of this stream on the IceCast2 server
name = Test # name of the stream
description = Test # description of the stream
url = http://test.com # URL related to the stream
genre = Test # genre of the stream
public = no # advertise this stream?
localDumpFile = test.mp3 # Record also to a file

[icecast2-1]
bitrateMode = cbr # constant bit rate
bitrate = 192 # bitrate
format = vorbis # format of the stream: mp3
quality = 1.0 # quality of the stream sent to the server
server = ...........  # host name of the server
port = 8000 # port of the IceCast2 server, usually 8000
password = ....................  # source password to the IceCast2 server
mountPoint = test.ogg # mount point of this stream on the IceCast2 server
name = Test # name of the stream
description = Test # description of the stream
url = http://test.com # URL related to the stream
genre = Test # genre of the stream
public = no # advertise this stream?
localDumpFile = test.ogg # Record also to a file