Iriun Webcam sem microfone Pipewire

Olá!
Uso o Iriun Webcam há algum tempo, mas era sempre com o Pulse Audio.
Para utilizar o áudio, bastaba executar o comando:

pacmd load-module module-alsa-source source_properties=device.description=Iriun device=hw:Loopback,0,0 

No entanto, o Manjaro agora utiliza o Pipewire, e com isso não consigo mais utilizar o áudio do Iriun como microfone.
Pesquisei bastante e encontrei uma forma de criar um microfone virtual Loopback.
No entanto não sei se estou configurando direito, pois o microfone fica mudo, independente das configurações que escolho.
Algumas informações:

 aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 0: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: SB [HDA ATI SB], device 0: ALC889 Analog [ALC889 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 1: ALC889 Digital [ALC889 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 3: HDMI 0 [LEN S24e-03]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 7: HDMI 1 [2369M]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Identifiquei o microfone com o “arecord”, ele está em “0,0”
Com isso, adicionei ao “pipewire.conf” (na pasta .config do usuário):

context.objects = [
    {   factory = adapter
        args = {
            factory.name     = api.alsa.pcm.source
            node.name        = "iriun-mic"
            node.description = "Iriun"
            media.class      = "Audio/Source/Virtual"
            api.alsa.path    = "hw:Loopback,0,0"
            audio.format    = "S32LE"
            audio.rate       = 48000
            audio.channels   = 2
            audio.position  = "FL,FR"
        }
    }
]

Em seguida reiniciei o pipewire com:

systemctl restart --user pipewire 

O microfone aparece na lista, mas sem áudio.
Curiosamente, no OBS consigo selecionar “Loopback, Loopback PCM” em “Dispositivo” e momentaneamente funciona, mas de forma muito errática.
Já tentei suprimir ou alterar valores no pipewire.conf, sem resultados.
Alguém consegue me ajudar nessa configuração?

Também gostaria de saber como configurar o microfone do Irium.

Também gostaria de saber, estou tentando usar agora no Big Linux.
Acho que vou pedir um help no fórum deles.

Mano, se tu descobrir como, conta pra gente!

Já tentou usar o Helvum ou qpwgraph para redicionar o áudio?

Boa tarde.
Já sim, com o Helvum.
Não deu certo.
Também tentei a ajuda da equipe do Iriun, mas não me responderam.

Poxa, se funcionasse tava perfeito.

Esse Electron Capture app q aparees no site tambem esta no AUR

Achei uma alternativa comparável ao Iriun:
vdo.ninja

Rapaz, vou conferir aqui. Obrigado por compartilhar!

Fala ai depois se funcionou para você, tambem cosegui usando o iriun e outro app para mandar o audio chamado sonobus mas dai tem q ter dois apps rodando no celular e no PC bem gambiarra e gasta muita bateria mas se tipo vc quiser usar o iriun via cabo usb pode ser uma alternativa, esse ninja é bem mais simples.

Opção cabeada com menos lag utilizando o scrcpy .
Para enviar o audio do microphone do celular via scrcpy:
scrcpy --audio-source=mic

Sobre como configurar o scrcpy veja esse video:

Cara, mandei um email pra equipe do Iriun e eles me respnderam kkk, disseram que vão ver se conseguem dar suporte ao Pipewire.

Deus abençoe que consigam, o Iriun é muito prático.

Versão atualizada do Iriun não abria com o seguinte erro:

iriunwebcam: error while loading shared libraries: libusbmuxd-2.0.so.6: cannot open shared object file: No such file or directory

Então verifiquei que o pacote correspondente estava instalado e criei um link

ln -s /usr/lib/libusbmuxd-2.0.so.7 /usr/lib/libusbmuxd-2.0.so.6 

Rodei o Iriun a partir do terminal, ativei o áudio e o seguinte apareceu no terminal:

ALSA lib pcm.c:8772:(snd_pcm_recover) underrun occurred

Procurei pelo erro na internet, mas as soluções propostas são, obviamente, para o Pulseaudio.

Não encontrei correspondência para Pipewire.

Voltando depois de um longo tempo…

SCRCPY é bem legal.

O único problema é que ele passa o áudio do microfone como “output” e com isso vai para os alto falantes do PC, dando uma microfonia terrível.

Com o Helvum, consigo desconecta-lo do EasyEffects Sink e conectar no EasyEffects Source, o que resolve o problema.

No entanto, essa alteração não é permente.

Toda vez que reconecto tenho que fazer isso manualmente.

Tentei o restore stream do Wireplumber, arquivo conf do Pipewire e nada, sempre vai para o Easy Effects Sink quando conectado.

Em todo caso, funciona.

Pois é depois desse post eu até comecei um projetinho amador e descobri que existem varios outros baseados no scrcpy maioria wraper com certos controles alguns até wirelles isso não implementei no meu, o unico cotrole de microfone que coloquei foi desativar e ativar o microfone mas já deve ter algum por ai com opções mais avançadas.

Massa!
Para resolver paliativamente o áudio do microfone eu criei um script com o pw-link:

pw-link -d "scrcpy:output_FL" "easyeffects_sink:playback_FL" &
pw-link -d "scrcpy:output_FR" "easyeffects_sink:playback_FR" &
pw-link "scrcpy:output_FL" "easyeffects_source:input_FL" &
pw-link "scrcpy:output_FR" "easyeffects_source:input_FR"

Lembrando que no meu caso fica assim porque eu uso o EasyEffects.

Daria para criar um node e conectar o scrcpy a ele:

pw-cli create-node adapter '{ factory.name=support.null-audio-sink node.name=scrcpy-mic media.class=Audio/Source/Virtual object.linger=true audio.position=[FL,FR] monitor.channel-volumes=true monitor.passthrough=true }'

Só não fiz porque o node do EasyEffects Source já está lá e funciona bem.
Não sei se é o melhor jeito, mas funciona.

Google passou, mas não tenho como testar

Fix Video (v4l2loopback) Issues

  • Ensure the kernel module is loaded with exclusive capabilities:
    sudo modprobe v4l2loopback exclusive_caps=1
  • Restart your video app or browser after launching the Iriun client. [1]

Fix Audio (snd-aloop) Issues

  • Load the ALSA loopback module manually in your terminal:
    sudo modprobe snd-aloop
  • Create a manual PipeWire audio capture stream by running:
    pw-loopback -m '[FL FR]' --capture-props='media.class=Audio/Source node.name=iriun_mic node.description="Iriun Mic"'
  • Select Iriun Mic as your input device in your recording or conferencing software