resolve-transcoder is a simple command-line utility written in Go that helps DaVinci Resolve users on Linux transcode unsupported MP4 video files (typically H.264/H.265 video with AAC audio) into a DaVinci Resolve-compatible format (DNxHD video with ALAC audio in a MOV container).
This tool is particularly useful for users with Intel Integrated Graphics on Arch Linux (or similar distributions) who encounter issues importing common MP4 files into DaVinci Resolve Free or Studio versions due to codec limitations.
DaVinci Resolve on Linux, especially the free version, has known limitations with certain common video and audio codecs like H.264, H.265, and AAC. This often leads to "media offline" errors or inability to import files. resolve-transcoder automates the process of converting these files into a format that DaVinci Resolve can readily use, saving you time and effort.
- Simple Command-Line Interface: Easy to use by providing the input file path
- DaVinci Resolve Compatibility: Transcodes video to DNxHD and audio to ALAC, wrapped in a MOV container
- Real-time Progress Tracking: Visual progress bar with ETA and speed information
- Multiple Format Support: Works with MP4, MKV, AVI, MOV, and M4V files
- Cross-platform: Works on Linux, macOS, and Windows
- Error Handling: Checks for file existence and provides informative messages
- Dependency Checking: Verifies FFmpeg installation before starting
Before using resolve-transcoder, ensure you have the following installed on your system:
- Go (Golang): Required to build the program from source.
sudo pacman -S go
- FFmpeg: The underlying tool used for transcoding.
sudo pacman -S ffmpeg
- Ubuntu/Debian:
sudo apt install ffmpeg golang-go - CentOS/RHEL:
sudo yum install ffmpeg golang
- Install via Homebrew:
brew install ffmpeg go
- Download FFmpeg from ffmpeg.org
- Download Go from golang.org
- Go to the Releases page
- Download the appropriate version for your platform
- Extract the archive
- Move the executable to your PATH:
sudo mv resolve-transcoder /usr/local/bin/
-
Clone the repository:
git clone https://github.com/qasimsk20/resolve-transcoder.git cd resolve-transcoder -
Build the executable:
go build -o resolve-transcoder
-
Install to system PATH:
sudo mv resolve-transcoder /usr/local/bin/
-
Verify installation:
resolve-transcoder --version
resolve-transcoder input_video.mp4This will create input_video_resolve.mov in the same directory.
resolve-transcoder --help # Show help information
resolve-transcoder --version # Show version number# Transcode a single file
resolve-transcoder my_video.mp4
# Transcode with full path (use quotes for spaces)
resolve-transcoder "/path/to/video with spaces.mkv"
# Real example
resolve-transcoder "/home/vermillion/system 83/AQOsIDbBzoopqt-wY5GYkbm4z5KIRhuxjuPhHE6SAr5rT27ljEEiHKZmrLX8oNs-ZAIgd3yAeUcAtDglJTEz4QQT5OeHhdgjaW3hCO0.mp4"The transcoded file will be saved in the same directory as the input file, with _resolve.mov appended to its name.
The transcoded files use these specifications optimized for DaVinci Resolve:
- Video Codec: DNxHR HQ (high quality, edit-friendly)
- Audio Codec: ALAC (lossless)
- Container: MOV (QuickTime)
- Pixel Format: YUV 4:2:2 (professional broadcast standard)
make build-all # Build for all platforms
make release # Create release packagesmake test