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 automatically — no manual conversion, no re-importing.
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. Every Resolve 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 background service polls Resolve's own scripting API. When it spots AAC audio, ffmpeg re-encodes just the audio track to PCM and Resolve is told to re-read the 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"]
E --> F["Resolve told to
re-read the fixed 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
Only the audio stream is re-encoded (stream-copy for video) — no quality loss, a few seconds per clip.
Fix files in place, or write copies to a separate folder that never touches the original. See Settings below.
Set from the dashboard's Settings card, or by editing
~/.config/davinci-aac-support/config.json.
Changes apply on the next poll — no restart.
Overwrites the original file. No extra disk space. The original AAC audio is gone once fixed — permanently, no undo.
Writes the fixed copy to a folder you choose. The original file is never touched — a hard guarantee, regardless of any other setting.
Some camera files (drones, action cams) carry a non-audio/video stream —
usually an embedded timecode track. ffmpeg's standard MP4 muxer can't
write that stream back out at all, confirmed directly: it fails even
with nothing else being re-encoded. The only way to keep it is
switching to the QuickTime muxer, which changes the output file's
container brand (mp4/isom →
qt, extension unchanged). Opens the same
everywhere, but it's a real identity change to the file — off by
default for that reason. Video and audio are always kept either way;
this setting only affects that one extra stream.
Pick whichever fits your distro.
davinci-aac-support_1.0-1_all.deb — double-click, or apt install ./davinci-aac-support_1.0-1_all.deb.
Right after install finishes. If it doesn't, open DaVinci AAC Support from your applications menu — same setup.
davinci-aac-support.zip — a plain script and its files, nothing hidden or encoded.
First run of any downloaded executable needs one confirmation — right-click → Allow Launching.
curl -fsSL https://raw.githubusercontent.com/broskisworld/davinci-aac-support/main/install.sh | bash
Resolve's scripting API is off by default — the watcher can't talk to Resolve without it:
Preferences → search "scripting" → External scripting using → Local → Save
The installer waits for this and confirms the connection live.
/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.