I’m trying to extract the frames of a video as individual images but it’s really slow, except when I’m using jpeg. The obvious issue with jpegs is the data loss from the compression, I want the images to be lossless. Extracting them as jpegs manages about 50-70 fps but as pngs it’s only 4 fps and it seems to continue getting slower, after 1 minute of the 11 minute video it’s only 3.5 fps.

I suspect it’s because I’m doing this on an external 5tb hard drive, connected over USB 3.0 and the write speed can’t keep up. So my idea was to use a different image format. I tried lossless jpeg xl and lossless webp but both of them are even slower, only managing to extract at about 0.5 fps or something. I have no idea why that’s so slow, the files are a lot smaller than png, so it can’t be because of the write speed.

I would appreciate it if anyone could help me with this.

  • Fisch@discuss.tchncs.deOP
    link
    fedilink
    English
    arrow-up
    3
    ·
    5 months ago

    I’m doing this to upscale and interpolate the video and I want the best quality possible, since the source is using h.264 and I’m exporting to AV1. I was using jpeg with qscale:v 0 and 100% quality but you could still see compression artifacts, which is why I want to use a lossless format now. The upscaling and interpolation also takes quite a lot of time, so I’m also trying to minimize the time each step takes, if possible, since I’ll be doing this with multiple videos and I’ll probably use these scripts I made in the future a few more times.

    • drwankingstein@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 months ago

      Have you considered using av1an? it supports vaporsynth which has a large amount of upscale and frame interpolation tools, AI or not. If your upscaler supports vapoursynth, it could be a lot better option.

      • Fisch@discuss.tchncs.deOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        5 months ago

        I use upscayl-ncnn (basically just the cli version of Upscayl) and it doesn’t support vapoursynth. I’ve heard of it before but I don’t really know what it is or how to use it.