After a recent data loss, I'm reconsidering various CODECs before re-encoding my re-pirated "loot". I'm looking to maintain a good balance between quality and file size as my previous files were HUGE. I've read about x264, h264, h265 & vp9 for video and it's between AAC or AC-3 for audio. I'm looking for long-term and broad device compatibility. Also, I'll be using FFBatch front-end for ffmpeg for re-encoding. So, fellow pirates, what are your libraries coded in? Any helpful input would be greatly appreciated.

  • neo [he/him]
    ·
    10 months ago

    Depending on what I'm encoding, I am trying as much as possible to do AV1 + Opus.

    x264 kind of stands on its own. It is a legendary encoder with excellent encode times, but h264 is an ancient codec and it really shows if you don't give it a bitrate that's, frankly, too high. I use it most frequently these days for sharing short, low res clips of videos on Discord or through iMessage or something.

    So that leaves us with with our modern choices: hevc, vp9, and AV1.
    Off the bat I would say VP9 is irrelevant just because it's way too slow to encode, and is effectively superseded by AV1. To whatever extent possible I try to use AV1, reencode into AV1, download AV1, and so forth. When done correctly it will shrink files even smaller than hevc can, it can encode relatively quickly with SVT-AV1 and is patent unencumbered so it's actually supported in web browsers. If the video is an AV1 .webm it will play in Firefox. If I need subtitles, I can put them in a .mkv.

    HEVC (with x265) is a pretty strong choice. I will not avoid downloading torrents in this format but I will avoid encoding into it. It maybe has better compatibility in certain cases, like if you have a "smart" TV (ugh) that can natively decode it. In which case that might override any decision you will make: you just want the best compatibility with your existing hardware.

    As for audio, that's Opus. Every time. It absolutely whips. For stereo audio I can do Opus at 96 or 112kbps and it is transparent. Another source with more going on (maybe loud explosions and effects and all that) could possibly benefit from 128. It's great.

    The final thing to mention about encoding is no matter which codec you use you will have to learn a bit about how to use it. You can one and done the encoders with default choices, but at minimum you do need to factor in what happens when you do things like change preset speeds. From there you can consider things like what about changing the keyframe interval (for shorter vids I will do more frequent keyframes to make seeking tolerable. For something like a full movie a keyframe every 10 seconds is probably fine. But what about scene detection? What about bit depth?). Potentially much to consider.