Skip to content
Home » Fix Davinci Resolve 19 Missing Video or Audio Syncronisation issues importing MP4 or Mov videos, on Debian Linux

Fix Davinci Resolve 19 Missing Video or Audio Syncronisation issues importing MP4 or Mov videos, on Debian Linux

davinci resolve audio video issues on debian linux

OK Davinci Resolve 19 why is my video missing when I import MP4 or Mov files? Perhaps even more annoying, why is my audio going out of sync on my video? It starts off ok but towards the end of the video it is so out of sync it’s like watching a dubbed foreign movie! If you’ve ever experienced this then I hope I can help you.

A Real World Case Study: Video / Audio problems with Davinci Resolve

Each week I do a live streaming show on Rumble. Sometimes live on YouTube too. At the end of the show I download the episode so I can pull the audio for my podcast and also so I can edit the video down into shorts or breakout videos.

But I’ve recently been experiencing the following since I changed from Pop!_OS 22.04 to Debian 12 Linux:

  • When I put the video into Davinci Resolve there’s no video showing.
  • I use ffmpeg to trascode it and then I have video but no audio!
  • I manage to get video and audio but the audio goes out of sync with the video! – arghhhH! help!

So let’s cover a few basics about my setup, although I don’t believe this is actually the issue, it may just help you to be able to compare with your setup, perhaps giving you peace of mind that the solution below may finally solve your Davinci Resolve video and audio issues.

Hardware/ OS Specs

  • KDE Plasma: 5.27.5
  • KDE Framworks: 5.103.0
  • Qt: 5.15.8
  • Kernal V: 6.1.0-31-amd64 (64-bit)
  • Graphics: Wayland
  • Processors: 16 x AMD Ryzen 7 7700X 8-Core
  • Memory: 32 GiB
  • Graphics: NVidia GeForce RTX 4080/PCIe/SSE2

Video File Specs

  • Filename: xxx.mp4
  • Format: MPEG-4
  • Profile: Base Media
  • Codec ID: isom (isom/iso2/avc1/mp41)
  • Bit rate: Variable 3363 kb/s
  • Frame rate: 30.000 FPS
  • Size: 1920 pixels x 1080 pixels
  • Color space: YUV
  • Chroma subsampling: 4:2:0
  • Bit depth: 8 bits
  • Scan type: Progressive
  • Stream size: 1.69 GiB (95%)
  • Audio Format: AAC LC Advanced Audio Codec Low Complexity
  • Codec ID: mp4a-40-2
  • Bit rate mode: Variable
  • Bit rate: 154 kb/s
  • Channel(s): 2 L R
  • Sampling rate: 48.0 kHz
  • Frame rate: 46.875 FPS (1024 SPF)
  • Compression mode: Lossy
  • Stream size: 83.1 MiB (5%)

Software Specs

Davinci Resolve: 19.1.3 Build 7

MediaInfo v23.04

ffmpeg version 6.0.1

Debian 12.2.0-14

VLC 3.0.21 Vetinari

OBS Studio 29.0.2.1-1+b1 (64 bit)

Davinici Resolve Missing Video/Audio or Sync Problems?!

davinci resolve audio video issues on debian linux

I spent a lot of time on the Black Magic forums as well as on reddit and other useful resources and there were a lot of helpful suggestions. I even tried using VLCs convert features. But none of them solved the problem for me. That said, what I’m proposing might not work for you, but if it does… happy days and you can carry on editing awesome content.

Here’s a few good links, which helped point me in the right direction, but didn’t solve the problem:

Here’s the solution that eventually worked for me:

Using ffmpeg on the command line to convert MP4 video into format suitable for Davinci Resolve 19

In the tables above you can see the typical video file format that I get when I download a live stream file from Rumble. It’s worth mentioning that I stream using OBS Studio. The code below is run as a command line on the terminal (Konsole) – we’re on Linux but you can use ffmpeg on mac and windows.

# Convert a rumble download into a format ingestible by Davinci Resolve 19 on Linux 12 (Debian) without audio sync drift

ffmpeg -i original_file.mp4 -vcodec dnxhd -profile:v dnxhr_lb -af 'aresample=async=1' -acodec pcm_s16le -f mov final_file.mov

# ffmpeg - this is the program that does the conversion (it's your best friend! Install it)
# -i is the input file e.g. 'original_file.mp4
# -vcodev dnxhd means convert the video into codec dnxhd, which Davinci Resolve can process easily, fixing the missing video issue. 
# -profile:v dnxhr_lb says which video profile to use 
# -af 'aresamble=async=1' this means AudioFilter audio resample sync the audio so it stretches or shrinks to match the exact length of the video content. This solves the audio sync drift issue.
# acodec pcm_s16le basically converts the audio into something like 16 bit stereo wav file which Davinci Resolve can process easily, fixing the missing audio issue. 
# -f mov means output it in a mov container
# final_file.mov is the file name to write it to.

ffmpeg is a very powerful program and is well worth learning more about. Here’s a handy hint though. If like me your videos usually have an opening bumper, say 10 mins, then you want to skip that when you create the conversion for two reasons: 1. save disk space and 2 save conversion time. My videos are about 1h 20m long and the originals will be about 1 to 2 GB. After conversion they are about 25- 30 GB and conversion happens at about 7x play speed so about 10 to 15 mins. So any time or hard drive savings are well worth your effort.

# Laying it out so it's easier to see the individual components of the command line:

ffmpeg \
 -i original_file.mp4 \
 -ss 00:10:00 \
 -vcodec dnxhd \
 -profile:v dnxhr_lb \
 -af 'aresample=async=1' \
 -acodec pcm_s16le \
 -f mov \
 final_file.mov

# adding the -ss flag with hh:mm:ss timing allows you to set the start point for the conversion. Kudos to bannerbear.com for this one.

For me this worked a treat and you can see the comparison between the input file and the output file below:

Preparing video for Davinci Resolve with FFMPEG

Batch Processing Lots of Video Files for Davinci Resolve!

Chances are that you may have a whole load of files that you need to convert for use in Davinci Resolve and you don’t want to sit there for hours on end doing them one at a time. Well since you’re a smart cookie and your on linux (or at least linux for kids – aka a mac) then you can do a simple one-liner to process all of your files in a given folder.

cd /path/to/my/folder/where/all/my/video/files/are/
ls -al #to see what files are there

# should be safe as not overwriting originals.
# All on one line, but I'll give you the breakdown below:

for video in *.mp4; do ffmpeg -i  $video -ss 00:10:00 -vcodec dnxhd \
 -profile:v dnxhr_lb -af 'aresample=async=1' -acodec pcm_s16le \
 -f mov ${video%.*}.mov ; done

# OK breaking this down onto multiple lines (eg. if this was in a bash script)
# it's a simple for loop which gets the file names from the current folder.

for video in *.mp4; # Loop through all files ending in .mp4 in the current folder
do  # for each one of those files do the following
    ffmpeg -i  $video -ss 00:10:00 -vcodec dnxhd -profile:v dnxhr_lb -af 'aresample=async=1' -acodec pcm_s16le -f mov ${video%.*}.mov
done # keep going until we've finished.

Let me know if this was helpful or can be improved and if it has saved you time, pain, and effort then you can help support me by buying me a coffee, which would be amazing and appreciated. Thanks – Mark

Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments