Skip to content

odaacabeef/loopback

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

loopback

Creates a virtual stereo input device that captures all system audio output, making it available to macOS screen recording — no Audio Server Plugin installation required.

Why

macOS screen recording captures from input devices, not output devices. loopback bridges that gap by tapping all system audio output and re-presenting it as a named stereo input device.

Requirements

  • macOS 14.2+
  • Rust toolchain

Usage

Install with make install, then run by name:

loopback

Or run directly from the project without installing:

cargo run

The device becomes available system-wide while the process is running. Ctrl+C removes it. The default device name is loopback. Run with --help to print help message.

Screen recording

  1. Start loopback
  2. Open the screen recording picker (Cmd+Shift+5)
  3. Select the device name from "Use audio from"
  4. Record — audio will be a stereo mix of all system audio output

How it works

Uses two macOS APIs:

  • AudioHardwareCreateProcessTap (macOS 14.2+) — global stereo tap that captures all process audio system-wide, regardless of which output device or channel each process uses
  • AudioHardwareCreateAggregateDevice — wraps the tap in a public aggregate device so screen recording can enumerate and select it by name

The tap is CATapUnmuted, so the source audio continues playing normally.

About

Virtual stereo input device for macOS screen recording audio capture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors