Recently my NAS took some physical damage and the HDDs are not too happy about it. Most of my video files are partially corrupted. Meaning, they report some errors when checked with ffmpeg[1], and when you watch them they’ll sometimes freeze or skip a few seconds, but they’re not so corrupt they won’t play. So, the vast majority of the file is fine. I’d prefer to avoid re-downloading all of my media when such a small fraction of the total file is damaged.

Is there any way to only download chunks of the file that have errors?

In the mean time, I can repack and ignore errors[2] so that the freezing/pausing stops during playback, but it’ll still skip parts or otherwise act up.


  1. ffmpeg -v error -i $vidfile -map 0:1 -f null - ↩︎

  2. ffmpeg -i $vidfile -c copy $newvidfile ↩︎

  • 133arc585@lemmy.mlOP
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    2
    ·
    1 year ago

    Oh cool! I had considered that as maybe being an option but I wasn’t sure if it would actually work or not. I can’t afford a VPN right now so I wasn’t going to try, I figured I’d go ahead and ask so when I can get one running I can jump right in.

    Now, will it know the difference between “missing” and “corrupt”?

    • Instrument_Data@livellosegreto.it
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      1 year ago

      If you are using torrent then yeah, each file will be checked and the bad parts redownloaded.
      Missing or corrupted does not matter.
      Each torrent divides its content in a lot of small parts. Correct one are kept, anything else redownloaded. Simple and effective.

      • 133arc585@lemmy.mlOP
        link
        fedilink
        arrow-up
        3
        arrow-down
        2
        ·
        1 year ago

        Awesome thank you so much. I’m glad it is going to be easy to fix then.

        Now, one thing I’m not sure of is: how do I find the exact torrent to use? By now there’s no way I have a magnet link or torrent file, and due to file renaming for my media library I doubt I’d be able to identify an exact release anyway.

        • db2@lemmy.one
          link
          fedilink
          arrow-up
          8
          ·
          1 year ago

          Make a best guess and run it on a (renamed) copy of the video. If it tries to redownload 100% of it then it isn’t the right one. It’s a little tedious but it’ll work.

          In my experience downloading completely legitimate Linux ISOs and nothing considered illegal ever in my life, you have to add the torrent and start it so it gets peers and creates the files, then pause it and replace the file you’re working on renaming it as needed, then run the rescan. You’ll know a couple minutes later if it’s the right one.

          • 133arc585@lemmy.mlOP
            link
            fedilink
            arrow-up
            3
            arrow-down
            2
            ·
            1 year ago

            Hmm fair enough. I suppose by looking at the encoding and container formats I can probably narrow it down to a couple choices for each one.

            • toxictenement@lemmy.dbzer0.com
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              Yep, filesize is probably going to be your best bet here. Just keep in mind site sometimes report filesize differently, so a lot of time you’ll have to guess if its close enough to be the same file, also factoring in other stuff that get packed like cut samples or tracker promo txt’s.