View Full Version : [Updated 2019] Opus 1.3. New WebM audio codec (Opus+VP9/AV1)
LoRd_MuldeR
22nd May 2016, 19:43
Previous version reported:
opusenc opus-tools v0.1.9-git SSE2 [2016-02-20] (using libopus 1.1.2-git SSE2 [2016-02-20])
While the new version reports:
opusenc opus-tools v0.1.9-git SSE2 [2015-05-22] (using libopus 1.1.x-git SSE2 [2015-05-22])
I assume libopus 1.1.2 is still used ?
I built latest Git "master" branch. So this is actually post v1.1.2 release ;)
(I have no idea whether the next release will be v1.1.3 or v1.2.0 or v2.0.0, but currently PACKAGE_VERSION says "1.1.x-git")
Brazil2
22nd May 2016, 21:28
I built latest Git "master" branch. So this is actually post v1.1.2 release ;)
Thanks for the precision :)
IgorC
18th July 2016, 16:37
Some news :)
Version 1.1.3 released
https://www.opus-codec.org/
Neon optimizations improving performance on ARMv7 and ARMv8 by up to 15%
Fixes some issues with 16-bit platforms (e.g. TI C55x)
Fixes to comfort noise generation (CNG)
Documenting that PLC packets can also be 2 bytes
Includes experimental ambisonics work (--enable-ambisonics)
Work in progress 1.2 (quality improvements)
Reino
5th August 2016, 22:44
FWIW, here's another set of fresh Opus v1.1.x binaries:
opus-tools.2016-05-22.zip (https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/opus-tools.2016-05-22.zip/download)
LoRd_MuldeR, could you compile a set of fresh post v1.1.3 binaries?
Motenai Yoda
6th August 2016, 04:17
Opus 1.1.3 compiled with mediaautobuild suite (gcc 6.x), x64 only
http://filenurse.com/download/b70a588cfbb0ac029c8c432788595f62.html
link will expire in a week
filler56789
29th August 2016, 05:29
Another up-to-date build of OpusTools
[compiled with GCC 4.8.5]
[C:\]
=> opusenc --version
opusenc opus-tools 0.1.9-24-g746e2af (using libopus 1.1.3)
Copyright (C) 2008-2013 Xiph.Org Foundation
http://forum.videohelp.com/threads/380225-OpusTools-1-1-3-for-Windows
hajj_3
3rd September 2016, 12:31
I hope that the opus developers concentrate on low bitrate audio as xhe-aac is far superior at 12-64kbps. Some digital radio platforms like DRM have support for this.
Gravitator
3rd September 2016, 13:14
Привет.
What improvement noticed through ambisonics?
IgorC
7th September 2016, 03:39
I hope that the opus developers concentrate on low bitrate audio as xhe-aac is far superior at 12-64kbps. Some digital radio platforms like DRM have support for this.
Last time I have tried Opus 1.1 at 64 kbps it was superior to best HE-AAC encoders 64 kbps and on par with xHE-AAC. Opus 1.1 was inferior to HE-AAC at 48 kbps.
But the situation is changing now. Several months ago Opus 1.2 (early alpha) was already at least on par or somewhat better than HE-AAC at 48 kbps.
Also xHE-AAC is a great format its main scope is 12-32 kbps.
Its performance is very close to normal HE-AAC at 48-64 kbps.
You can easily confuse xHE-AAC and highestly optimized HE-AAC (such as Fraunhofer Winamp's encoder) at 64 kbps.
It's very likely that upcoming Opus 1.2 will be at least on par with xHE-AAC at bitrates 48 kbps and higher. It also to expect a reasonable quality from it at 32-40 kbps.
Motenai Yoda
8th September 2016, 01:53
IIRC opus did some stuff on the lbr branch
did you compare opus vs hev2 or vs hev1 coz seems hev2 is still a bit better on 32-48kbps
IgorC
8th September 2016, 21:57
HE-AAC v2 is better than v1 up to ~36 kbps (valid for any encoder like Nero, Fraunhofer, Coding Techonologies).
v2 makes more harm than benefit at 48 kbps. http://www.mp3-tech.org/tests/aac_48/results.html While this test is pretty old the v2 and v1 encoders were already mature at that point. Nowadays the situation hasn't changed a little bit.
hajj_3
9th September 2016, 15:30
HE-AAC v2 is better than v1 up to ~36 kbps (valid for any encoder like Nero, Fraunhofer, Coding Techonologies).
v2 makes more harm than benefit at 48 kbps. http://www.mp3-tech.org/tests/aac_48/results.html While this test is pretty old the v2 and v1 encoders were already mature at that point. Nowadays the situation hasn't changed a little bit.
those tests are from 2006. This test from 2013 is better: http://www.iis.fraunhofer.de/content/dam/iis/de/doc/ame/wp/FraunhoferIIS_Technical-Paper_xHE-AAC.pdf
http://i.imgur.com/AKAu07I.png
another report: http://nprlabs.org/sites/nprlabs/files/documents/codec/20130920%20Streaming%20Codec%20Study%20Report.pdf
http://www.radioworld.com/Portals/0/rw-streaming%20codec%20figure%203.jpg
I can't find some diagrams with opus as a comparison, i saw some last year but cannot find the links.
IgorC
9th September 2016, 21:28
those tests are from 2006. This test from 2013 is better:http://www.iis.fraunhofer.de/content/dam/iis/de/doc/ame/wp/FraunhoferIIS_Technical-Paper_xHE-AAC.pdf
Let's put it straight. This information from the same organizations who push xHE-AAC and HE-AAC v2/v1. v2 is more expensive than v1 so it's convenient :)
Anyway Fraunhofer HE-AAC encoder (Winamp) uses
v2 - 32 kbps
v1 - 48 kbps.
It's possible to force v2 at 48 kbps but it's not recommended by the same AAC developers.
It's always possible to encode a few samples and listen for yourself.
LoRd_MuldeR
11th September 2016, 14:02
LoRd_MuldeR, could you compile a set of fresh post v1.1.3 binaries?
Here is set of fresh Opus v1.1.3 binaries:
opus-tools.2016-09-11.zip (https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/opus-tools.2016-09-11.zip/download)
bilditup1
14th September 2016, 07:51
Here is set of fresh Opus v1.1.3 binaries:
opus-tools.2016-09-11.zip (https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/opus-tools.2016-09-11.zip/download)
Thanks for taking the time to make these binaries LoRd_Mulder. However with this latest one, every time I try to encode from FLAC - any FLAC - I get the message "Error parsing input file", and the thing quits. This happens on each of the i686, sse2, and avx builds. Converting a WAV made from FLAC fixes this. The FLACs in question play without issue and were encoded using libflac 1.2.1 through 1.3.1. The FLACs have no issue being parsed by the two-year-old 0.1.9 release at the opus site and otherwise playback/decode just fine.
ED1: I have tried all of your builds going back to 20140413, and they all have the same issue. This lead me to believe I am doing something wrong, or that there is something about the way I generally encode that is causing problems. But I just made a few new FLACs from WAVs using libflac 1.3.1, no metadata or anything, and still your builds quit with the parsing error. It does not seem plausible to me that your builds have had this issue for 2+ years, so what am I missing? Some dependency or other?
ED2: I just tried the 1.1.3 build from videohelp and it failed with the same error. More googling revealed that FLAC support is only in the official build? That's the only thing that makes sense (it should not have taken me this long to figure out, anyway). You don't think you can bake in FLAC input support in your next build, do you LoRd_Mulder?
Brazil2
14th September 2016, 12:31
Last time I have tried Opus 1.1 at 64 kbps it was superior to best HE-AAC encoders 64 kbps and on par with xHE-AAC.
Also xHE-AAC is a great format its main scope is 12-32 kbps.
You can easily confuse xHE-AAC and highestly optimized HE-AAC (such as Fraunhofer Winamp's encoder) at 64 kbps.
Where do find xHE-AAC binaries (encoder and decoder) for Windows desktop (no app) ?
Here is set of fresh Opus v1.1.3 binaries:
opus-tools.2016-09-11.zip (https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/opus-tools.2016-09-11.zip/download)
Thanks! :)
filler56789
14th September 2016, 12:59
........
ED2: I just tried the 1.1.3 build from videohelp and it failed with the same error. More googling revealed that FLAC support is only in the official build? That's the only thing that makes sense (it should not have taken me this long to figure out, anyway).
The binaries that I compiled do not support FLAC input, sorry.
I am not a big fan of the "dependency hell" around several FOSS libraries, such as FLAC, Ogg, Vorbis, and etc., so my "releases" are as simple as possible.
Brazil2
14th September 2016, 13:09
More googling revealed that FLAC support is only in the official build?
The Opusenc from the foobar2000 Free Encoder Pack (http://www.foobar2000.org/encoderpack) has FLAC support ;)
You can open it with 7-Zip.
LoRd_MuldeR
14th September 2016, 19:35
ED2: I just tried the 1.1.3 build from videohelp and it failed with the same error. More googling revealed that FLAC support is only in the official build? That's the only thing that makes sense (it should not have taken me this long to figure out, anyway). You don't think you can bake in FLAC input support in your next build, do you LoRd_Mulder?
I did not build opus-tools with libFLAC, because build these binaries primarily for use in LameXP, where built-in FLAC support is not needed. LameXP uses separate FLAC decoder ;)
(I may consider building with libFLAC next time)
bilditup1
16th September 2016, 23:23
The Opusenc from the foobar2000 Free Encoder Pack (http://www.foobar2000.org/encoderpack) has FLAC support ;)
You can open it with 7-Zip.
Thanks for the heads-up - I'll stick with that for now.
I did not build opus-tools with libFLAC, because build these binaries primarily for use in LameXP, where built-in FLAC support is not needed. LameXP uses separate FLAC decoder ;)
(I may consider building with libFLAC next time)
Cool beans :)
Brazil2
22nd September 2016, 12:19
Last time I have tried Opus 1.1 at 64 kbps it was superior to best HE-AAC encoders 64 kbps and on par with xHE-AAC.
Also xHE-AAC is a great format its main scope is 12-32 kbps.
You can easily confuse xHE-AAC and highestly optimized HE-AAC (such as Fraunhofer Winamp's encoder) at 64 kbps.
Where to find xHE-AAC binaries (encoder and decoder) for Windows desktop (no app) ?
Binaries anyone ?
IgorC
11th October 2016, 01:21
No codec available no binaries but there is some information https://hydrogenaud.io/index.php/topic,109486.msg929358.html#msg929358
LoRd_MuldeR
16th October 2016, 14:30
Here is a set of fresh Opus v1.1.3 binaries:
opus-tools.2016-10-16.zip (https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/opus-tools.2016-10-16.zip/download)
There have been some fixes in the Opus Git "master" since the last build. Also, this time, all 'opusenc' binaries have libFLAC enabled.
hajj_3
4th November 2016, 09:16
opus 1.2 alpha changelog: https://www.opus-codec.org/release/dev/2016/11/03/libopus-1_2_alpha.html
Brazil2
4th November 2016, 11:26
No codec available no binaries but there is some information https://hydrogenaud.io/index.php/topic,109486.msg929358.html#msg929358
How do you encode your xHE-AAC/USAC samples for your listening tests then ?
Brazil2
4th November 2016, 12:40
Here is a set of fresh Opus v1.1.3 binaries:
opus-tools.2016-10-16.zip (https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/opus-tools.2016-10-16.zip/download)
There have been some fixes in the Opus Git "master" since the last build. Also, this time, all 'opusenc' binaries have libFLAC enabled.
Here is a set of fresh Opus v1.2-alpha binaries:
opus-tools.2016-11-02.zip (https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/opus-tools.2016-11-02.zip/download)
There have been some fixes in the Opus Git "master" since the last build. Also, this time, all 'opusenc' binaries have libFLAC enabled.
Thanks! :)
LoRd_MuldeR
4th November 2016, 18:59
Here is a set of fresh Opus v1.2-alpha binaries:
opus-tools.2016-11-04.zip (https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/opus-tools.2016-11-04.zip/download)
There have been some fixes in the Opus Git "master" since the last build. Also, this time, all 'opusenc' binaries have libFLAC enabled.
IgorC
6th November 2016, 22:11
Opus 1.2 alpha outperforms HE-AACv2 at ~32 kbps VBR for the first time.
Scores of blind listening test at 32 kbps VBR:
1. Opus 1.2 alpha (exp-df24252) - 3.22
2. CELT (music) Mode - 3.28
3. HEAACv2 (FhG Winamp, VBR 1) - 2.92
https://hydrogenaud.io/index.php/topic,111798.msg930611.html#msg930611
hajj_3
7th November 2016, 11:48
Opus 1.2 alpha outperforms HE-AACv2 at ~32 kbps VBR for the first time.
Scores of blind listening test at 32 kbps VBR:
1. Opus 1.2 alpha (exp-df24252) - 3.22
2. CELT (music) Mode - 3.28
3. HEAACv2 (FhG Winamp, VBR 1) - 2.92
https://hydrogenaud.io/index.php/topic,111798.msg930611.html#msg930611
It would be good if they compared opus 1.2 alpha with xhe-aac.
IgorC
7th November 2016, 14:12
It also would be good if there will be any available xhe-aac encoder at all, now wouldn't it?
Sparktank
8th November 2016, 16:06
Here is a set of fresh Opus v1.2-alpha binaries:
opus-tools.2016-11-04.zip (https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/opus-tools.2016-11-04.zip/download)
There have been some fixes in the Opus Git "master" since the last build. Also, this time, all 'opusenc' binaries have libFLAC enabled.
Thanks for this.
I might consider trying this out for mobile.
Reino
21st December 2016, 18:16
Here is a set of fresh Opus v1.2-alpha binaries:
opus-tools.2016-11-04.zip (https://sourceforge.net/projects/muldersoft/files/Opus%20Tools/opus-tools.2016-11-04.zip/download)
Hi, LoRd_MuldeR,
I'd appreciate it if you could include OpusTools-v0.1.9-PipeSeekFix.V1.diff for future builds, like you did here:
src/audio-in.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/audio-in.c b/src/audio-in.c
index 8ed037b..6b08017 100644
--- a/src/audio-in.c
+++ b/src/audio-in.c
@@ -46,6 +46,7 @@
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
+#include <sys/stat.h>
#include <math.h>
#include "stack_alloc.h"
@@ -142,9 +143,19 @@ input_format *open_audio_file(FILE *in, oe_enc_opt *opt)
return NULL;
}
+static int is_regular_file(FILE *in)
+{
+ struct _stat file_info;
+ if(_fstat(_fileno(in), &file_info) == 0)
+ {
+ return ((file_info.st_mode & S_IFMT) == S_IFREG) ? 1 : 0;
+ }
+ return 0;
+}
+
static int seek_forward(FILE *in, unsigned int length)
{
- if(fseek(in, length, SEEK_CUR))
+ if((!is_regular_file(in)) || fseek(in, length, SEEK_CUR))
{
/* Failed. Do it the hard way. */
unsigned char buf[1024];
Btw, did you base this patch upon lvqcl's proposal (https://hydrogenaud.io/index.php/topic,103713.msg868660.html#msg868660), or nu774's proposal (https://hydrogenaud.io/index.php/topic,103713.msg868817.html#msg868817)?
LoRd_MuldeR
21st December 2016, 18:25
Hi, LoRd_MuldeR,
I'd appreciate it if you could include OpusTools-v0.1.9-PipeSeekFix.V1.diff for future builds, like you did
I think I never got a clear confirmation that the patch is still required and/or that my patch actually solved the problem, so I didn't bother ;)
Btw, did you base this patch upon lvqcl's proposal (https://hydrogenaud.io/index.php/topic,103713.msg868660.html#msg868660), or nu774's proposal (https://hydrogenaud.io/index.php/topic,103713.msg868817.html#msg868817)?
I used the opus-tools sources from "official" Xiph Git server:
https://git.xiph.org/?p=opus-tools.git;a=summary
Reino
21st December 2016, 20:10
Please try this:
https://mega.nz/#!2ctTHSqS!SEs9Ln6987AdOFEDDACaUBVz0jyRORdDOmkW6wmYRWo
This should fix the Win32 seeking issue with pipe'd input.It does. Thanks a lot!That's my confirmation that your fix worked. Guess you've overlooked that.
Now, I don't follow opus development by the minute and I only update every now and then. And admittedly, the use-case for this fix - piping 24/32bit float audio from FFMpeg to opusenc.exe - is a rare one, since most FFMpeg users would use FFMpeg's own libopus anyway, but deserves to be fixed nonetheless, if you ask me.
A shame Xiph hasn't officially merged this patch into their source-code.
LoRd_MuldeR
21st December 2016, 20:24
That's my confirmation that your fix worked. Guess you've overlooked that.
Now, I don't follow opus development by the minute and I only update every now and then. And admittedly, the use-case for this fix - piping 24/32bit float audio from FFMpeg to opusenc.exe - is a rare one, since most FFMpeg users would use FFMpeg's own libopus anyway, but deserves to be fixed nonetheless, if you ask me.
A shame Xiph hasn't officially merged this patch into their source-code.
Okay, I will include the patch again next time.
Note that the "opus" core library and the "opus-tools" (CLI front-ends) are two separate projects. While "opus" project is under active development, there's not much activity in "opus-tools" project.
(The patch in question concerns the "opus-tools" project)
hajj_3
10th January 2017, 14:59
Just found this pdf comparing AMR-WB, opus-tools 0.1.9 and the new EVS (Enhanced Voice Services) audio codec for voice and mixed content at low bitrates: http://resources.alcatel-lucent.com/asset/200002
EVS looks very impressive. It can support around 10% missed packets and still work without much interference, anyone know how good Opus is at coping with errors?
I wish they did a new test comparing Opus 1.2 Alpha.
Anakunda
10th January 2017, 17:07
EVS looks very impressive. It can support around 10% missed packets and still work without much interference
.
Nice, any trail to find a encoder/decoder source code or precompiled backends to try on own?
Sent from my phone by Tapatalk
hajj_3
23rd January 2017, 13:07
opus 1.2 alpha 2 is out now: http://downloads.xiph.org/releases/opus/opus-1.2-alpha2.tar.gz
Opus tools 0.1.10 is out too: http://downloads.xiph.org/releases/opus/opus-tools-0.1.10.tar.gz
SeeMoreDigital
23rd January 2017, 16:10
Out of interest...
How well is Opus doing in the 'big wide world'. Is there any hardware playback support for it yet?
VincAlastor
23rd January 2017, 16:49
Out of interest...
How well is Opus doing in the 'big wide world'. Is there any hardware playback support for it yet?
:search: & google
https://en.wikipedia.org/wiki/Opus_%28audio_format%29#Hardware
a little bit more respect to opus developers, thanks!
Maybe for you in your "big world" it would be better to stay with mp3 until 2050 - for over one year all other people enjoy high quality opus audio for example on the biggest video portal in the "big wide world" named youtube.
SeeMoreDigital
23rd January 2017, 18:50
Oh wow... that's told me (and told me) :p
VincAlastor
5th February 2017, 14:19
Okay, I will include the patch again next time.
Note that the "opus" core library and the "opus-tools" (CLI front-ends) are two separate projects. While "opus" project is under active development, there's not much activity in "opus-tools" project.
(The patch in question concerns the "opus-tools" project)
opus 1.2 alpha 2 is out now: http://downloads.xiph.org/releases/opus/opus-1.2-alpha2.tar.gz
Opus tools 0.1.10 is out too: http://downloads.xiph.org/releases/opus/opus-tools-0.1.10.tar.gz
would be very thankful for change log and windows avx builds :)
nakTT
6th February 2017, 04:04
opus 1.2 alpha 2 is out now: http://downloads.xiph.org/releases/opus/opus-1.2-alpha2.tar.gz
Opus tools 0.1.10 is out too: http://downloads.xiph.org/releases/opus/opus-tools-0.1.10.tar.gz
I believe some good samaritans already released windows executables.
Barough
6th February 2017, 17:40
Opus-tools v0.1.10 (using libopus 1.2-alpha2-4-gcfdaf365) (http://ge.tt/15q03hi2) (MSYS/MinGW, GCC 6.3.0, 32 & 64bit EXEs)
nakTT
7th February 2017, 13:23
Opus-tools v0.1.10 (using libopus 1.2-alpha2-4-gcfdaf365) (http://ge.tt/15q03hi2) (MSYS/MinGW, GCC 6.3.0, 32 & 64bit EXEs)
Thanks for the sharing.:thanks:
Barough
10th February 2017, 16:22
Opus-tools v0.1.10 (using libopus 1.2-alpha2-6-gc5a84df8) (http://ge.tt/270lnki2) (MSYS/MinGW, GCC 6.3.0, 32 & 64bit EXEs)
nakTT
10th February 2017, 16:46
Opus-tools v0.1.10 (using libopus 1.2-alpha2-6-gc5a84df8) (http://ge.tt/270lnki2) (MSYS/MinGW, GCC 6.3.0, 32 & 64bit EXEs)
I have downloaded it and gave it a try. It works well, thanks.:thanks:
Barough
25th February 2017, 18:00
Opus-tools v0.1.10-1-gd0dc36b (using libopus 1.2-alpha2-25-g8056706f) (http://www45.zippyshare.com/v/mFUlp2ZD/file.html) (MSYS/MinGW, GCC 6.3.0, 32 & 64bit EXEs)
LoRd_MuldeR
28th February 2017, 17:52
That's my confirmation that your fix worked. Guess you've overlooked that.
Now, I don't follow opus development by the minute and I only update every now and then. And admittedly, the use-case for this fix - piping 24/32bit float audio from FFMpeg to opusenc.exe - is a rare one, since most FFMpeg users would use FFMpeg's own libopus anyway, but deserves to be fixed nonetheless, if you ask me.
A shame Xiph hasn't officially merged this patch into their source-code.
Looks like they have implemented a fix recently:
https://git.xiph.org/?p=opus-tools.git;a=commit;h=d0dc36b7318d13614d4854681d83e3d5123e9536
They use a somewhat different way to check whether the FILE is a "regular" file or a pipe - a way that requires using Win32 API directly - but the result should be the same.
VincAlastor
16th March 2017, 19:04
Opus-tools v0.1.10-1-gd0dc36b (using libopus 1.2-alpha2-25-g8056706f) (http://www45.zippyshare.com/v/mFUlp2ZD/file.html) (MSYS/MinGW, GCC 6.3.0, 32 & 64bit EXEs)
:thanks:
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.