Master your PipeWire streams with WirePlumber | Linaro Virtual Connect Fall 2021

Sdílet
Vložit
  • čas přidán 1. 11. 2021
  • In the embedded multimedia world, it is often a challenge to orchestrate multimedia streams in such a way so that the final product is robust, consistent and secure. In many cases, such systems end up doing all their multimedia in a single custom GStreamer pipeline or they develop complex orchestration systems around desktop-oriented solutions, circumventing desktop behaviour. PipeWire is a simple but powerful multimedia IPC framework that can be used to implement any kind of multimedia routing service, like an audio server (ex. PulseAudio, JACK) or a video capture portal. WirePlumber is a modular and scriptable session manager (i.e. orchestrator) for PipeWire. In this presentation, George will walk you through an interactive demo showing how easy it is to implement a custom, powerful and secure audio/video stream routing service using PipeWire, WirePlumber and rules scripted in Lua.
    Presented by George Kiagiadakis.
    #LVC21F #Linux #PireWire #WirePlumber #GStreamer #Lua #OpenSource #Multimedia #PulseAudio
  • Věda a technologie

Komentáře • 13

  • @chardinson
    @chardinson Před 2 lety +3

    Great, good to accompany you to the release of Fedora Linux 35 that comes with WirePlumer

  • @abujessica
    @abujessica Před 2 lety +1

    ayo never knew it would be this great
    thank you

  • @TheOnlyAndreySotnikov
    @TheOnlyAndreySotnikov Před rokem +5

    Oh, gosh... Why are you jumping to complicated stuff like Lua scripts without explaining the basics? I consider myself an experienced user, but all this pipewire stuff is still a mystery for me. After listening to this, I still don't understand simple stuff: how can I configure this pipewire machinery so that firefox when playing this video sends the sound to 1-2 outputs of my MOTU M4. I also don't understand why the device name for MOTU M4 and the way to handle it keeps changing. Before it was something like M4 Professional. After some Linux update, it is Direct M4, and it sends the sound to all ports 1-2 and 3-4 of the device. Why??? How do I do simple everyday stuff with pipewire, without learning Lua and writing Lua scripts? Asking a regular user to learn Lua to make simple configurations is horrible.

    • @eriklundstedt9469
      @eriklundstedt9469 Před rokem +1

      I believe there is some way to write the config in another way
      Other than that there's things like qpwgraph , or you could install pulse,or whatever you were using before, but if your distro is using Wayland, that won't be possible
      I'm an experienced lua programer with 1000+line scripts/projects and I can still not understand the documentation of wireplumber

    • @TheOnlyAndreySotnikov
      @TheOnlyAndreySotnikov Před rokem +3

      @@eriklundstedt9469
      > I'm an experienced lua programer with 1000+line scripts/projects and I can still not understand the documentation of wireplumber
      This is very encouraging. 😀

  • @ragesht.v4399
    @ragesht.v4399 Před rokem

    Do you suggest to have config file with Lua script usage in automotive case too? or use Wireplumber API for with a custom audio manager(which also handles session)

  • @HH-bq3sp
    @HH-bq3sp Před rokem

    As far as i know pipewire helps to broadcast through mutilpleprograms at the sametime .
    I wonder whether it makes it possible for multiple programs to access and “use “ camera at the sametime
    Or are they just sharing a video stream that comes from one program using camera?
    I want to know can multipleprograms “use”one camera at the sametime or can anything make this possible?! Thanks

  • @subbiiyer2411
    @subbiiyer2411 Před 2 lety

    Great work. Could you please share the example lua scripts from your demo?

    • @Collabora
      @Collabora  Před 2 lety +2

      Hi! You can download them here: share.collabora.com/index.php/s/orLqSd6Zx2rFZkw

    • @DavidssonJohan
      @DavidssonJohan Před rokem

      @@Collabora This link doesn't work, are the scripts available elsewhere?

    • @Collabora
      @Collabora  Před rokem +2

      @@DavidssonJohan Oops thanks for letting us know! You can find the scripts here: gitlab.collabora.com/-/snippets/234

    • @DavidssonJohan
      @DavidssonJohan Před rokem

      @@Collabora great thanks

  • @kesor6
    @kesor6 Před 10 měsíci

    What a horrible way to configure things. If all I want to do is have my bluetooth headphone connect to the appropriate node when paired, I need to learn how to write lua with the wireplumber library and all of its poorly documented implementation. Even though I am a software engineer with decades of experience, it would take me several days to do it from scratch. Expecting normal humans to get anything like that working is ...