RTSP-микрофон представляет собой Raspberry Pi с подключенной по USB внешней звуковой картой. Звук из микрофона, подключаемого к звуковой карте, кодируется в AAC с помощью фреймворка GStreamer
и отправляется программе rtsp-simple-server.
Аудиопоток можно получить с другого устройства, открыв URL в плеере VLC: rtsp://xxx.xxx.xxx.xxx/0
(вместо xxx... поставить IP-адрес Raspberry Pi). Или через ffplay: ffplay rtsp://xxx.xxx.xxx.xxx/0
Саму Raspberry для работы нужно только подключить к питанию и в сеть.
Чтобы не настраивать все ПО заново на новой Raspbery PI, можно воспользоваться готовым образом системы. Для этого его нужно записать на чистую SD-карту.
Что для этого понадобится:
7. Нажать "Write"
8. Дождаться окончания записи и извлечь кардридер
За обработку rtsp-подключений отвечает rtsp-simple-server. Он сконфигурирован на автозапуск при старте системы с помощью демона systemd, по этой инструкции.
В файле конфигурации rtsp-simple-server.yml
, который лежит в каталоге /usr/local/etc
изменены параметры:
rtspPort: 554
runOnDemand: gst-launch-1.0 alsasrc device=plughw:1,0 \
! queue \
! audioconvert \
! avenc_aac \
! rtspclientsink latency=0 location=rtsp://localhost:554/mystream
Посмотреть статус (запущен ли сервер, связанные дочерние процессы) и последние логи:
systemctl status rtsp-simple-server
Перезагрузить
systemctl restart rtsp-simple-server
Чтобы просматривать логи в реальном времени, можно испоьзовать команду:
tail -f /var/log/daemon.log | grep rtsp
Текущую версию можно проверить командой rtsp-simple-server --version
Новые релизы можно посмотреть на этой странице.
Установка новой версии:
systemctl stop rtsp-simple-server
curl https://github.com/aler9/rtsp-simple-server/releases/download/v0.x.x/rtsp-simple-server_v0.x.x_linux_arm6.tar.gz
tar -xzf rtsp-simple-server_v0.x.x_linux_arm6.tar.gz
sudo cp rtsp-simple-server_v0.x.x_linux_arm6/rtsp-simple-server /usr/local/bin
rtsp-simple-server --version
systemctl start rtsp-simple-server