Добрый день!
Появилась необходимость трансляции звука с микрофона в интернет с помощью icecast.
На Ubuntu server 20.04 были установлены:
- Icecast
- Darkice
- ALSA
Ничего не предвещало беды...
Столкнулся со следующей проблемой. Связка icecast и darkice работает нормально. Darkice берёт поток из hw:0,0 и отсылает айскасту. Но на выходе - тишина.
Конфиг даркайса:
[general]
duration = 0 # duration in s, 0 forever
bufferSecs = 1 # buffer, in seconds
reconnect = yes # reconnect if disconnected
[input]
device = hw:0,0 # `pulse' for Pulseaudio
sampleRate = 22050 # sample rate 11025, 22050 or 44100
bitsPerSample = 16 # bits
channel = 2 # 2 = stereo
[icecast2-0]
bitrateMode = abr # variable bit rate (`cbr' constant, `abr' average)
quality = 1.0 # 1.0 is best quality
format = mp3 # format. Choose `vorbis' for OGG Vorbis
bitrate = 16 # bitrate
lowpass = 5000
sampleRate = 22050
server = ip.address # or IP
port = 8000 # port for IceCast2 access
password = ****** # source password to the IceCast2 server
mountPoint = live # mount point on the IceCast2 server .mp3 or .ogg
name = HGL d.30 Live
description = Service translation
genre = live
С этим всё вроде в порядке.
Пробую записать звук с микрофона через альсу в файл:
arecord -d 60 rec
В течении минуты перетыкаю штекера, кричу, громыхаю, затем анализирую полученную запись:
root@mail:/home/thescs# sox rec -n stat
sox WARN wav: Premature EOF on .wav input file
Samples read: 132770
Length (seconds): 16.596250
Scaled by: 2147483647.0
Maximum amplitude: 0.000000
Minimum amplitude: 0.000000
Midline amplitude: 0.000000
Mean norm: 0.000000
Mean amplitude: 0.000000
RMS amplitude: 0.000000
Maximum delta: 0.000000
Minimum delta: 0.000000
Mean delta: 0.000000
RMS delta: 0.000000
Rough frequency: -2147483648
Всё по нулям...
Через alsamixer включил все каналы, задрал их уровни до максимума. Но нифига.
На этом моменте я застопорился. Два часа, проведённые в гугле не привели ни к какому результату.
Я склоняюсь к мнению, что проблема непосредственно в альсе.
Хабровчане, помогите пожалуйста.