ffmpeg recording broke with 0.3.58 update
- PipeWire version (
pipewire --version
): 0.3.58 or master (at d1cd199f) - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Arch Linux - Desktop Environment: KDE
- Kernel version (
uname -r
): 5.19.8-arch1-1
Description of Problem:
Hi, using ffmpeg to record audio doesn't work anymore since 0.3.58. Example command:
ffmpeg -hide_banner -y -f pulse -i easyeffects_source out.opus
On current version (0.3.58) this prints:
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, pulse, from 'easyeffects_source':
Duration: N/A, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (pcm_s16le (native) -> opus (libopus))
Press [q] to stop, [?] for help
easyeffects_source: Generic error in an external library
[libopus @ 0x560664c05f80] No bit rate set. Defaulting to 96000 bps.
Output #0, opus, to 'out.opus':
Metadata:
encoder : Lavf59.27.100
Stream #0:0: Audio: opus, 48000 Hz, stereo, s16, 96 kb/s
Metadata:
encoder : Lavc59.37.100 libopus
size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
...and then it exits immediately.
Downgrading to pipewire 0.3.57 fixes the problem.
The line easyeffects_source: Generic error in an external library
doesn't print anymore and the recording works on the older version.
("easyeffects_source" is a virtual device I try to record in this example. Recording directly from a hardware device results in the same error.)