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

NAME

6       roc-send - send real-time audio
7

SYNOPSIS

9       roc-send OPTIONS
10

DESCRIPTION

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
110protocol:ipv4addr:portnum
111
112protocol:[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

EXAMPLES

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

SEE ALSO

185       roc-recv(1),   roc-conv(1),   sox(1),   the    Roc    web    site    at
186       https://roc-streaming.org/
187

BUGS

189       Please      report     any     bugs     found     via     GitHub     (‐
190       https://github.com/roc-streaming/roc-toolkit/).
191

AUTHORS

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)
Impressum