summaryrefslogtreecommitdiff
path: root/sys/man/1
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2022-12-05 15:46:27 +0000
committercinap_lenrek <cinap_lenrek@felloff.net>2022-12-05 15:46:27 +0000
commitcff0ebade5fb37b3d5614ae9ff76513e4b0e4640 (patch)
treedce5da7b316b7cf71b4001808cd276f20d26ef16 /sys/man/1
parent48f53e57be61f7cee021fdb21849d4759770f722 (diff)
audio/scream: multicast audio protocol
Diffstat (limited to 'sys/man/1')
-rw-r--r--sys/man/1/scream77
1 files changed, 77 insertions, 0 deletions
diff --git a/sys/man/1/scream b/sys/man/1/scream
new file mode 100644
index 000000000..9d0d26be4
--- /dev/null
+++ b/sys/man/1/scream
@@ -0,0 +1,77 @@
+.TH SCREAM 1
+.SH NAME
+screamsend, screamrecv, screamenc, screamdec \- multicast audio protocol
+.SH SYNOPSIS
+.B audio/screamsend
+[
+.I interfaceip
+]...
+.br
+.B audio/screamrecv
+[
+.I interfaceip
+]...
+.br
+.B audio/screamenc
+.br
+.B audio/screamdec
+.SH DESCRIPTION
+.PP
+Scream is a simple network protocol for transmitting PCM audio on a local network.
+It sends UDP packets at a constant rate to the multicast address
+.B 239.255.77.77
+on port
+.BR 4010 .
+Each packet starts with a small 5-byte header that contains information about the
+sample-rate and data format followed raw PCM data payload (maximum 1157 bytes).
+.PP
+.I Screamsend
+reads PCM audio from
+.B /dev/audio
+and sends scream packets to the local network on the interface given by
+.IR interfaceip.
+When
+.I interfaceip
+is omitted, it uses first IPv4 interface ip address from
+.B /net/ipselftab
+as a default.
+.PP
+.I Screamrecv
+listens for packets from the local network on the interfaces
+selected by
+.IR interfaceip
+and writes PCM audio to
+.BR /dev/audio .
+When no
+.I interfaceip
+addresses where given, it will listen on all interfaces with an IPv4 address.
+.PP
+Both
+.I screamsend
+and
+.I screamrecv
+are usually run after
+.I audio/mixfs
+(see
+.IR audio (1))
+to provide loopback audio source as well as mixing for multiple senders.
+.PP
+.I Screamenc
+reads PCM audio from standard-input and writes scream packets to standard-output.
+.PP
+.I Screamdec
+reads scream packets from standard-input, and writes PCM audio to standard-output.
+It spawns
+.I audio/pcmconv
+(see
+.IR audio (1))
+to convert the audio in case the scream packet format is not
+the default of 16-bit little-endian stereo samples at 44100 Hz.
+It exits when no packets have arrived for 500 milliseconds.
+.SH SOURCE
+.B /sys/src/cmd/audio/scream
+.SH SEE ALSO
+.IR audio (1).
+.br
+.B https://github.com/duncanthrax/scream
+