mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	Use (fixed-up) Doxygen manpage output for all program & module manpages. This also allows formatting the manual pages properly in the HTML docs. The Markdown pages work properly only with Doxygen >= 1.9.7, older versions put them to wrong place in the HTML docs.
		
			
				
	
	
		
			163 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
\page page_man_pw-cat_1 pw-cat
 | 
						|
 | 
						|
Play and record media with PipeWire
 | 
						|
 | 
						|
# SYNOPSIS
 | 
						|
 | 
						|
**pw-cat** \[*options*\] \[*FILE* \| -\]
 | 
						|
 | 
						|
**pw-play** \[*options*\] \[*FILE* \| -\]
 | 
						|
 | 
						|
**pw-record** \[*options*\] \[*FILE* \| -\]
 | 
						|
 | 
						|
**pw-midiplay** \[*options*\] \[*FILE* \| -\]
 | 
						|
 | 
						|
**pw-midirecord** \[*options*\] \[*FILE* \| -\]
 | 
						|
 | 
						|
**pw-dsdplay** \[*options*\] \[*FILE* \| -\]
 | 
						|
 | 
						|
# DESCRIPTION
 | 
						|
 | 
						|
**pw-cat** is a simple tool for playing back or capturing raw or encoded
 | 
						|
media files on a PipeWire server. It understands all audio file formats
 | 
						|
supported by `libsndfile` for PCM capture and playback. When capturing
 | 
						|
PCM, the filename extension is used to guess the file format with the
 | 
						|
WAV file format as the default.
 | 
						|
 | 
						|
It understands standard MIDI files for playback and recording. This tool
 | 
						|
will not render MIDI files, it will simply make the MIDI events
 | 
						|
available to the graph. You need a MIDI renderer such as qsynth,
 | 
						|
timidity or a hardware MIDI rendered to hear the MIDI.
 | 
						|
 | 
						|
DSD playback is supported with the DSF file format. This tool will only
 | 
						|
work with native DSD capable hardware and will produce an error when no
 | 
						|
such hardware was found.
 | 
						|
 | 
						|
When the *FILE* is - input and output will be raw data from STDIN and
 | 
						|
STDOUT respectively.
 | 
						|
 | 
						|
# OPTIONS
 | 
						|
 | 
						|
\par -h | \--help
 | 
						|
Show help.
 | 
						|
 | 
						|
\par \--version
 | 
						|
Show version information.
 | 
						|
 | 
						|
\par -v | \--verbose
 | 
						|
Verbose operation.
 | 
						|
 | 
						|
\par -R | \--remote=NAME
 | 
						|
The name the *remote* instance to connect to. If left unspecified, a
 | 
						|
connection is made to the default PipeWire instance.
 | 
						|
 | 
						|
\par -p | \--playback
 | 
						|
Playback mode. Read data from the specified file, and play it back. If
 | 
						|
the tool is called under the name **pw-play** or **pw-midiplay** this is
 | 
						|
the default.
 | 
						|
 | 
						|
\par -r | \--record
 | 
						|
Recording mode. Capture data and write it to the specified file. If the
 | 
						|
tool is called under the name **pw-record** or **pw-midirecord** this is
 | 
						|
the default.
 | 
						|
 | 
						|
\par -m | \--midi
 | 
						|
MIDI mode. *FILE* is a MIDI file. If the tool is called under the name
 | 
						|
**pw-midiplay** or **pw-midirecord** this is the default. Note that this
 | 
						|
program will *not* render the MIDI events into audible samples, it will
 | 
						|
simply provide the MIDI events in the graph. You need a separate MIDI
 | 
						|
renderer such as qsynth, timidity or a hardware renderer to hear the
 | 
						|
MIDI.
 | 
						|
 | 
						|
\par -d | \--dsd
 | 
						|
DSD mode. *FILE* is a DSF file. If the tool is called under the name
 | 
						|
**pw-dsdplay** this is the default. Note that this program will *not*
 | 
						|
render the DSD audio. You need a DSD capable device to play DSD content
 | 
						|
or this program will exit with an error.
 | 
						|
 | 
						|
\par \--media-type=VALUE
 | 
						|
Set the media type property (default Audio/Midi depending on mode). The
 | 
						|
media type is used by the session manager to select a suitable target to
 | 
						|
link to.
 | 
						|
 | 
						|
\par \--media-category=VALUE
 | 
						|
Set the media category property (default Playback/Capture depending on
 | 
						|
mode). The media type is used by the session manager to select a
 | 
						|
suitable target to link to.
 | 
						|
 | 
						|
\par \--media-role=VALUE
 | 
						|
Set the media role property (default Music). The media type is used by
 | 
						|
the session manager to select a suitable target to link to.
 | 
						|
 | 
						|
\par \--target=VALUE
 | 
						|
\parblock
 | 
						|
Set a node target (default auto). The value can be:
 | 
						|
 | 
						|
- **auto**: Automatically select (Default)
 | 
						|
 | 
						|
- **0**: Don't try to link this node
 | 
						|
 | 
						|
- <b>\<id\></b>: The object.serial or the node.name of a target node
 | 
						|
\endparblock
 | 
						|
 | 
						|
\par \--latency=VALUE\[*units*\]
 | 
						|
\parblock
 | 
						|
Set the node latency (default 100ms)
 | 
						|
 | 
						|
The latency determines the minimum amount of time it takes for a sample
 | 
						|
to travel from application to device (playback) and from device to
 | 
						|
application (capture).
 | 
						|
 | 
						|
The latency determines the size of the buffers that the application will
 | 
						|
be able to fill. Lower latency means smaller buffers but higher
 | 
						|
overhead. Higher latency means larger buffers and lower overhead.
 | 
						|
 | 
						|
Units can be **s** for seconds, **ms** for milliseconds, **us** for
 | 
						|
microseconds, **ns** for nanoseconds. If no units are given, the latency
 | 
						|
value is samples with the samplerate of the file.
 | 
						|
\endparblock
 | 
						|
 | 
						|
\par -P | \--properties=VALUE
 | 
						|
Set extra stream properties as a JSON object.
 | 
						|
 | 
						|
\par -q | \--quality=VALUE
 | 
						|
Resampler quality. When the samplerate of the source or destination file
 | 
						|
does not match the samplerate of the server, the data will be resampled.
 | 
						|
Higher quality uses more CPU. Values between 0 and 15 are allowed, the
 | 
						|
default quality is 4.
 | 
						|
 | 
						|
\par \--rate=VALUE
 | 
						|
The sample rate, default 48000.
 | 
						|
 | 
						|
\par \--channels=VALUE
 | 
						|
The number of channels, default 2.
 | 
						|
 | 
						|
\par \--channel-map=VALUE
 | 
						|
The channelmap. Possible values include: **mono**, **stereo**,
 | 
						|
**surround-21**, **quad**, **surround-22**, **surround-40**,
 | 
						|
**surround-31**, **surround-41**, **surround-50**, **surround-51**,
 | 
						|
**surround-51r**, **surround-70**, **surround-71** or a comma separated
 | 
						|
list of channel names: **FL**, **FR**, **FC**, **LFE**, **SL**, **SR**,
 | 
						|
**FLC**, **FRC**, **RC**, **RL**, **RR**, **TC**, **TFL**, **TFC**,
 | 
						|
**TFR**, **TRL**, **TRC**, **TRR**, **RLC**, **RRC**, **FLW**, **FRW**,
 | 
						|
**LFE2**, **FLH**, **FCH**, **FRH**, **TFLC**, **TFRC**, **TSL**,
 | 
						|
**TSR**, **LLFR**, **RLFE**, **BC**, **BLC**, **BRC**
 | 
						|
 | 
						|
\par \--format=VALUE
 | 
						|
The sample format to use. One of: **u8**, **s8**, **s16** (default),
 | 
						|
**s24**, **s32**, **f32**, **f64**.
 | 
						|
 | 
						|
\par \--volume=VALUE
 | 
						|
The stream volume, default 1.000. Depending on the locale you have
 | 
						|
configured, "," or "." may be used as a decimal separator. Check with
 | 
						|
**locale** command.
 | 
						|
 | 
						|
# AUTHORS
 | 
						|
 | 
						|
The PipeWire Developers <$(PACKAGE_BUGREPORT)>;
 | 
						|
PipeWire is available from <$(PACKAGE_URL)>
 | 
						|
 | 
						|
# SEE ALSO
 | 
						|
 | 
						|
\ref page_man_pipewire_1 "pipewire(1)",
 | 
						|
\ref page_man_pw-mon_1 "pw-mon(1)",
 |