5 ms·
Firefox 116 Should Have Experimental PipeWire Camera Support
- aorth 3y agoTo try, make sure you are running Nightly and toggle `media.webrtc.camera.allow-pipewire` in about:config, then restart Firefox. After restarting Firefox, visit the Mozilla GUM test page https://mozilla.github.io/webrtc-landing/gum_test.html https://mozilla.github.io/webrtc-landing/gum_test.html and you should see a different popup asking for permission.
- tetris11 3y agoIm not quite following this. Isn't Firefox agnostic to the operating system's media stream server? (The answer is no, but I don't know why) Doesn't Firefox just chuck video at the OS, and the OS picks it up via pipewire/other and displays it on screen?
- Johnny555 3y agoIf you don't know what PipeWire is (I didn't), it's an audio-video handler - it replaces things like PulseAudio. https://pipewire.org/ https://pipewire.org/
- tgv 3y agoAnd it's for Linux.
- Lapha 3y ago>it replaces things like PulseAudio More specifically, it's fully compatible with PulseAudio/JACK/ALSA and is capable of completely replacing them while still providing the benefits of what it's replacing. It's a complete joy to work with too, especially if you've ever experienced the nightmare that is getting your pro-audio JACK setup working nicely with pulse.
- dmw_ng 3y agoVideo capture is something that's "just worked" for me for as long as I can remember (unlike audio). What's the value gained from the added latency of an intermediary? Is it only to ease containerization?
- predictabl3 3y agoFor one, without this two applications can't use your camera simultaneously. I think this is also key for getting libcamera in the mix. And pipewire is phenomenal, I assume this opens the door for video transformations, a+v effects, etc. I'm quite excited about it.
- fulafel 3y agoWith audio, accessing kernel interfaces directly in olden days lead to problems with multiple apps using the device & inability to provide inputs/sinks from userspace (eg post/preprocessing or hw driver implemented in userspace). It's still that way with video. People have been using a out of tree loopback video kernel driver for these things which is hard to use and hacky and slow.
- tadfisher 3y agoThat still is the case, it's just that nobody runs hardware DSPs so nobody needs to deal with anything but a single userspace sound server. Video just has order-of-magnitude higher processing requirements, so dumping raw buffers into userspace and letting a "video server" do the work isn't usable for use cases that care about latency, throughput or resource usage (e.g. game streaming). So you end up with a bunch of kernel interfaces for hardware-accelerated video transforms (many driver-specific), a few competing userspace APIs (gstreamer, vulkan extensions, vaapi, vdpau, etc), zero-copy kernel buffer APIs, the list goes on. You end up with something like Pipewire just to abstract over the complexity.
- deleted 3y ago[deleted]
- 8K832d7tNmiQ 3y agoThis is huge news for people who runs Linux on Surface devices as they need to compile a custom v4l module for the custom kernel, and also need to run a hacky v4loopback workaround to use it on vidcalls.
- StrangeATractor 3y agoI have to say re: pipewire that it's one of the few (redhat?) projects of the past 15-20 years that doesn't seem to have generated a ton of hate from users so it must be pretty good all around.
- dijit 3y agoThis is me learning that pipewire is a RH project. For context as to why it's not getting hate: the alternative is Pulseaudio (another RH project, headed by Poettering who is now at Microsoft incidentally) which was eggergiously difficult to configure, heavy and seemed to dominate any system that tried to interface with it even slightly. The same exact concerns that people levy towards systemd and GNOME. Pipewire is light, interfaces with programs on their terms and seems to follow the philosophy that "it's just a tool" meaning that it should not be something you have to care about as an application developer or as a user. I have a lot of respect for that.
- isolatedsystem 3y agoPipewire also worked out of the box for me, and abstracts away ALSA and PulseAudio. It can even handle JACK. It's very nice.
- thomastjeffery 3y agoI didn't even know it existed until the other day when I found out I was already using it. I can't imagine giving better praise for a piece of software.
- andrewaylett 3y agoPulseaudio was adopted too early, and I think distros have learned their lesson this time around. Honestly, it fell under "just worked" for me. One time I had been reading about PA using too much CPU, so I checked and indeed it was using a reasonable amount of processing power "just" to feed data from the media player to ALSA. So I tried turning it off, and the media player used more CPU to play audio direct to ALSA without PA than both the media player and PA running together.
- butz 3y agoAnd I'm still waiting for the day when Firefox will finally fully support MS Teams and FaceTime.
- BaseballPhysics 3y agoI use it with Teams every day. The only thing that doesn't work is notifications (and I blame Microsoft for that). What else do you find isn't working?
- pentagrama 3y agoI was waiting for support to download YouTube videos with YT Premium on FF desktop and the other day the button just appeared! Not sure if was something missing on FF end or YT just didn't want to support it before, but yeah, no more waiting.
- f272529 3y agoThis seems like a Microsoft problem.
- shultays 3y agoIt is a firefox problem if it is ending up people switching to other browsers because of that
- privacyking 3y agoIt worked fine on Firefox until microshit intentionally broke it
- rraghur 3y agoCare to share your settings/tweaks? I was able to get it to run after setting user agent string to edge; 1:1 calls worked but couldn't join meetings
- rraghur 3y agoSorry.. meant to reply to child comment from user baseballphysics