Difference between revisions of "Audiovisual"

From Things and Stuff Wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
* https://github.com/folkertvanheusden/constatus - monitors, converts, transforms, filters and multiplexes video-feeds. Feeds like IP-cameras, "video4linux"-devices, pixelflut, VNC-servers, Raspberry Pi-cameras, etc. It is an NVR (network video recorder) with special features.
 
* https://github.com/folkertvanheusden/constatus - monitors, converts, transforms, filters and multiplexes video-feeds. Feeds like IP-cameras, "video4linux"-devices, pixelflut, VNC-servers, Raspberry Pi-cameras, etc. It is an NVR (network video recorder) with special features.
 +
 +
 +
 +
* [https://www.reddit.com/r/wayland/comments/16gdrgx/a_working_solution_to_pipe_pipewire_video_into/ a working solution to pipe pipewire video into ffmpeg & a simple low latency remote desktop : wayland]
  
 
== PipeWire ==
 
== PipeWire ==
Line 13: Line 17:
  
 
* https://wiki.archlinux.org/index.php/PipeWire
 
* https://wiki.archlinux.org/index.php/PipeWire
 +
 
* https://wiki.archlinux.org/index.php/PipeWire/Examples
 
* https://wiki.archlinux.org/index.php/PipeWire/Examples
  
  
 
* https://github.com/mikeroyal/PipeWire-Guide - PipeWire Guide. Learn about how PipeWire gives your Linux system a Professional Audio/Video Processing workflow.
 
* https://github.com/mikeroyal/PipeWire-Guide - PipeWire Guide. Learn about how PipeWire gives your Linux system a Professional Audio/Video Processing workflow.
 +
 +
* [http://blog.jackphelan.xyz/syphon-for-linux-the-missing-link Syphon for Linux - A Missing Link] - pre PipeWire
 +
  
  
Line 25: Line 33:
 
* https://github.com/PipeWire/pipewire-pulseaudio - PulseAudio replacement library on top of PipeWire
 
* https://github.com/PipeWire/pipewire-pulseaudio - PulseAudio replacement library on top of PipeWire
  
 
* https://gitlab.freedesktop.org/pipewire/pipewire/-/tree/master/src/modules/module-protocol-pulse
 
  
  
Line 33: Line 39:
  
 
* https://blogs.gnome.org/uraeus/2018/01/26/an-update-on-pipewire-the-multimedia-revolution-an-update
 
* https://blogs.gnome.org/uraeus/2018/01/26/an-update-on-pipewire-the-multimedia-revolution-an-update
 +
  
  
 
* https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/doc/spa/pod.md
 
* https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/doc/spa/pod.md
  
* https://github.com/Qufyy/obs-pipewire-audio-capture - Experimental PipeWire audio capturing for OBS Studio
 
  
 +
=== Configuration ===
 +
 +
* https://gitlab.freedesktop.org/pipewire/pipewire/-/tree/master/src/modules/module-protocol-pulse
 +
 +
 +
* [https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Filter-Chain Filter Chain · PipeWire Wiki]
 +
 +
 +
 +
 +
* https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PulseAudio#network-support - The PipeWire PulseAudio server has fairly complete network support, include RTP and ROC support.
 +
 +
 +
* [https://docs.pipewire.org/page_module_raop_discover.html PipeWire: PipeWire Module: RAOP Discover] - Automatically creates RAOP (Airplay) sink devices based on zeroconf information. This module will load module-raop-sink for each announced stream that matches the rule with the create-stream action. If no stream.rules are given, it will create a sink for all announced streams.
  
 
=== Tools ===
 
=== Tools ===
  
 +
for d in `pactl list short sinks | awk '{print $1}'`; do pactl set-sink-volume $d -5%; done
  
 
==== pw-volume ====
 
==== pw-volume ====
Line 48: Line 69:
 
==== pwvucontrol ====
 
==== pwvucontrol ====
 
* https://github.com/saivert/pwvucontrol - an attempt are making a volume control applet for Pipewire.
 
* https://github.com/saivert/pwvucontrol - an attempt are making a volume control applet for Pipewire.
 +
 +
==== sink-rotate ====
 +
* https://github.com/mightyiam/sink-rotate - Command that sets "next" PipeWire audio sink as default
 +
 +
 +
==== PipeControl ====
 +
* https://github.com/portaloffreedom/pipecontrol - Pipewire control GUI program in Qt-QML using Kirigami2 (KDE). Work in progress, more features to come when I have time to study pipewire and time to implement things.
 +
 +
==== Simple Wireplumber GUI ====
 +
* https://github.com/dyegoaurelio/simple-wireplumber-gui - With this tool you can easily rename and see the properties of your audio devices if you're running pipewire as your audio server and wireplumber as it's session and policy manager.
 +
 +
==== coppwr ====
 +
* [https://dimtpap.ovh/coppwr coppwr] - a tool that provides low level control over the PipeWire multimedia server. It aims to expose and provide as many ways to inspect and control the many aspects of the PipeWire multimedia server as possible. It can be used as a diagnostic tool for PipeWire and to help develop software that interacts with it.
 +
** https://github.com/dimtpap/coppwr
  
 
==== Helvum ====
 
==== Helvum ====
Line 57: Line 92:
 
==== EasyEffects ====
 
==== EasyEffects ====
 
* https://github.com/wwmm/easyeffects - Limiter, compressor, reverberation, equalizer and auto volume effects for Pulseaudio applications, LV2 based.
 
* https://github.com/wwmm/easyeffects - Limiter, compressor, reverberation, equalizer and auto volume effects for Pulseaudio applications, LV2 based.
 +
 +
==== obs-pipewire-audio-capture ====
 +
* https://github.com/Qufyy/obs-pipewire-audio-capture - Experimental PipeWire audio capturing for OBS Studio
 +
 +
==== pipewire-orchestrator ====
 +
* https://github.com/jayden-chan/pipewire-orchestrator - support for running LV2 plugins with JACK and controlling them with MIDI
 +
 +
=== Libraries ===
 +
==== pipewire-media-stream ====
 +
* https://gitlab.gnome.org/GNOME/pipewire-media-stream - PipeWire implementation of GtkMediaStream for GTK4. This code is under public domain (see COPYING).

Latest revision as of 01:41, 2 November 2023

General

See also Creative coding, Visuals, etc


  • https://github.com/folkertvanheusden/constatus - monitors, converts, transforms, filters and multiplexes video-feeds. Feeds like IP-cameras, "video4linux"-devices, pixelflut, VNC-servers, Raspberry Pi-cameras, etc. It is an NVR (network video recorder) with special features.


PipeWire

  • PipeWire - a project that aims to greatly improve handling of audio and video under Linux. It aims to support the usecases currently handled by both PulseAudio and Jack and at the same time provide same level of powerful handling of Video input and output. It also introduces a security model that makes interacting with audio and video devices from containerized applications easy, with supporting Flatpak applications being the primary goal. Alongside Wayland and Flatpak we expect PipeWire to provide a core building block for the future of Linux application development. [1]








Configuration





  • PipeWire: PipeWire Module: RAOP Discover - Automatically creates RAOP (Airplay) sink devices based on zeroconf information. This module will load module-raop-sink for each announced stream that matches the rule with the create-stream action. If no stream.rules are given, it will create a sink for all announced streams.

Tools

for d in `pactl list short sinks | awk '{print $1}'`; do pactl set-sink-volume $d -5%; done

pw-volume

pwvucontrol

sink-rotate


PipeControl

Simple Wireplumber GUI

coppwr

  • coppwr - a tool that provides low level control over the PipeWire multimedia server. It aims to expose and provide as many ways to inspect and control the many aspects of the PipeWire multimedia server as possible. It can be used as a diagnostic tool for PipeWire and to help develop software that interacts with it.

Helvum

pw-viz

EasyEffects

obs-pipewire-audio-capture

pipewire-orchestrator

Libraries

pipewire-media-stream