操作中にスピーカーからの音が著しく遅れます。
arecord | aplay
bashスクリプトを使用して低レイテンシのサウンドサーバーを作成したいので、待ち時間を減らしたいと思います。
arecord {parameters} | nc {parameters} --> in first host
nc {parameters} | aplay {parameters} --> in second host
遅延を減らす方法はありますか?それとも、bashスクリプトを使用して待ち時間の短いサウンドサーバーを作成することは可能ですか?
答え1
Netcat(nc)は実際にTCPの代わりにUDPプロトコルを使用する必要があるため、うまく機能しません。 TCPには常に待ち時間があり、時間の経過とともに悪化します。その理由は、パケットが失われるとTCPが自動的にパケットを回復しようとするため、リアルタイム転送でより多くの待ち時間が発生するためです。一方、UDPはドロップされたパケットを無視し、ライブインターフェイスを最新の状態に保ちます。 Wi-Fiではパケットロスが多いため、この問題は目立つように見えます。
GストリーマーUDPによる作業はとても簡単です。 gstreamerにarecordとaplayを使用させる方法があると確信していますが、gstreamerがサポートしているので必ずしも必要ではありません。アルザスまっすぐ。例:
クライアントのマイク(192.168.44.10)
答え2
--buffer-size=0
なぜなら、arecordとaplayの両方が私に適しています。