Skip to content
Robert Brisita edited this page Jun 7, 2022 · 12 revisions

Usage

FFmpeg is used to record and play back audio. Currently MP3 is being used but OGG and OPUS are being considered.

In software systems, reproducibility is important. Relying on system package managers and users to update dependencies outside of the control of software increases variability. Upon environment detection (OS and Architecture) the software will request known versions of dependencies so that it can run locally and under the full control of the software.

Targets

Architecture

  • Apple Silicon (M1)
  • ARM (ARMv7-A)
  • ARM64 (ARMv8-A)
  • ia32 (Intel)
  • x64

OSes

  • Darwin (OS X)
  • Linux Variants
  • Windows

Commands

Record

Darwin (OS X)

ffmpeg -hide_banner -nostats -loglevel error -f avfoundation -i <input_device> -y <output_file>

Linux

ffmpeg -hide_banner -nostats -loglevel error -f pulse -i <input_device> -y <output_file>

Windows

ffmpeg -hide_banner -nostats -loglevel error -f dshow -i audio=<input_device> -y <output_file>

Play

ffplay -hide_banner -nodisp -nostats -autoexit -ss <time_secs> <input_file>

List Devices

Darwin (OS X)

ffmpeg -hide_banner -nostats -f avfoundation -list_devices true -i ""

Linux

pactl list short sources

Windows

ffmpeg -hide_banner -nostats -f dshow -list_devices true -i dummy

Support FFmpeg v4.4, the newest version v5+ changed it output for Windows.

Links

FFmpeg

Directory Structure

Builds

Compile

Configure

Darwin (OS X)

Linux

Arch

Raspberry Pi

Windows

Errors