{ me, ... }: let ffmpegDevice = device: format: resolution: hz: "ffmpeg:device?video=${device}&input_format=${format}&video_size=${resolution}&framerate=${hz}#video=h264#hardware"; go2rtcPort = 1984; webrtcPort = 8555; in { services.go2rtc = { enable = true; settings = { api = { listen = "${me.tailscale.ip}:${toString go2rtcPort}"; base_path = "/webcam"; origin = "*"; # stop cors annoyance! }; webrtc = let address = "${me.tailscale.ip}:${toString webrtcPort}"; in { listen = address; candidates = [ address ]; }; streams = { webcam = ffmpegDevice "/dev/video0" "yuyv422" "1280x720" "30"; }; }; }; }