Już dawno temu zmierzyłem się z tym problemem, dlatego zamieszczam dwa rozwiązania, które dla mnie zadziałały.
Pierwszym rozwiązaniem jest, jeśli chcesz tylko strumieniowe przesyłanie dźwięku.
- Krok 1: Instalowanie ffmpeg.
Nie używaj pakietu ffmpeg z repozytorium Raspbian apt-get, ponieważ jest on przestarzały.
Właściwy sposób:
cd /usr/src
sudo git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
- Krok 2: Kompilacja ffmpeg.
Teraz,
sudo ./configure && sudo make && sudo make install
Idź na przerwę, to zajmie trochę czasu!
- Krok 3: Rozpocznij nagrywanie.
Możesz także użyć innych kodeków, użyłem mp2, ponieważ znacznie zmniejsza użycie procesora.
arecord -f cd -D plughw:1,0 | ffmpeg -re -i - -acodec mp2 -ab 32k -ac 1 -f rtp rtp://224.1.2.3:7000
Uwaga : Ten adres IP jest rodzajem adresu multiemisji ([224-239] .xyz). Nie kieruj go więc na określone urządzenie sieciowe w sieci LAN.
- Krok 4: Wyniki słuchania.
Otwórz VLC na komputerze podłączonym do tej samej sieci.
Idź do mediów -> strumień sieci -> wpisz adres IP, tutaj rtp: //224.1.2.3: 7000
Drugie rozwiązanie dotyczy jednoczesnego nagrywania dźwięku i obrazu.
- Wykonaj kroki 1 i 2. (Pamiętaj, aby znaleźć się we właściwym katalogu)
- Krok 3: Rozpocznij nagrywanie.
Zmienia się to, ponieważ ffmpeg zapewnia pełne strumieniowanie multimediów.
ffmpeg -f alsa -ac 1 -i hw:1 -ar 44100 -f mpegts udp://10.10.0.96:1234
- Krok 4: Wyniki słuchania.
Otwórz VLC na komputerze podłączonym do tej samej sieci.
Idź do mediów -> strumień sieci -> wpisz adres ip, tutaj udp: // @: 1234
arecord -f cd -D plughw:0 -d 10 a.wav