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.
I recommend using H.265 and Opus for audio. In my opinion, encoding to H.264 in 2023 is not a wise choice. AV1 is a good option, especially with hardware encoding and compatible devices.
First, just to be clear because codec terminology can be weird, x264 is a h264 encoder, not a separate codec. H265 is not an open standard so it may not play back properly if you use a Firefox or a Firefox based browser. I would recommend av1 if you can encode it, as it is good for quality and file size, however only new GPUs can encode it. CPUs can encode it slowly, but if you don’t have a new gpu (like 40 series Nvidia, arc, or AMD 7000 and maybe 6000) I would recommend vp9. It is a bit worse for file size but it won’t take a year to encode and should be compatible with most browsers.
Thanks for the clarification on 264. I have an AMD 3700x with Radeon 470 graphics card. I'd like a decent balance between CPU/GPU encoding so not to put too much stress on just the CPU. I know nothing about AV1. Can Smart TVs read the AV1 or VP9 codec? I know my LG will take H.264 & H.265 but I haven't tried the others?
AV1 is only just appearing in TV chipsets, and software support and stability will lag behind there for some time. if you only use your videos on a modern PC or a new-ish phone, then sure go for it, it's pretty great.
Personally though, as good as AV1 is, I'd be avoiding it for something like a plex/emby/jellyfin library purely because while computers and phones now have decent support, many TVs and streaming boxes do not, the software on those that do is lacking support or is patchy, broken or unstable, and you can run into difficulty even transcoding those files for playback on unsupported devices because of the transcoder backends having their own support problems depending on your server hardware, operating system, and server software choice.
H265 10bit is the current best for those sorts of media libraries, just about any TV or streaming box from the last 5 years will support it just fine and it is still somewhat easy to encode with hardware acceleration.
I recently ran some of my less critical libraries through fileflows to convert a small subset of oversized H264 files to H265 10bit and with roughly 17000 files processed in those libraries I've saved about 5tb. that is skipping small H264 files and files already in H265, and has a few encoding tiers based on file size and some handling of reprocessing outputs that end up larger than the original, which can happen with the lower RF values that I am using.
Output quality has been perfectly acceptable, but i still have many thousands of files that I would prefer to keep in the highest quality possible, regardless of file size.
I am not too knowledgeable on different encoders, but I don’t know if using cpu and gpu is an option. Av1 and vp9 are open standards, meaning basically anything can implement them, but av1 is new so older devices haven’t. The tv will probably handle vp9 fine, but I would still recommend transcoding a test video and looking if it plays back natively. With that gpu av1 is definitely not supported so I would recommend vp9.
I'm favoring h265 10-bit for my library recently. Whether SDR or not, it seems to provide a slightly better compression ratio and fewer banding artifacts than 8-bit. Any player that can handle 4K streaming content can decode h265 10-bit, so there's a ton of forward compatibility for the foreseeable future
For broad compatibility and good quality+compression, h265. I use Handbrake's Nvidia encoder and it works great. I'm not sure about the differences between AAC and AC3.
AAC is generally more modern and better for lower bitrates, but AC3 (also known as Dolby Digital) has the advantage of being able to be transmitted in 5.1 over SPIDF optical connections, so it can allow for surround sound in older setups that may not otherwise be able to recieve digital surround sound.
Opus is slightly better than AAC at matched bitrates, slightly less commonly supported, and totally open-source. It's a fine choice as well.
Also of note because of its use for anime encodes is FLAC, which is lossless and therefore results in much larger files, but will always have the exact same quality as the original audio it encoded, so it's excellent for archival quality.
Av1 is pretty well supported now on a lot of devices thanks to dav1d, and it's the video codec with the best quality:compression ratio. "broad device compatibility" will be up to you and your devices, I would seriously look into it. It's what I personally encode all my stuff to.
Why is AC-3 bad? It's pretty much compatible with everything, holds Dolby Digital and atmos. Especially if the source is already encoded in AC-3, would it be wise to re-encode it?