mmt icon indicating copy to clipboard operation
mmt copied to clipboard

Concurrently import files

Open KonradIT opened this issue 2 years ago • 0 comments

Import X videos at the same time in parallel instead of sequentially, use goroutines, mutex lock, synwaitgroups, etc...

Done in https://github.com/KonradIT/mmt/pull/36:

  • [x] Import in parallel via GoPro Connect / HTTP USB / HTTP WiFi
  • [x] Add merge ffmpeg function which detects the GoPro chapters
  • [x] Merge sub command

Todo:

  • [ ] Limit number of active jobs via max-active param
  • [x] Add concurrency to GoPro filesystem import
  • [x] Add concurrency to DJI/Insta360 import
  • [ ] Construct a tree where each leaf is one part of the path to a file. Once import is all done, iterate over and detect G****-[chapter] and group them into a new leaf with n children, then merge (and keep the files)
  • [ ] Make a Go version of udtacopy and put the video 1 chapter's UDTA box into the merged file, so it plays back on gyroflow

Before:

graph TD;
    A[15-03-2021]-->B[HERO9 Black];
    B-->C[videos];
    C-->D[3840x2160 50];
    D-->E[GH1273-01.MP4];
    D-->F[GH1274-01.MP4];
    D-->G[GH1274-02.MP4];
    D-->H[GH1274-03.MP4];

After:

graph TD;
    A[15-03-2021]-->B[HERO9 Black];
    B-->C[videos];
    C-->D[3840x2160 50];
    D-->E[GH1273-01.MP4];
    D-->F[GH1274]
    F-->G[GH1274-01.MP4];
    F-->H[GH1274-02.MP4];
    F-->I[GH1274-03.MP4];
    F-->J[GH1274-merged.MP4];

KonradIT avatar Dec 13 '22 12:12 KonradIT