Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion: Video effects #2882

Open
brunofin opened this issue Jan 30, 2024 · 3 comments
Open

Suggestion: Video effects #2882

brunofin opened this issue Jan 30, 2024 · 3 comments

Comments

@brunofin
Copy link

Sorry if this is not the proper place to post this kind of thing, the last thing I want is to clutter a busy project's issues page with unrelated stuff, but....

I do think this application is one of the most powerful things in Linux at the moment, backed by the PipeWire stack to allow all of that to happen of course.

With my minimal knowledge of PipeWire, I understand it also can and does process video, and applying effects to video inputs and outputs is as easy as it is to audio, and with the lack of a similar app that can do the same Easy Effects does to audio but to video instead, I believe it would be a very cool and useful feature to have Easy Effects be able to also handle video effects.

Thank you.

@brunofin brunofin changed the title Suggestion: Webcam effects Suggestion: Video effects Jan 30, 2024
@wwmm
Copy link
Owner

wwmm commented Jan 30, 2024

Sorry if this is not the proper place to post this kind of thing, the last thing I want is to clutter a busy project's issues page with unrelated stuff, but....

It is fine :-)

With my minimal knowledge of PipeWire, I understand it also can and does process video, and applying effects to video inputs and outputs is as easy as it is to audio

I am not sure if it is "just as easy" but PipeWire can handle video processing. But although I have done video processing in opencv and gstreamer a few times I never tried to use PipeWire process video.

I wonder if it is even possible to redirect video clients to a different device like we do for audio clients. I would expect the workflow to be a lot less automated with video. Nowadays audio clients do not use ALSA directly but Pulseaudio or PipeWire instead. But video clients usually access the camera directly.

@brunofin
Copy link
Author

brunofin commented Jan 31, 2024

Unfortunately it seems you are right about apps connecting directly to the webcam instead of through PipeWire, at least through Slack I tested this to be true. I opened qpwgraph while having Slack's (flatpak) Audio & video settings page open, and it seems it only connects to the audio parts. The webcam capture outputs are not connected to anything even though I had my webcam view open in Slack.

Not sure though if this is evidence pipewire couldn't be used for this purpose. I wonder how OBS does that with it's virtual camera.

image

Although "Easy Effects Source" also doesn't seem to be connected to an app specifically here, only to my hardware output, still, it's what's Slack is using as an input device.

@wwmm
Copy link
Owner

wwmm commented Jan 31, 2024

Not sure though if this is evidence pipewire couldn't be used for this purpose.

It probably can but not with the same workflow as the one available for audio devices. The user would probably need to manually force the video client to use a virtual device created on our side. The automatic moving of streams we do for audio probably can not be done until all these video clients start to use PipeWire to handle video.

The other problem with the current situation is conflict when trying to use the camera. If an app access it directly other clients won't be able to use until the app release the camera. The same thing can happen to audio if something takes the soundcard before the audio server.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants