Coder Social home page Coder Social logo

aviana / pipewire-screenaudio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from icedborn/pipewire-screenaudio

1.0 0.0 0.0 229 KB

Extension to passthrough pipewire audio to WebRTC Screenshare

Home Page: https://addons.mozilla.org/firefox/addon/pipewire-screenaudio/

License: GNU General Public License v3.0

Shell 42.43% JavaScript 43.96% Nix 6.03% HTML 7.59%

pipewire-screenaudio's Introduction

Logo Pipewire Screenaudio

Extension to passthrough Pipewire audio to WebRTC Screenshare

Based on virtual-mic and Screenshare-with-audio-on-Discord-with-Linux

Communication

You can find us on Matrix

Installation

Packages

AUR AUR

NixOS Flakes

# flake.nix

{
  inputs.pipewire-screenaudio.url = "github:IceDBorn/pipewire-screenaudio";
  # ...

  outputs = {nixpkgs, pipewire-screenaudio, ...} @ inputs: {
    nixosConfigurations.HOSTNAME = nixpkgs.lib.nixosSystem {
      specialArgs = { inherit inputs; }; # this is the important part
      modules = [
        ./configuration.nix
      ];
    };
  }
}

# configuration.nix

{inputs, pkgs, ...}: {
  environment.systemPackages = with pkgs; [
    (firefox.override { extraNativeMessagingHosts = [ inputs.pipewire-screenaudio.packages.${pkgs.system}.default ]; })
    # ...
  ];
}

Installing from Source

Requirements

  • gawk
  • hexdump
  • jq
  • pipewire
git clone https://github.com/IceDBorn/pipewire-screenaudio.git
cd pipewire-screenaudio
bash install.sh

Usage

  • Install the extension
  • Optional: Grant extension with access permissions to all sites
  • Join a WebRTC call, click the extension icon, select an audio node and share
  • Stream, your transmission should contain both audio and video

Known Problems

  • You can't stream firefox WebRTC calls at all while using All Desktop Audio, they are excluded by default

resistFingerprinting

  • privacy.resistFingerprinting (enabled by default in LibreWolf, arkenfox user.js, etc.) breaks the extension. Either disable the preference or add any domains you wish to use Pipewire Screenaudio with to privacy.resistFingerprinting.exemptedDomains in about:config

Audio pitching

  • This bug exclusively impacts Firefox versions predating 120

Planned Features

  • Multiple nodes selection
  • More customization options (node matching, watcher behavior etc.)
  • Chromium support

pipewire-screenaudio's People

Contributors

icedborn avatar jim3692 avatar alansartorio avatar aviana avatar geoku avatar

Stargazers

diademiemi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.