I have a lot of old movies, most will barely be 720p.

I ripped them off DVDs with MakeMKV and have sometimes 7GB files for 1,5h.

I want to convert them to something below 300MB, I often see more modern torrented movies below that size, so this should totally be possible.

They will only ever be played with VLC (Windows) or Celluloid/MPV (Linux) with hardware decoding.

But what codec to use? h264 and h265 are nonfree, arent they? But Videolan has some free variant of it and Cisco also offers their free version for h264?

Never heard of VP8 and VP9. Then there is AV1 but that seems to only have “264K 360° Surround sound 3D VR” options.

Man I just want to encode normal movies 🥲

What about webm? That is under “web” but probably also good?

I suppose I should use h264 for compatibility, but the web stuff will also be compatible. I would like the best and fanciest algorithms to have least dataloss.

Also, what to use for the audio? I think opus is best.

Thanks!

  • exu
    link
    fedilink
    English
    52 months ago

    If you want hardware decoding, first check what your gpu actually supports. vainfo can be used on Linux for example.

    If you have a very new gpu, it might support av1 decoding. This is currently the best codec and alsi free.

    Otherwise I’d prefer hevc and then avc, in that order. Vp8 or vp9 might also be supported, but they never caught on much so encoders and decoders are generally worse for them than the equivalents for other codecs.

    I don’t know any private person who was prosecuted for using hevc or avc. Most likely your hardware manufacturer and other companies already paid for the license to use hevc/avc. If you live in the EU it’s even less of a problem as software patents are not a thing here, i.e. you can’t patent a way to do things.

    Foe audio opus is the best codec at the momenr.

    Please make sure to compare the quality before and after decoding. Even using a more efficient codec I’d be wary of a 300mb sized movie.

    • DaGeek247
      link
      fedilink
      32 months ago

      Gpu encoding is terrible for anything that isnt fast encoding speeds. Best to use the cpu since this isnt for a live environment.

      • exu
        link
        fedilink
        English
        22 months ago

        Totally agreed, but you’d still want gpu decoding.

    • @boredsquirrel@slrpnk.netOP
      link
      fedilink
      22 months ago

      Yes I do. Quality level 50 is for sure too low, but AV1 had 80MB, h264 had 120MB, quite nice.

      I will try further and see what is best. Using AV1, opus and mkv