DNxHR clips generated from Shutter Encoder are being detected as VFR

I have a large amount of content recorded on an iPhone. I then ran that content through Shutter Encoder using default settings for DNxHR HQ. When I add the clips to Kdenlive, K throws errors saying they are VFR and will cause issues.

I converted them primarily to bypass any editing issues, and also to try out Davinci Resolve which doesn’t support VFR at all. More specifically, even with proxies enabled, kdenlive was crashing quite a bit (at least once every editing session, and very frequently if I was adding clips) and producing artifacts in the renders (software render, no hd accel).

Anyone have any ideas? Maybe this doesn’t even matter idk, really just trying to stabilize kdenlive here.

~ ❯ ffprobe -show_streams /pool/videos/raw-footage/occidental_cabin/video_1/encodes/IMG_7455.MOV          
ffprobe version n8.0.1 Copyright (c) 2007-2025 the FFmpeg developers
  built with gcc 15.2.1 (GCC) 20260103
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libdvdnav --enable-libdvdread --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-vapoursynth --enable-version3 --enable-vulkan
  libavutil      60.  8.100 / 60.  8.100
  libavcodec     62. 11.100 / 62. 11.100
  libavformat    62.  3.100 / 62.  3.100
  libavdevice    62.  1.100 / 62.  1.100
  libavfilter    11.  4.100 / 11.  4.100
  libswscale      9.  1.100 /  9.  1.100
  libswresample   6.  1.100 /  6.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/pool/videos/raw-footage/occidental_cabin/video_1/encodes/IMG_7455.MOV':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    creation_time   : 2026-02-09T21:55:15.000000Z
    encoder         : Lavf62.3.100
  Duration: 00:01:49.92, start: 0.000000, bitrate: 846140 kb/s
  Stream #0:0[0x1]: Video: dnxhd (DNXHR HQ) (AVdh / 0x68645641), yuv422p(tv, bt709), 3840x2160, 844765 kb/s, 29 fps, 30 tbr, 15360 tbn (default)
    Metadata:
      creation_time   : 2026-02-09T21:55:15.000000Z
      handler_name    : Core Media Video
      vendor_id       : FFMP
      encoder         : Lavc62.11.100 dnxhd
  Stream #0:1[0x2]: Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      creation_time   : 2026-02-09T21:55:15.000000Z
      handler_name    : Core Media Audio
      vendor_id       : [0][0][0][0]
[STREAM]
index=0
codec_name=dnxhd
codec_long_name=VC3/DNxHD
profile=DNXHR HQ
codec_type=video
codec_tag_string=AVdh
codec_tag=0x68645641
width=3840
height=2160
coded_width=3840
coded_height=2160
has_b_frames=0
sample_aspect_ratio=N/A
display_aspect_ratio=N/A
pix_fmt=yuv422p
level=-99
color_range=tv
color_space=bt709
color_transfer=bt709
color_primaries=bt709
chroma_location=unspecified
field_order=unknown
refs=1
id=0x1
r_frame_rate=30/1
avg_frame_rate=31870/1099
time_base=1/15360
start_pts=0
start_time=0.000000
duration_ts=1688064
duration=109.900000
bit_rate=844765301
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=3187
nb_read_frames=N/A
nb_read_packets=N/A
extradata_size=24
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
DISPOSITION:non_diegetic=0
DISPOSITION:captions=0
DISPOSITION:descriptions=0
DISPOSITION:metadata=0
DISPOSITION:dependent=0
DISPOSITION:still_image=0
DISPOSITION:multilayer=0
TAG:creation_time=2026-02-09T21:55:15.000000Z
TAG:handler_name=Core Media Video
TAG:vendor_id=FFMP
TAG:encoder=Lavc62.11.100 dnxhd
[/STREAM]
[STREAM]
index=1
codec_name=pcm_s16le
codec_long_name=PCM signed 16-bit little-endian
profile=unknown
codec_type=audio
codec_tag_string=sowt
codec_tag=0x74776f73
sample_fmt=s16
sample_rate=48000
channels=2
channel_layout=stereo
bits_per_sample=16
initial_padding=0
id=0x2
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/48000
start_pts=0
start_time=0.000000
duration_ts=5276248
duration=109.921833
bit_rate=1536000
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=5276248
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
DISPOSITION:non_diegetic=0
DISPOSITION:captions=0
DISPOSITION:descriptions=0
DISPOSITION:metadata=0
DISPOSITION:dependent=0
DISPOSITION:still_image=0
DISPOSITION:multilayer=0
TAG:creation_time=2026-02-09T21:55:15.000000Z
TAG:handler_name=Core Media Audio
TAG:vendor_id=[0][0][0][0]
[/STREAM]

= 28.99909 fps

So it has a kind of VFR’y smell to me still. But I’m not familiar with Shutter Encoder to say much more than flagging that.