Import a video with AAC audio on Linux and the clip comes in with a completely blank, silent audio track. This installs a background watcher that detects it and fixes it in place — no manual conversion, no re-importing, no workflow changes.
Not a corrupt file, not a missing codec package. Apple and Microsoft privately licensed AAC decoding for macOS and Windows; that license was never extended to Linux. Resolve on Linux reads the video fine, creates an audio track — and silently produces nothing for it. Every version, Free and Studio.
flowchart LR
A["Camera / phone footage
with AAC audio"] --> B["Imported into
DaVinci Resolve on Linux"]
B --> C{"No licensed AAC
decoder on Linux"}
C --> D["Video: plays fine
Audio: silent, blank track"]
style D fill:#3a1518,stroke:#e0685f,color:#fff
style A fill:#161a24,stroke:#262b38,color:#e7e9ee
style B fill:#161a24,stroke:#262b38,color:#e7e9ee
style C fill:#161a24,stroke:#262b38,color:#e7e9ee
A small background service polls Resolve's own scripting API. When it spots AAC audio, it re-encodes just the audio track to PCM — in place, video untouched — and tells Resolve to re-read that same file.
flowchart LR
A["You import an
AAC file into Resolve"] --> B["Watcher polls the Media Pool
via Resolve's scripting API"]
B --> C{"Audio track is AAC?"}
C -->|No| D["Left alone"]
C -->|Yes| E["ffmpeg re-encodes just the
audio to PCM, in place"]
E --> F["Resolve told to
re-read the same file"]
F --> G["Audio plays correctly"]
style G fill:#123a1f,stroke:#5fd0a3,color:#fff
style A fill:#161a24,stroke:#262b38,color:#e7e9ee
style B fill:#161a24,stroke:#262b38,color:#e7e9ee
style C fill:#161a24,stroke:#262b38,color:#e7e9ee
style D fill:#161a24,stroke:#262b38,color:#e7e9ee
style E fill:#161a24,stroke:#262b38,color:#e7e9ee
style F fill:#161a24,stroke:#262b38,color:#e7e9ee
No parallel cache of converted files. The original file's audio is re-encoded and swapped back into the same path — same filename, same location.
Only the audio stream is re-encoded (stream-copy for video), so there's no quality loss and it's fast — a few seconds per clip.
Two ways in — pick whichever you're comfortable with.
davinci-aac-support.zip — a plain script and its files, nothing hidden or encoded.
Inside the extracted folder. First time running any downloaded executable, Linux asks you to confirm once — right-click → Allow Launching (wording varies by desktop environment).
The launcher just runs install.sh from the same folder — a short setup flow checks dependencies, installs the watcher, and walks you through the one manual step below.
curl -fsSL https://raw.githubusercontent.com/broskisworld/davinci-aac-support/main/install.sh | bash
Resolve's scripting API is off by default, and can only be switched on from inside Resolve:
Preferences → search "scripting" → External scripting using → Local → Save
The installer waits for this and confirms the connection live before finishing.
/opt/resolve (the standard location)--user session) — true for essentially every mainstream desktop distroffmpeg / ffprobe — installed automatically if missingWorks with both Free and Studio editions.