Leiten Sie die Arecord-Ausgabe um und senden Sie sie mit Netcat

Leiten Sie die Arecord-Ausgabe um und senden Sie sie mit Netcat

Ich versuche, den Ton eines Mikrofons von einem Computer auf einen anderen in meinem lokalen Netzwerk umzuleiten. Um das zu erreichen, habe ich Folgendes getan

In einem Terminal:

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

In einem anderen Terminal:

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

Dieser Versuch verlief jedoch nicht wie erwartet. Wie kann ich mithilfe der Befehlszeilentools einer typischen Linux-Distribution den Ton von einem Mikrofon von einem Computer auf einen anderen umleiten?

Antwort1

Aus den Beispielen von netcat schließe ich, dass der Server die Option -p verwenden muss, wie in

nc -u -l -p 8080

Bist du sicher, dass du UDP brauchst? Ohne "-u" sollte die Qualität besser sein.

Angenommen, die beiden Computer haben die IP-Adressen 192.168.1.9 (Server) und 192.168.1.8 (Client), dann lauten die Befehle auf dem Server:

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

und auf dem Client:

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

verwandte Informationen