xpra icon
Bug tracker and wiki

Opened 16 months ago

Closed 12 months ago

Last modified 11 months ago

#1074 closed task (fixed)

switch to opus as preferred audio codec

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: blocker Milestone: 0.17
Component: sound Version: trunk
Keywords: opus Cc:

Description (last modified by Antoine Martin)

Now that all platforms use gstreamer 1.x, there is no reason not to use opus if both ends support it.
I have used it before and the code tunes it for low latency.

In theory, it will help us with av-sync (#835) because of its much lower latency:
bitrate comparison image from wikipedia

And provides the best (TBC?) quality for any bitrate:
quality comparison from wikipedia

Tasks:

  • smo: add opus and its gstreamer plugin to the osx moduleset
  • afarr: testing: latency for av-sync, buffer levels, cpu usage, bandwidth usage
  • antoine: change the default, assuming all is well, maybe also #1075

Attachments (2)

674px-Opus_bitrate+latency_comparison.png (56.3 KB) - added by Antoine Martin 16 months ago.
bitrate comparison image from wikipedia
Opus_quality_comparison_colorblind_compatible.png (76.1 KB) - added by Antoine Martin 16 months ago.
quality comparison from wikipedia

Download all attachments as: .zip

Change History (12)

Changed 16 months ago by Antoine Martin

bitrate comparison image from wikipedia

Changed 16 months ago by Antoine Martin

quality comparison from wikipedia

comment:1 Changed 16 months ago by Antoine Martin

Description: modified (diff)

comment:2 Changed 16 months ago by Smo

Added opus in r11597 builds on my old build machine and the new one.

Rebuilding gst-plugins-bad-1.0 should now include this but I will also make it a dependency so it gets rebuilt.

comment:3 Changed 16 months ago by Antoine Martin

Owner: changed from Smo to alas

(@smo: I assume this is done, re-assigning to afarr)

afarr: testing: latency for av-sync, buffer levels, cpu usage, bandwidth usage

comment:4 Changed 15 months ago by Antoine Martin

Owner: changed from alas to Smo

I believe that the packaging bits are in place as of r11761.

@smo: please ensure the modulesets have an opus dependency somewhere before handing over to afarr.

comment:5 Changed 14 months ago by Antoine Martin

Priority: majorcritical

Raising.

comment:6 Changed 14 months ago by Antoine Martin

Priority: criticalblocker

Not heard back in months, so I have now made opus the prefered codec in r12170.
r12171 also makes it easier to see which codec is in use from session-info.

Raising as blocker for the release.

comment:7 Changed 12 months ago by alas

Owner: changed from Smo to Antoine Martin

Testing right quick with a 0.17.0 r12401 osx client against a 0.17.0 r12453 fedora 23 server, both seem to indicate opus+gdp first on speaker and microphone codec lists (making them the defaults, if I don't miss my guess)... and sound works well.

I don't see anything in the session-info to make it any easier than before to determine which codec is actually in use, other than assuming that the first listed is the one in use.

Unless I'm missing a detail, I think this is ready to be closed.

comment:8 Changed 12 months ago by Antoine Martin

Resolution: fixed
Status: newclosed

I don't see anything in the session-info to make it any easier than before to determine which codec is actually in use


You can see which codec is used in the command output or via "xpra info".

I'll try to stick on session info somewhere.

comment:9 Changed 12 months ago by Antoine Martin

I must be the first one to test opus with Ubuntu Xenial, immediately found a bug, fixed in r12468.

comment:10 Changed 11 months ago by Antoine Martin

For OSX decoding support, see also: ticket:1204#comment:1

Note: See TracTickets for help on using tickets.