Bleuzen / SpotRec

Spotify desktop client recorder for PulseAudio
MIT License
75 stars 17 forks source link

ffmpeg - Unknown input format: 'pulse' (EndlessOS, pavucontrol flatpak) #8

Closed btreut closed 3 years ago

btreut commented 3 years ago

when I try to use SpotRec under EndlessOS (a OSTree/flatpak based Debian derivate), the ffmpeg command issued by by spotrec fails miserably with error: Unknown input format: 'pulse' . I tried it with the static ffmpeg executable provided by John van Sickle, apparently it does not work with it, but I don't know if this is the reason for the failure or the cause is by insufficient rights in the flatpak sandbox. I guess that I might be able to use ffmpeg from your FFaudioConverter flatpak, but I don't know how to do that. So any hints are welcome. A --debug output is here: spotrec.log.

Bleuzen commented 3 years ago

My first guess is that your ffmpeg binary does not support pulse audio recording. As far as I know, these builds

John van Sickle

also do not have pulse audio support enabled.

I'm pretty sure you can not use ffmpeg from my FFaudioConverter flatpak, since it runs in a sandbox.

SpotRec is not planned to use some ffmpeg binary from a flatpak. SpotRec should run directly on the host machine and also use a native ffmpeg binary from the host, without any sandboxing.

The only thing you can safely run in a sandbox / with flatpak is Spotify.

I'm not sure about you distribution, but since it is Debian based, I guess you could try to use the Python, Dbus and FFmpeg installed with apt.

btreut commented 3 years ago

As far as I know, these builds

John van Sickle

also do not have pulse audio support enabled.

oops, that clarifies the behavior.

I'm pretty sure you can not use ffmpeg from my FFaudioConverter flatpak, since it runs in a sandbox.

I'll try my best despite your discouraging note and will post results here (but I might need some time).

btreut commented 3 years ago

I'm pretty sure you can not use ffmpeg from my FFaudioConverter flatpak, since it runs in a sandbox.

I'll try my best despite your discouraging note and will post results here (but I might need some time).

here we are:

a simple bash script containing

flatpak run --command=ffmpeg com.github.Bleuzen.FFaudioConverter $*

solves the problem of running ffmpeg from your FFaudioConverter flatpak, but the Unknown input format: 'pulse' remains, see spotrec.log

btreut commented 3 years ago

SpotRec should run directly on the host machine and also use a native ffmpeg binary from the host, without any sandboxing.

as far as I know, there is no native ffmpeg for EndlessOS. See also: https://community.endlessos.com/t/downloading-softwares/4988

Bleuzen commented 3 years ago

but the Unknown input format: 'pulse' remains

yeah, sure, since this ffmpeg is also not built with PulseAudio support. You need a ffmpeg binary with pulse support enabled. If there is no native one for your distro, you may have to build it yourself.

I will close this for now, since this isn't an issue of SpotRec itself, but of your specific setup.