Skip to content

qasimsk20/resolve-transcoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

resolve-transcoder

GitHub last commit GitHub Repo stars Repo size License

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.

Why use this tool?

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.

Features

  • 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

Prerequisites

Before using resolve-transcoder, ensure you have the following installed on your system:

Arch Linux

  • Go (Golang): Required to build the program from source.
    sudo pacman -S go
  • FFmpeg: The underlying tool used for transcoding.
    sudo pacman -S ffmpeg

Other Linux Distributions

  • Ubuntu/Debian: sudo apt install ffmpeg golang-go
  • CentOS/RHEL: sudo yum install ffmpeg golang

macOS

  • Install via Homebrew: brew install ffmpeg go

Windows

Installation

Option 1: Download Pre-built Binary (Recommended)

  1. Go to the Releases page
  2. Download the appropriate version for your platform
  3. Extract the archive
  4. Move the executable to your PATH:
    sudo mv resolve-transcoder /usr/local/bin/

Option 2: Build from Source

  1. Clone the repository:

    git clone https://github.com/qasimsk20/resolve-transcoder.git
    cd resolve-transcoder
  2. Build the executable:

    go build -o resolve-transcoder
  3. Install to system PATH:

    sudo mv resolve-transcoder /usr/local/bin/
  4. Verify installation:

    resolve-transcoder --version

Usage

Basic Usage

resolve-transcoder input_video.mp4

This will create input_video_resolve.mov in the same directory.

Command-line Options

resolve-transcoder --help        # Show help information
resolve-transcoder --version     # Show version number

Examples

# 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.

Output Format

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)

Development

Building for Multiple Platforms

make build-all    # Build for all platforms
make release      # Create release packages

Running Tests

make test

About

A resolve transcoder

Resources

License

Stars

Watchers

Forks

Packages

No packages published