Remote video and microphone on linux pipewire:

bin/always-disconnect-mic-from-speakers:

#!/bin/sh
while true; do
  for linkid in $(pw-link -lI | grep -e "->.*alsa" | awk '{print $1}'); do 
    pw-link -d $linkid; 
  done
  sleep 10
done;

bin/martyn-logon-script.bash:

#!/bin/bash
$HOME/bin/v4l-listener 2>/dev/null > /dev/null &
$HOME/bin/always-disconnect-mic-from-speakers 2>/dev/null > /dev/null &
$HOME/bin/remote-mic

bin/remote-mic:

#!/bin/sh
pactl load-module module-null-sink media.class=Audio/Source/Virtual sink_name=i9mic channel_map=front-left,front-right
pactl load-module module-rtp-recv
until pactl list | grep i9top; do sleep 1; done
for linkid in $(pw-link -lI | grep -e "->.*alsa" | awk '{print $1}'); do pw-link -d $linkid; done
pw-link i9top:receive_AUX1 i9mic:input_FL
pw-link i9top:receive_AUX2 i9mic:input_FR

bin/v4l-listener:

#!/bin/sh
while true; do socat TCP-LISTEN:6675 SYSTEM:"ffmpeg -f rawvideo -pixel_format yuyv422 -video_size 768x432 -i - -f v4l2 /dev/video0"; done

bin/send-v4l.sh:

#!/bin/sh
# Send v4l device to laptop
DEVICE=$(v4l2-ctl -A | grep -A1 OBS |tail -n1)
UDP_OR_TCP=TCP
IP=172.20.2.187
if [ "$1" == "udp" ]; then 
        UDP_OR_TCP=UDP
fi
v4l2-ctl -d $DEVICE --set-fmt-video=width=768,height=432,pixelformat=YUYV --stream-mmap --stream-to - | socat - ${UDP_OR_TCP}-CONNECT:$IP:6675