Skip to content

DJI Mini drone MP4 files not natively supported, preview is slow, seeking overshoots #2349

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
4 tasks done
dandv opened this issue Mar 9, 2025 · 2 comments
Open
4 tasks done

Comments

@dandv
Copy link

dandv commented Mar 9, 2025

The fewer issues I have to read, the more new features I will have time to implement, so I ask that you please try these things first

Steps to reproduce

  1. Open the attached MP4 (smallest file)
DJI_20240726201143_0068_D.MP4

Expected behavior

No warning

Actual behavior

Notice warning,

File is not natively supported. Preview playback may be slow and of low quality, but the final export will be lossless. You may convert the file from the menu for a better preview.

Provide an error report

No error occurred.

{
  "err": false,
  "state": {
    "ffmpegExperimental": false,
    "preserveMovData": false,
    "movFastStart": true,
    "preserveMetadataOnMerge": false,
    "fileFormat": "mp4",
    "externalFilesMeta": {},
    "mainStreams": [
      {
        "index": 0,
        "codec_name": "hevc",
        "codec_long_name": "H.265 / HEVC (High Efficiency Video Coding)",
        "profile": "Main",
        "codec_type": "video",
        "codec_tag_string": "hvc1",
        "codec_tag": "0x31637668",
        "width": 3840,
        "height": 2160,
        "coded_width": 3840,
        "coded_height": 2160,
        "closed_captions": 0,
        "film_grain": 0,
        "has_b_frames": 0,
        "pix_fmt": "yuv420p",
        "level": 150,
        "color_range": "tv",
        "color_space": "bt709",
        "color_transfer": "bt709",
        "color_primaries": "bt709",
        "chroma_location": "left",
        "refs": 1,
        "id": "0x1",
        "r_frame_rate": "30000/1001",
        "avg_frame_rate": "30000/1001",
        "time_base": "1/30000",
        "start_pts": 0,
        "start_time": "0.000000",
        "duration_ts": 1858857,
        "duration": "61.961900",
        "bit_rate": "89924032",
        "nb_frames": "1857",
        "extradata_size": 125,
        "disposition": {
          "default": 1,
          "dub": 0,
          "original": 0,
          "comment": 0,
          "lyrics": 0,
          "karaoke": 0,
          "forced": 0,
          "hearing_impaired": 0,
          "visual_impaired": 0,
          "clean_effects": 0,
          "attached_pic": 0,
          "timed_thumbnails": 0,
          "captions": 0,
          "descriptions": 0,
          "metadata": 0,
          "dependent": 0,
          "still_image": 0
        },
        "tags": {
          "creation_time": "2024-08-05T06:50:08.000000Z",
          "language": "und",
          "handler_name": "VideoHandler",
          "vendor_id": "[0][0][0][0]"
        }
      },
      {
        "index": 1,
        "codec_type": "data",
        "codec_tag_string": "djmd",
        "codec_tag": "0x646d6a64",
        "id": "0x2",
        "r_frame_rate": "0/0",
        "avg_frame_rate": "0/0",
        "time_base": "1/30000",
        "start_pts": 0,
        "start_time": "0.000000",
        "duration_ts": 1858857,
        "duration": "61.961900",
        "bit_rate": "62500",
        "nb_frames": "1857",
        "disposition": {
          "default": 0,
          "dub": 0,
          "original": 0,
          "comment": 0,
          "lyrics": 0,
          "karaoke": 0,
          "forced": 0,
          "hearing_impaired": 0,
          "visual_impaired": 0,
          "clean_effects": 0,
          "attached_pic": 0,
          "timed_thumbnails": 0,
          "captions": 0,
          "descriptions": 0,
          "metadata": 0,
          "dependent": 0,
          "still_image": 0
        },
        "tags": {
          "creation_time": "2024-08-05T06:50:08.000000Z",
          "language": "und",
          "handler_name": "DJI meta"
        }
      },
      {
        "index": 2,
        "codec_type": "data",
        "codec_tag_string": "dbgi",
        "codec_tag": "0x69676264",
        "id": "0x3",
        "r_frame_rate": "0/0",
        "avg_frame_rate": "0/0",
        "time_base": "1/30000",
        "start_pts": 0,
        "start_time": "0.000000",
        "duration_ts": 1858857,
        "duration": "61.961900",
        "bit_rate": "2376357",
        "nb_frames": "1857",
        "disposition": {
          "default": 0,
          "dub": 0,
          "original": 0,
          "comment": 0,
          "lyrics": 0,
          "karaoke": 0,
          "forced": 0,
          "hearing_impaired": 0,
          "visual_impaired": 0,
          "clean_effects": 0,
          "attached_pic": 0,
          "timed_thumbnails": 0,
          "captions": 0,
          "descriptions": 0,
          "metadata": 0,
          "dependent": 0,
          "still_image": 0
        },
        "tags": {
          "creation_time": "2024-08-05T06:50:08.000000Z",
          "language": "und",
          "handler_name": "DJI dbgi"
        }
      },
      {
        "index": 3,
        "codec_name": "mjpeg",
        "codec_long_name": "Motion JPEG",
        "profile": "Baseline",
        "codec_type": "video",
        "codec_tag_string": "[0][0][0][0]",
        "codec_tag": "0x0000",
        "width": 1280,
        "height": 720,
        "coded_width": 1280,
        "coded_height": 720,
        "closed_captions": 0,
        "film_grain": 0,
        "has_b_frames": 0,
        "sample_aspect_ratio": "1:1",
        "display_aspect_ratio": "16:9",
        "pix_fmt": "yuvj420p",
        "level": -99,
        "color_range": "pc",
        "color_space": "bt470bg",
        "chroma_location": "center",
        "refs": 1,
        "id": "0x0",
        "r_frame_rate": "90000/1",
        "avg_frame_rate": "0/0",
        "time_base": "1/90000",
        "start_pts": 0,
        "start_time": "0.000000",
        "duration_ts": 5576571,
        "duration": "61.961900",
        "bits_per_raw_sample": "8",
        "disposition": {
          "default": 0,
          "dub": 0,
          "original": 0,
          "comment": 0,
          "lyrics": 0,
          "karaoke": 0,
          "forced": 0,
          "hearing_impaired": 0,
          "visual_impaired": 0,
          "clean_effects": 0,
          "attached_pic": 1,
          "timed_thumbnails": 0,
          "captions": 0,
          "descriptions": 0,
          "metadata": 0,
          "dependent": 0,
          "still_image": 0
        }
      }
    ],
    "copyStreamIdsByFile": {
      "/home/dan/picsvids/drone/Bali/AYANA/DJI_20240805145007_0207_D.MP4": {
        "0": true,
        "1": false,
        "2": false,
        "3": true
      }
    },
    "cutSegments": [
      {}
    ],
    "mainFileFormatData": {
      "nb_streams": 4,
      "nb_programs": 0,
      "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
      "format_long_name": "QuickTime / MOV",
      "start_time": "0.000000",
      "duration": "61.961900",
      "size": "716561700",
      "bit_rate": "92516427",
      "probe_score": 100,
      "tags": {
        "major_brand": "isom",
        "minor_version": "512",
        "compatible_brands": "isomiso2mp41",
        "creation_time": "2024-08-05T06:50:08.000000Z",
        "encoder": "DJI Mini4 Pro"
      }
    },
    "rotation": 360,
    "shortestFlag": false,
    "effectiveExportMode": "separate",
    "outSegTemplate": "${FILENAME}-[${SEG_NUM}]${EXT}",
    "preserveMetadata": "default",
    "preserveChapters": true
  },
  "platform": "linux",
  "version": "3.64.0"
}

Share the file

https://www.swisstransfer.com/d/fee9fe9c-950c-4e85-a7d9-fdc448c0725f

Share log from developer tools

Didn't see anything alarming in the console. Please see SwissTransfer link above for a larger file that exhibits the slow playback and jumpy seek behavior on my machine (Tuxedo InfinityBook with NVidia graphics, running Fedora 38).

Possibly related: #2228

@mifi
Copy link
Owner

mifi commented Mar 14, 2025

It plays smoothly for me on macos. Have you enabled hardware HEVC encoding under "settings"? that is required in order to have native playback of h265 if that doesn't help, then I'm afraid that this problem is specific to your particular computer/os/driver/setup.

@adamaduckett
Copy link

Hi @dandv

I had a similar issue to you with DJI Mini 4 clips. I use LLC for GoPro clips regularly without issue.

Here's the problem I encountered:

  • I take a 1 min MP4 clip from DJI to 'trim' to a 10 second clip
  • The MP4 exported would have 20 seconds of a black screen, followed by the clip right at the end

I had a dive around in the LLC settings and resolved by doing the following:

  • Toggle 'Show export settings screen before exporting' next to Export
Image
  • In 'Input has 4 tracks' I noticed this was being flagged as an error for me
  • Toggle off track 4 (mjpeg)
  • Export the clip as intended!

These steps worked for me, hopefully helps anyone else with this issue with DJI drone MP4 clips

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants