Even though Opus is now standardized by the IETF, this Opus implementation will keep improving in the future.
Of course, all future versions will still be fully compliant with the Opus IETF specification.
See the development page for the latest development information.
Development binary builds
In addition to support in Firefox, Mozilla provides binary builds of Opus utilities.
Opus 1.5.2 fixes several build issues that were discovered since
the 1.5 release. It also fixes a misalignment issue in the AVX2 code
that could cause crashes under Windows.
The opusfile library provides seeking, decode, and playback
of Opus streams in the Ogg container (.opus files) including
over http(s) on posix and windows systems.
opusfile depends on libopus and libogg.
The included opusurl library for http(s) access depends on
opusfile and openssl.
Fix an issue where the seek algorithm could be confused
by stream data changing between reads.
Clean up compiler and scan-build warnings.
Avoid use of the deprecated ftime() function
which has Y2038 problems.
Remove undefined behaviour memcpy(NULL) in op_read_native().
Visual Studio project files updated for libogg 1.3.4 library name change.
Various build systems updates.
Various integration and testing environment improvements.
This release is backward-compatible with the previous
release. We recommend all users upgrade.
Note that because of the removal of certificate store hooks
in openssl 1.1.1 and later, there are unfortunately no
supported versions of that library which can be used with
the code in opusurl to validate https responses against
the system certificate store on Windows. Using the system
default access to the certificate store on other platforms
works fine.
No Windows build is available for this release.
Developers should integrate the source code directly into their applications.
Programming documentation is available in tree and
online.
The library is functional, but there are likely issues
we didn’t find in our own testing. Please give feedback
in #opus on irc.libera.chat, opus@xiph.org, or at
gitlab.
In this release the Opus decoder opusdec has been converted to use the
opusfile library, and the Opus encoder opusenc has been converted to use
the libopusenc library. These libraries make it easy to robustly read
and write Ogg Opus audio files, and enable some new features. Both
libraries are available on the
Downloads page.
opusdec enhancements include:
Read directly from http or https sources
New option --force-stereo will force stereo output
Improved support for chained input files with differing sample rate or
channel count
A summary is displayed for METADATA_BLOCK_PICTURE tags rather than
displaying the base64-encoded data
opusenc enhancements include:
Delayed decision support allows the encoder to look ahead up to two
seconds in order to improve encoding decisions
The options --music and --speech can be used to tune low bitrate audio
for music or speech, overriding automatic detection
The option --no-phase-inv disables the use of phase inversion for
intensity stereo, which can be useful for streams that are likely to
be downmixed to mono after decoding
New --tracknumber shortcut for setting tracknumber metadata
Additionally:
The opusinfo utility can display the demixing matrix from Ogg Opus
files using ambisonics channel mapping family 3
The experimental opusrtp tool supports new options to specify RTP
payload type, Ogg Opus output file, original sample rate, and number
of channels, and supports improved transmit timing, arbitrary
network devices, and IPv6
The Visual Studio 2015 project builds opusenc support for FLAC input
The old Visual Studio 2010 project has been removed