arecord 出力をリダイレクトして netcat で送信する

arecord 出力をリダイレクトして netcat で送信する

私は、ローカルネットワーク内の1台のコンピュータから別のコンピュータにマイクのサウンドをリダイレクトしようとしています。それを実現するために、次の操作を実行しました。

1 つのターミナルで:

arecord -t raw -c 2 -f S16_LE -r 48000 | nc -u #IP_ADDRESS# 8080

別の端末で:

nc -u -l -p 8080 | aplay -t raw -c 2 -f S16_LE -r 48000

しかし、この試みは期待通りの結果にはなりませんでした。一般的な Linux ディストリビューションに備わっているコマンドライン ツールを使用して、マイクのサウンドをあるコンピューターから別のコンピューターにリダイレクトするにはどうすればよいでしょうか?

答え1

netcatに付属する例から、サーバーは-pオプションを使用する必要があることがわかります。

nc -u -l -p 8080

UDP が必要ですか? 「-u」を使用しないと品質が向上します。

2 台のコンピュータの IP アドレスが 192.168.1.9 (サーバー) と 192.168.1.8 (クライアント) であるとすると、サーバー上のコマンドは次のようになります。

nc -u -l -p 8080 | aplay -t raw -c 2 -f S16_LE -r 48000

クライアント側では:

arecord -t raw -c 2 -f S16_LE -r 48000 | nc -u 192.168.1.9 8080

関連情報