Quoted By:
TL;DR Susan is a whore.
First, always, ALWAYS get lossless version if possible. It's good for your ears. However, because lossless version is hardly accessible for original songs and impossible to get for covers, lossy version is all we get.
Youtube offers three versions of lossy versions in its stream, both on YT and YTM.
>Code 141: 256kbps AAC. Coveted premium version offered by YTM. "Transparent" lossy. Better than 320kbps mp3 and comparable to v0 mp3.
>Code 140: 128kbps AAC. Free version in YT and YTM. Non-transparent lossy.
>Code 251: 128kbps Opus. Same as above but in different format.
About AAC vs Opus, both of them are intended to replace mp3, the latter being much younger. Opus is described to be "transparent" (i.e. indistinguishable to lossless) at 160kbps, while AAC is "transparent" at 192kbps. I'm inclined to believe Opus is better than AAC, however, both code 140 and 251 have 128kbps, lower than the threshold for transparency, so it's not that important.
So, what codec will I get from YT/YTM? Code 141 is exclusively for music tracks on YTM. Both YT and YTM do not give code 141 for MVs regardless of premium status. In other words, your money towards premium is only useful when you listen to music tracks. Code 140 is used for YTM app (free version of music tracks, MVs regardless of premium status) and YT livestream. The rest uses code 251. Furthermore, YT (both app and site) automatically normalizes voice level outside of livestreams. For example, if you play Cry Baby cover on YT, it will sound more scuffed than on YTM because it is normalized to about 50%.
Lesson learned from this? Use YTM whenever you can and get workaround to de-normalize audio on YT.