6 ms·
You encouraged me to try again and somehow, blackmagically ;) it works this time. It may be that recent DaVinci version has made some improvement. I'm so happy!
by googie 5mo ago
You encouraged me to try again and somehow, blackmagically ;) it works this time. It may be that recent DaVinci version has made some improvement. I'm so happy!
Installation still requires workarounds and codecs support is limited, but having that aknowledged and accepted, the application is finally usable!
PS. I don't know where the h264 (and other codes?) limitation come from, since ffmpeg has full support of it. Or is it just business model? Weird.
- googie 5mo agoFor those seeking quick solution for missing codecs, here are bash scripts that use ffmpeg to convert any input clips (including these problematic h.265/h.264) to format acceptable for DaVinci #!/usr/bin/env bash set -euo pipefail INPUT_DIR="${1:-}" TARGET_FPS="${2:-30}" if [[ -z "$INPUT_DIR" ]]; then echo "Usage: $0 <directory with clips> [target fps (defaults to 30)]" exit 1 fi if [[ ! -d "$INPUT_DIR" ]]; then echo "Error: directory does not exist: $INPUT_DIR" exit 1 fi OUTPUT_DIR="$INPUT_DIR/conv" mkdir -p "$OUTPUT_DIR" EXTENSIONS=( mp4 avi wmv mpg mpeg mov mkv m4v flv webm ts mts m2ts 3gp ) shopt -s nullglob nocaseglob for ext in "${EXTENSIONS[@]}"; do for file in "$INPUT_DIR"/*."$ext"; do filename="$(basename "$file")" name="${filename%.*}" output="$OUTPUT_DIR/${name}.mov" echo "Konwersja: $file -> $output" ffmpeg -y -i "$file" \ -map 0:v:0 -map "0:a?" \ -vf "fps=${TARGET_FPS}" \ -vsync cfr \ -c:v prores_ks -profile:v 1 \ -pix_fmt yuv422p \ -c:a pcm_s16le -ar 48000 \ "$output" done done echo "Results in: $OUTPUT_DIR" and then converting final exported video to h.265: #!/usr/bin/env bash set -euo pipefail INPUT="${1:-}" CRF="${2:-21}" PRESET="${3:-slow}" if [[ -z "$INPUT" ]]; then echo "Usage: $0 <input file> [crf=21] [preset=slow]" exit 1 fi if [[ ! -f "$INPUT" ]]; then echo "Error: file does not exist: $INPUT" exit 1 fi DIR="$(dirname "$INPUT")" FILE="$(basename "$INPUT")" NAME="${FILE%.*}" OUTPUT="$DIR/${NAME}_h265.mp4" ffmpeg -y -i "$INPUT" \ -map 0:v:0 -map '0:a?' \ -c:v libx265 \ -preset "$PRESET" \ -crf "$CRF" \ -pix_fmt yuv420p \ -tag:v hvc1 \ -c:a aac \ -b:a 192k \ -movflags +faststart \ "$OUTPUT" echo "Ready: $OUTPUT"
- dtf 5mo agoGreat to hear! I would guess the codec limitation might come from licensing requirements, as BMD would need to pay for h264/h265 licenses for Linux, and that can't really be sustainable for a free product. MacOS and Windows already come with licensed system codecs. My project had ProRes source media, so there was no codec issue and everything worked very smoothly. I exported ProRes and used ffmpeg to transcode to whatever I needed. I don't think I would have bothered trying to run Resolve on Linux were it not for finding that davincibox script. It was incredibly straightforward to install, and now I just start it by clicking on an icon like a regular application. Have fun!