Live data from Hacker News

Why xHE-AAC is being embraced at Meta

engineering.fb.com

41–50 of 61 posts

Re: Why xHE-AAC is being embraced at Meta

#43
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…

>This codec isn’t supported on the web. So it is Android and iOS only.

So it is supported on the web.

>This was probably done to reduce storage and bandwidth, not to improve audio quality.

Packing more information into the same amount of data is the literal definition of better quality.

>Phone speakers aren’t good enough to notice.

Maybe not, but phones can be connected to headphones and speakers which can. Especially if they connect via 3.5mm audio jack.

Re: Why xHE-AAC is being embraced at Meta

#44

Anybody else noticed that after following the link, the back button does not indicate that there is a page to go back. This is on Firefox on Linux. Wtf? [edited: punctuation]

Do you have the Facebook container extension?

Yes indeed. That might explain it.

Re: Why xHE-AAC is being embraced at Meta

#45
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.

Opus goes down to 5ms if you customize it, and there's no point in going any lower for Internet streaming because 5ms of raw audio data is only 480 bytes at 16-bit 48khz (plus lots of UDP packet overhead). For latency-sensitive local streaming things are a lot different, and most of your latency will be from buffering to compensate for network jitter.

I used Opus for a VOIP app and I was really impressed with it. It's all I would ever use for Internet audio.

Re: Why xHE-AAC is being embraced at Meta

#46
post #35

Earlier quoted context omitted.

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?

Firefox doesn't use the Windows codec engine for decoding video content. I don't know why, I presume it's to keep a consistent experience (and possibly also because those codec packs used to be a major exploitation vector because they never received any security updates).

Firefox is open source, however, so there's no reason why a fork couldn't add that functionality. I personally wouldn't put any development effort into it myself and Mozilla don't seem interested, but for people who feel strongly about this there are always options.

Re: Why xHE-AAC is being embraced at Meta

#47
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.

Something's wrong with your setup. Typical latency for opus is only ~20ms and you can get it lower than that by changing an encoder setting. FLAC is usually more than that, but it should be negligible regardless. Maybe you are trying to decode Opus on an extremely low power device?

Re: Why xHE-AAC is being embraced at Meta

#48
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…

>Mozilla famously relied on Cisco to gain h.264 playback

No, they didn't. OpenH264 only supports Constrained Baseline profile, and is only useful for WebRTC. It's used system libraries/frameworks for H.264 video playback since long before OpenH264 came around.

Re: Why xHE-AAC is being embraced at Meta

#49
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.

There is a variant of Opus called Opus Custom which is intended to support ultra low latency applications. Might be worth looking into.

There is also this product by the Nullsoft guys, no idea if it's any good though: http://cockos.com/ninjam/

Re: Why xHE-AAC is being embraced at Meta

#50
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.

An Opus frame can be as short as 2.5 ms [1] (at this packet size the effect of network buffering can be pretty obvious), but I use a frame size of 20 ms anyway when capturing on Windows, since this is what `cpal` gives me.

[1] https://opus-codec.org/docs/opus_api-1.3.1/group__opus__enco...

Post reply on HN