Уголок СУ-11 на просторах вселенной

понедельник, 5 октября 2009 г.

Передача звука с микрофона по сети

Иногда Linux просто потрясает меня своей простотой и гибкостью, на опеннете увидел следующий пост.
источник тут
Потребовалось незаметно прослушать, что происходит в удалённом помещении в
котором находился компьютер в Linux, с настроенным ssh и Web камерой.

Для чтения с устройства hw:2,0, с временем прерывания 5 секунд, в формате wav
нужно использовать команду:

arecord -F 5 -D hw:2,0 -t wav -f dat -c 1

имя устройства можно узнать так:

cat /proc/asound/pcm
01-00: SAA7134 PCM : SAA7134 PCM : capture 1
00-01: AD198x Digital : AD198x Digital : playback 1
00-00: AD198x Analog : AD198x Analog : playback 1 : capture 1
02-00: USB Audio : USB Audio : capture 1

Для преобразование в mp3 потока из stdin и выводе результата в stdout:

lame -

Для проигрывания mp3 потока с stdin

mpg123 -

В итоге команда для прослушивания выглядит так:

ssh user@host "arecord -F 5 -D hw:2,0 -t wav -f dat -c 1 | lame -" | mpg123 -

или

ssh user@host "arecord -F 5 -D hw:2,0 -t wav -f dat -c 1 | lame -" > listening.mp3

При подключение к host запускается команда записи с микрофона, конвертирования
и записи потока "звука" в stdout который передаётся через ssh на локальный
компьютер, на котором этот поток направляется в mp3 проигрыватель или файл

Комментариев нет: