こんな感じ。
配信側
昨今(2019/04/22現在)のRaspbianに標準でインストされるVLC media playerを使ってみます。
無ければインストール
$sudo apt-get install vlc
VLCを起動しておく必要はありません。
入力はUSBマイクを使います。
以下のコマンドでデバイス情報を取得。
$arecord -l
カード番号、デバイス番号ともに0となっています。
マイクからの音が拾えているかチェック。録音してみます。
$arecord -D plughw:0,0 -d 10 -f cd test.wav -c 1
以下で音が再生されればOK
$aplay test.wav
では、マイクから入力される音声をマルチキャストしてみます。
デバイス番号は必須というわけではないです。
デバイスはカード番号、デバイス番号の組み合わせで管理されているので、カード番号にデバイスが1個なら以下のようにカード番号だけでも認識されます。
1 |
$cvlc -vvv alsa://hw:0 --sout '#transcode{acodec=mp3,ab=128}:rtp{mux=ts,dst=239.255.0.1,sdp=sap}' |
239.255.0.1はマルチキャストアドレスです。
マルチキャストにつてはこのページ参照
受信側
受信にもVLC media playerを使ってみます。
VLCは様々なプラットフォームで使えます。
VLC公式サイトからダウンロードしてインストール。
VLCを開きます。
メディア->ネットワークストリームを開く->ネットワークのタブ
rtpプロトコルを使っているので、ネットワークURLに以下を記述して再生します。
rtp://239.255.0.1
マイクからの音声が1~2秒遅延して聞こえます。
昨今のVLCは簡単な設定で複数起動が可能です。
以前のような「高度な設定」の項はありません。
ツール->設定->「ひとつだけ実行を許可」のチェックを外す
これで、ラズパイ3とWebカメラでライブ・ストリーミング(メモ)と同時に使えます。
ただし起動順は、カメラ->マイクとした方がいいようです。
Leave a Reply