Live data from Hacker News

Why xHE-AAC is being embraced at Meta

engineering.fb.com

31–40 of 61 posts

Re: Why xHE-AAC is being embraced at Meta

#31

Earlier quoted context omitted.

What’s quiet about it? Seems like it was announced.

They didn’t exactly hide it but they certainly didn’t make a big deal about it. Likely because there is no software fallback

And because they don't want to advertise this support: they push their own codecs, hard.

Re: Why xHE-AAC is being embraced at Meta

#32

Looks like xHE-AAC beats opus on Topic: A Session In The Abyss: xHE-AAC vs OPUS at 12, 24 and 32 kbps (voice & music) (Read 16655 times) https://hydrogenaud.io/index.php/topic,120997.0.html xHE-AAC vs HE-AAC v2 Audio Quality Comparison: War of the Low-Bitrate Codecs https://www.youtube.com/watch?v=74SsKOUHgvo

It's sort of bonkers that we've quietly gotten to the point that codecs for music are getting compared at the 32 kbps level, for full stereo. Audiophiles used to constantly be making comparisons between codecs to see what's superior, but that whole field seems to have died when Opus became very difficult to ABX at 128 kbps. There hasn't been a HydrogenAudio multiformat test in nearly a decade [1], and that one was 96 kbps.

These days even YouTube videos get transcoded to 128 kbps Opus, which is astonishing. Provided that the source is high enough quality, you can listen to transparent audio on the lowest-tier streaming platform.

[1] https://wiki.hydrogenaud.io/index.php?title=Hydrogenaudio_Li...

Re: Why xHE-AAC is being embraced at Meta

#33
post #26
post #3

This codec isn’t supported on the web. So it is Android and iOS only. This post talks about the improved audio quality, but I don’t buy it. This was probably done to reduce storage and bandwidth, not to improve audio quality. Phone speakers aren’t good enough to notice. Also, I wish they had backed opus…

Reduced bandwidth obviously leads to better quality at the same target bit rate. Phone speakers are good enough to reproduce some obvious compression artifacts of, say, 32k/64k HE-AAC, let alone higher end headphones. ABR could definitely help.

> Phone speakers

Hmm... You could detect the output type (built-in speakers, headphones, bluetooth) and change the audio quality accordingly.

Re: Why xHE-AAC is being embraced at Meta

#34
post #3

This codec isn’t supported on the web. So it is Android and iOS only. This post talks about the improved audio quality, but I don’t buy it. This was probably done to reduce storage and bandwidth, not to improve audio quality. Phone speakers aren’t good enough to notice. Also, I wish they had backed opus…

People will often use the same bluetooth headphones to listen to music regardless of what kind of computer they’re using. I don’t think it’s safe to assume mobile devices have worse sound.

Re: Why xHE-AAC is being embraced at Meta

#35
post #9

Earlier quoted context omitted.

When I set up my jellyfin server I learned that Firefox doesn't support h.265 and that there's no way to add codecs to the browser. Does anyone know why it isn't possible to add codecs to the browser?

You need to pay for the necessary patents to include an H.265 decoder if you intend to distribute software in countries that care about silly things like software patents. Mozilla famously relied on Cisco to gain h.264 playback, because the patent included a certain maximum total price you needed to pay after exceeding a certain amount of devices. Cisco exceeded that amount, so any additional devices they supported w…

I remember when I first got into this kind of stuff that you could just download a divx codec pack and put the .dlls somewhere in windows XP so that your programs could use them, why can't I do that with firefox and h.265?

Re: Why xHE-AAC is being embraced at Meta

#36
post #3

This codec isn’t supported on the web. So it is Android and iOS only. This post talks about the improved audio quality, but I don’t buy it. This was probably done to reduce storage and bandwidth, not to improve audio quality. Phone speakers aren’t good enough to notice. Also, I wish they had backed opus…

Opus really is great. My first choice almost all the time.

Except... I wanted to stream music across the network to another computer with the lowest possible latency. I didn't care about the extra quality you get from lossless (opus sounded fine to me at 96kbps), but chose flac because it has almost no latency. Opus (and for that matter, all other codecs) added noticeable latency.

Re: Why xHE-AAC is being embraced at Meta

#37
post #3

This codec isn’t supported on the web. So it is Android and iOS only. This post talks about the improved audio quality, but I don’t buy it. This was probably done to reduce storage and bandwidth, not to improve audio quality. Phone speakers aren’t good enough to notice. Also, I wish they had backed opus…

Opus really is great. My first choice almost all the time. Except... I wanted to stream music across the network to another computer with the lowest possible latency. I didn't care about the extra quality you get from lossless (opus sounded fine to me at 96kbps), but chose flac because it has almost no latency. Opus (and for that matter, all other codecs) added noticeable latency.

How did you stream it, if I may ask? ffmpeg server and VLC/mplayer client or something similar?

Re: Why xHE-AAC is being embraced at Meta

#38

As far as I know, xHE-AAC has no advantages over Opus, however, Opus is free from patent licensing.

>xHE-AAC has no advantages over Opus The main features focused on in this article are loudness management and adaptive bitrate audio. From what I can tell Opus supports neither of those things.

Opus does support adaptive bitrate audio and in basically the same way; with the reference encoder, you can use OPUS_SET_PREDICTION_DISABLED to create a stream access point.

Loudness management isn't really the purview of the decoder/compressed format itself; the article describes using MPEG-D DRC which is, at least in principle, independent of the choice of xHE-AAC vs. Opus. To be clear I have no idea how companies do dynamic range compression in practice; in the Web setting, maybe via stuff like https://developer.mozilla.org/en-US/docs/Web/API/DynamicsCom... etc.?

Re: Why xHE-AAC is being embraced at Meta

#39
post #26

Earlier quoted context omitted.

Reduced bandwidth obviously leads to better quality at the same target bit rate. Phone speakers are good enough to reproduce some obvious compression artifacts of, say, 32k/64k HE-AAC, let alone higher end headphones. ABR could definitely help.

> Phone speakers Hmm... You could detect the output type (built-in speakers, headphones, bluetooth) and change the audio quality accordingly.

The phone speaker mention is a response to gp’s claim that “phone speakers aren’t good enough to notice”, which is not true. We’re not talking about 128k aac vs lossless here.

Re: Why xHE-AAC is being embraced at Meta

#40
post #3

This codec isn’t supported on the web. So it is Android and iOS only. This post talks about the improved audio quality, but I don’t buy it. This was probably done to reduce storage and bandwidth, not to improve audio quality. Phone speakers aren’t good enough to notice. Also, I wish they had backed opus…

They specifically mention that one of the advantage for them is the loudness management, to avoid having video with widely different range when their user are scrolling through their timeline.

I think Opus also has loudness management, but they seem fairly specific about the one that xHE-AAC provide : > Instead of burning in a specific target level and dynamic range compression (DRC) profile during encoding, xHE-AAC allows us to leave the original audio characteristics untouched and delegate loudness management processing to the client via loudness metadata, for the optimal audio experience based on context.

So maybe the xHE-AAC does provide a tangible benefit in this department.

Post reply on HN