[opus] Multithreaded encoding?

Ralph Giles giles at thaumas.net
Mon Mar 30 21:17:17 UTC 2020

I'm not aware of any other attempts, and there have never been official
plans. It's difficult to partition input for opus at anything other than
the track level, because of the way the decoder derives its adaptive
state from recently-seen audio. I guess cutting together streams with at
least an 80ms overlap wouldn't glitch too much?

You could probably do something to try different encoding options for
each block in parallel to use more cores, but it might be hard to get
good scaling.

Most people just encode multiple streams simultaneously if they want
better throughput.


On 2020-03-29 5:47 p.m., Jesus Cea wrote:
> I am interested in being able to encode a single Opus stream using
> several CPU cores.
> I get a raw audio input and "opusenc" can transcode it at 1200% speed
> (Raspberry PI 3B+). It saturates a single CPU core, but the other three
> are idle.
> Is out there any project to add multithreading options to "opusenc", or
> something in that line?
> Looking around, I have found this:
> https://github.com/enzo1982/superfast#superfast-codecs
> https://hydrogenaud.io/index.php?topic=114598.0
> <https://github.com/enzo1982/superfast/blob/master/doc/SuperFast%20Codecs.pdf>
> Is it out there any other multithreaded "opusenc" drop in replacement?.
> Any plan for future "opusenc" improvement in this area?
> Thanks.
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus

More information about the opus mailing list