dbus-soundrecorder/README.md

52 lines
1.8 KiB
Markdown

# dbus-soundrecorder
Records sound from Pulse Audio with ffmpeg while watching D-Bus to
determine tracks, song title, album, artist and other meta data
provided by the media player application via MPRIS D-Bus service.
When the next song starts, the recorder automatically starts recording
a new file and sets available meta data.
## Usage
```
dbus-soundrecorder record [options]
```
Here a simple example. First, get a list of your Pulse Audio sinks:
```
pactl list short sinks
```
You can also create a new virtual Pulse Audio sink:
```
pactl load-module module-null-sink sink_name=virtual1
```
In any case, you should ensure that the media player uses the sink (eg. using pavucontrol).
Then start the recorder. You need to specify the media player application and the sink:
```
dbus-soundrecorder record -a vlc -s virtual1.monitor -i "-sample_rate 44100" -o "-c:a libfdk_aac -vbr 4"
```
As you can see, it is also possible to specify options for ffmpeg. Input options can be specified
with *-i* and output options like audio codec and quality with *-o*.
However, input sink, output file and meta-data are provided by the recorder and shouldn't be specified.
For all available options, use the --help command.
After starting the recorder, start playing the songs you want to record. The recorder
should start ffmpeg automatically.
## Troubleshooting
* If you get *error, non monotone timestamps* and/or *This may result in incorrect timestamps in the output
file.*, try to add *-wallclock 0* to the ffmpeg input options.
## Build instructions
The application depends on the c++utilities library. It is built in the same way as c++utilities.
The following Qt modules are required (version 5.6 or higher): core dbus
## Copyright notice and license
Copyright © 2015-2022 Marius Kittler
All code is licensed under [GPL-2-or-later](LICENSE).