1ROC-SEND(1) Roc Toolkit ROC-SEND(1)
2
3
4
6 roc-send - send real-time audio
7
9 roc-send OPTIONS
10
12 Send real-time audio stream from a file or an audio device to a remote
13 receiver.
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 -i,--input=INPUT
26 Input file or device
27
28 -d,--driver=DRIVER
29 Input driver
30
31 -s,--source=PORT
32 Remote source port triplet
33
34 -r,--repair=PORT
35 Remote repair port triplet
36
37 --nbsrc=INT
38 Number of source packets in FEC block
39
40 --nbrpr=INT
41 Number of repair packets in FEC block
42
43 --packet-length=STRING
44 Outgoing packet length, TIME units
45
46 --packet-limit=INT
47 Maximum packet size, in bytes
48
49 --frame-size=INT
50 Internal frame size, number of samples
51
52 --rate=INT
53 Override input sample rate, Hz
54
55 --no-resampling
56 Disable resampling (default=off)
57
58 --resampler-profile=ENUM
59 Resampler profile (possible values="low", "medium", "high" de‐
60 fault=`medium')
61
62 --resampler-interp=INT
63 Resampler sinc table precision
64
65 --resampler-window=INT
66 Number of samples per resampler window
67
68 --interleaving
69 Enable packet interleaving (default=off)
70
71 --poisoning
72 Enable uninitialized memory poisoning (default=off)
73
74 Input
75 INPUT should be file name or device name, for example:
76
77 • - (stdin)
78
79 • file.wav (WAV file)
80
81 • default (default input device)
82
83 • front:CARD=PCH,DEV=0 (ALSA device)
84
85 • alsa_input.pci-0000_00_1f.3.analog-stereo (PulseAudio source)
86
87 Interpretation of the device name depends on the selected driver.
88
89 If the input is omitted, some default input is selected. If the driver
90 is omitted or it is a device driver, the default input device is
91 seelcted. If the driver is a file driver, the stdin is selected.
92
93 Driver
94 DRIVER defines the type of the input file or device, for example:
95
96 • wav
97
98 • alsa
99
100 • pulseaudio
101
102 If the driver is omitted, some default driver is selected. If the user
103 did specify the input and it is a file with a known extension, the ap‐
104 propriate file driver is selected. Otherwise, the first device driver
105 available on the system is selected.
106
107 Port
108 PORT should be in one of the following forms:
109
110 • protocol:ipv4addr:portnum
111
112 • protocol:[ipv6addr]:portnum
113
114 For example:
115
116 • rtp+rs8m:127.0.0.1:10001
117
118 • rtp+rs8m:[::1]:10001
119
120 If FEC is enabled on sender, a pair of a source and repair ports should
121 be used for communication between sender and receiver. If FEC is dis‐
122 abled, a single source port should be used instead.
123
124 Supported protocols for source ports:
125
126 • rtp (bare RTP, no FEC scheme)
127
128 • rtp+rs8m (RTP + Reed-Solomon m=8 FEC scheme)
129
130 • rtp+ldpc (RTP + LDPC-Starircase FEC scheme)
131
132 Supported protocols for repair ports:
133
134 • rs8m (Reed-Solomon m=8 FEC scheme)
135
136 • ldpc (LDPC-Starircase FEC scheme)
137
138 Time
139 TIME should have one of the following forms:
140 123ns, 123us, 123ms, 123s, 123m, 123h
141
143 Send WAV file:
144
145 $ roc-send -vv -s rtp+rs8m:192.168.0.3:10001 -r rs8m:192.168.0.3:10002 -i ./file.wav
146
147 Send WAV file to an IPv6 receiver:
148
149 $ roc-send -vv -s rtp+rs8m:[2001:db8::]:10001 -r rs8m:[2001:db8::]:10002 -i ./file.wav
150
151 Send WAV from stdin:
152
153 $ roc-send -vv -s rtp+rs8m:192.168.0.3:10001 -r rs8m:192.168.0.3:10002 -d wav -i - < ./file.wav
154
155 Capture sound from the default driver and device:
156
157 $ roc-send -vv -s rtp+rs8m:192.168.0.3:10001 -r rs8m:192.168.0.3:10002
158
159 Capture sound from the default ALSA device:
160
161 $ roc-send -vv -s rtp+rs8m:192.168.0.3:10001 -r rs8m:192.168.0.3:10002 -d alsa
162
163 Capture sound from a specific PulseAudio device:
164
165 $ roc-send -vv -s rtp+rs8m:192.168.0.3:10001 -r rs8m:192.168.0.3:10002 -d pulseaudio -i <device>
166
167 Force a specific rate on the input device:
168
169 $ roc-send -vv -s rtp+rs8m:192.168.0.3:10001 -r rs8m:192.168.0.3:10002 --rate=44100
170
171 Select the LDPC-Staircase FEC scheme and a larger block size:
172
173 $ roc-send -vv -s rtp+ldpc:192.168.0.3:10003 -r ldpc:192.168.0.3:10004 -i ./file.wav \
174 --nbsrc=1000 --nbrpr=500
175
176 Select bare RTP without FEC:
177
178 $ roc-send -vv -s rtp:192.168.0.3:10005 -i ./file.wav
179
180 Select resampler profile:
181
182 $ roc-send -vv -s rtp+rs8m:192.168.0.3:10001 -r rs8m:192.168.0.3:10002 --resampler-profile=high
183
185 roc-recv(1), roc-conv(1), sox(1), the Roc web site at
186 https://roc-streaming.org/
187
189 Please report any bugs found via GitHub (‐
190 https://github.com/roc-streaming/roc-toolkit/).
191
193 See authors page on the website for a list of maintainers and contribu‐
194 tors.
195
197 2022, Roc authors
198
199
200
201
202Roc Toolkit 0.1 Oct 11, 2022 ROC-SEND(1)