1ROC-RECV(1)                       Roc Toolkit                      ROC-RECV(1)
2
3
4

NAME

6       roc-recv - receive real-time audio
7

SYNOPSIS

9       roc-recv OPTIONS
10

DESCRIPTION

12       Receive real-time audio streams from remote senders and write them to a
13       file or an audio device.
14
15   Options
16       -h, --help
17              Print help and exit
18
19       -V, --version
20              Print version and exit
21
22       -v, --verbose
23              Increase verbosity level (may be used multiple times)
24
25       -o,--output=OUTPUT
26              Output file or device
27
28       -d,--driver=DRIVER
29              Output driver
30
31       -s,--source=PORT
32              Source port triplet (may be used multiple times)
33
34       -r,--repair=PORT
35              Repair port triplet (may be used multiple times)
36
37       --sess-latency=STRING
38              Session target latency, TIME units
39
40       --min-latency=STRING
41              Session minimum latency, TIME units
42
43       --max-latency=STRING
44              Session maximum latency, TIME units
45
46       --io-latency=STRING
47              Playback target latency, TIME units
48
49       --np-timeout=STRING
50              Session no playback timeout, TIME units
51
52       --bp-timeout=STRING
53              Session broken playback timeout, TIME units
54
55       --bp-window=STRING
56              Session breakage detection window, TIME units
57
58       --packet-limit=INT
59              Maximum packet size, in bytes
60
61       --frame-size=INT
62              Internal frame size, number of samples
63
64       --rate=INT
65              Override output sample rate, Hz
66
67       --no-resampling
68              Disable resampling  (default=off)
69
70       --resampler-profile=ENUM
71              Resampler profile  (possible values="low", "medium", "high"  de‐
72              fault=`medium')
73
74       --resampler-interp=INT
75              Resampler sinc table precision
76
77       --resampler-window=INT
78              Number of samples per resampler window
79
80       -1, --oneshot
81              Exit when last connected client disconnects (default=off)
82
83       --poisoning
84              Enable uninitialized memory poisoning (default=off)
85
86       --beeping
87              Enable beeping on packet loss  (default=off)
88
89   Output
90       OUTPUT should be file name or device name, for example:
91
92       • - (stdout)
93
94       • file.wav (WAV file)
95
96       • default (default output device)
97
98       • front:CARD=PCH,DEV=0 (ALSA device)
99
100       • alsa_output.pci-0000_00_1f.3.analog-stereo (PulseAudio sink)
101
102       Interpretation of the device name depends on the selected driver.
103
104       If  the  output  is  omitted,  some  default output is selected. If the
105       driver is omitted or it is a device driver, the default  output  device
106       is seelcted. If the driver is a file driver, the stdout is selected.
107
108   Driver
109       DRIVER defines the type of the output file or device, for example:
110
111       • wav
112
113       • alsa
114
115       • pulseaudio
116
117       If  the driver is omitted, some default driver is selected. If the user
118       did specify the output and it is a file with a known extension, the ap‐
119       propriate  file  driver is selected. Otherwise, the first device driver
120       available on the system is selected.
121
122   Port
123       PORT should be in one of the following forms:
124
125protocol::portnum (0.0.0.0 IP address is used)
126
127protocol:ipv4addr:portnum
128
129protocol:[ipv6addr]:portnum
130
131       For example:
132
133       • rtp+rs8m::10001
134
135       • rtp+rs8m:127.0.0.1:10001
136
137       • rtp+rs8m:[::1]:10001
138
139       If FEC is enabled on sender, a pair of a source and repair ports should
140       be  used  for communication between sender and receiver. If FEC is dis‐
141       abled, a single source port should be used instead.
142
143       Receiver can listen on multiple source and repair  ports  of  different
144       protocols  simultaneously.  This allows multiple senders which use dif‐
145       ferent protocols and FEC schemes to connect to a single receiver.
146
147       Supported protocols for source ports:
148
149       • rtp (bare RTP, no FEC scheme)
150
151       • rtp+rs8m (RTP + Reed-Solomon m=8 FEC scheme)
152
153       • rtp+ldpc (RTP + LDPC-Starircase FEC scheme)
154
155       Supported protocols for repair ports:
156
157       • rs8m (Reed-Solomon m=8 FEC scheme)
158
159       • ldpc (LDPC-Starircase FEC scheme)
160
161   Time
162       TIME should have one of the following forms:
163              123ns, 123us, 123ms, 123s, 123m, 123h
164

EXAMPLES

166       Listen on two ports on all IPv4 interfaces (but not IPv6):
167
168          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002
169
170       Listen on two ports on all IPv6 interfaces (but not IPv4):
171
172          $ roc-recv -vv -s rtp+rs8m:[::]:10001 -r rs8m:[::]:10002
173
174       Listen on two ports on a particular interface:
175
176          $ roc-recv -vv -s rtp+rs8m:192.168.0.3:10001 -r rs8m:192.168.0.3:10002
177
178       Listen on two Reed-Solomon ports, two LDPC  ports,  and  one  bare  RTP
179       port:
180
181          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002 -s rtp+ldpc::10003 -r ldpc::10004 -s rtp::10005
182
183       Listen on two ports on all IPv4 interfaces and on two ports on all IPv6
184       interfaces:
185
186          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002 -s rtp+rs8m:[::]:10001 -r rs8m:[::]:10002
187
188       Output to the default ALSA device:
189
190          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002 -d alsa
191
192       Output to a specific PulseAudio device:
193
194          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002 -d pulseaudio -o <device>
195
196       Output to a file in WAV format:
197
198          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002 -o ./file.wav
199
200       Output to stdout in WAV format:
201
202          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002 -d wav -o - > ./file.wav
203
204       Force a specific rate on the output device:
205
206          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002 --rate=44100
207
208       Select higher session latency and timeouts:
209
210          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002 \
211            --sess-latency=5s --min-latency=-1s --max-latency=10s --np-timeout=10s --bp-timeout=10s
212
213       Select higher I/O latency:
214
215          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002 --io-latency=200ms
216
217       Select resampler profile:
218
219          $ roc-recv -vv -s rtp+rs8m::10001 -r rs8m::10002 --resampler-profile=high
220

SEE ALSO

222       roc-send(1),   roc-conv(1),   sox(1),   the    Roc    web    site    at
223       https://roc-streaming.org/
224

BUGS

226       Please      report     any     bugs     found     via     GitHub     (‐
227       https://github.com/roc-streaming/roc-toolkit/).
228

AUTHORS

230       See authors page on the website for a list of maintainers and contribu‐
231       tors.
232
234       2022, Roc authors
235
236
237
238
239Roc Toolkit 0.1                  Oct 11, 2022                      ROC-RECV(1)
Impressum