HydrogenAudio

Lossy Audio Compression => AAC => AAC - Tech => Topic started by: darkbyte on 2015-12-06 20:45:26

Title: Native ffmpeg AAC encoder is stable
Post by: darkbyte on 2015-12-06 20:45:26
Great news for open source fans. ffmpeg news (http://ffmpeg.org/index.html#aac_encoder_stable), Twitter announcement (https://twitter.com/FFmpeg/status/673298438209953792)
I wonder if there are any quality improvements since the v9b ABR patch?
Personal Listening Test of MP3/Opus/AAC at 96kbps, ABC/HR blind test, 1 Listener (https://www.hydrogenaud.io/forums/index.php?showtopic=109716)
Title: Native ffmpeg AAC encoder is stable
Post by: smok3 on 2015-12-07 08:06:21
so basically

ffmpeg -i input.wav -b:a 128k output.m4a ?

Kinda shame there is no good vbr mode, since I have bunch of voice only stuff > that doesn't need 128kbps at all.
Title: Native ffmpeg AAC encoder is stable
Post by: Moni on 2015-12-07 18:01:41
so basically

ffmpeg -i input.wav -b:a 128k output.m4a ?

Kinda shame there is no good vbr mode, since I have bunch of voice only stuff > that doesn't need 128kbps at all.


Sounds like just the sort of thing HE-AAC and HE-AACv2 are designed for. Give them a test and see where they become "good enough" for you. Not sure if it's implemented in FFMPEG but if not, QAAC is a very good AAC implementation.

EDIT: Also try Opus, of course - but AAC wins out as far as compatibility with many devices.
Title: Native ffmpeg AAC encoder is stable
Post by: smok3 on 2015-12-08 09:22:38
@Moni, I will just keep
Code: [Select]
# encode audio with apple AAC encoder via afconvert
    afconvert -v -f "m4af" -s 3 input.aif

in my scripts (due to huge amount of laziness).
Title: Native ffmpeg AAC encoder is stable
Post by: Maurits on 2015-12-08 10:40:19
Great news! Hopefully the FFMPEG AAC encoder reaching a decent state means it will attract more developers. I get the sense that the multiple Open Source AAC encoder implementations scattered across multiple projects and different licenses is not the most efficient use of limited talent. At least this version is under LGPL and GPL.

The only thing that is not clear to me is whether this already implements Temporal Noise Shaping or whether it's still disabled by default. It looks as if Rostislav Pehlivanov, who worked on it as part of GSoC, wasn't able to finish that in time for GSoC's end. It's unclear to me whether he managed to finish it between then and now.
Title: Native ffmpeg AAC encoder is stable
Post by: RiCON on 2015-12-08 13:48:03
The only thing that is not clear to me is whether this already implements Temporal Noise Shaping or whether it's still disabled by default. It looks as if Rostislav Pehlivanov, who worked on it as part of GSoC, wasn't able to finish that in time for GSoC's end. It's unclear to me whether he managed to finish it between then and now.


It's the "-aac_tns" option and it seems enabled by default, so I'd assume it's ready.
Title: Native ffmpeg AAC encoder is stable
Post by: Maurits on 2015-12-09 10:08:48
The only thing that is not clear to me is whether this already implements Temporal Noise Shaping or whether it's still disabled by default. It looks as if Rostislav Pehlivanov, who worked on it as part of GSoC, wasn't able to finish that in time for GSoC's end. It's unclear to me whether he managed to finish it between then and now.


It's the "-aac_tns" option and it seems enabled by default, so I'd assume it's ready.

That's good to hear! In that case I'd be keen to see how it performs in the next listening test.
Title: Native ffmpeg AAC encoder is stable
Post by: o-l-a-v on 2015-12-09 15:03:41
Wow, thats one slow audio encoder
(http://i1253.photobucket.com/albums/hh581/o-l-a-v/Stuff/Slow.png)
Using:
- Latest win64 static build from here: http://ffmpeg.zeranoe.com/builds/ (http://ffmpeg.zeranoe.com/builds/)
- Spec wise: SSD, i7 4th-gen processor...
- Source: 16bit/44.1khz FLAC.

Anything wrong with my parameters (foobar)?
Code: [Select]
-i - -vn -sn -c:a aac -q:a 1 %d

Or is it just that slow?
Edit: Okay, so q must be between 0.1-10. 1 gives about x22 in encoding speed, ouput at ~190kbps
Title: Native ffmpeg AAC encoder is stable
Post by: Rollin on 2015-12-09 15:26:10
Or is it just that slow?

Yes, it is slow. -ab 320, core i3 - ~9x
Title: Native ffmpeg AAC encoder is stable
Post by: o-l-a-v on 2015-12-09 16:31:19
The quality at VBR ~165kbps (-i - -vn -sn -c:a aac -q:a 0.9 %d) is awful. Not even worth ABX'ing.
CBR on the other hand (-b:a 160k) seems legit.
Title: Native ffmpeg AAC encoder is stable
Post by: LithosZA on 2015-12-10 16:17:34
I just checked out the encoders.texi file on ffmpeg git: https://github.com/FFmpeg/FFmpeg/blob/maste...c/encoders.texi (https://github.com/FFmpeg/FFmpeg/blob/master/doc/encoders.texi)

Quote
@anchor{aacenc}
@section aac

Advanced Audio Coding (AAC) encoder.

This encoder is the default AAC encoder, natively implemented into FFmpeg. Its
quality is on par or better than libfdk_aac at the default bitrate of 128kbps.
This encoder also implements more options, profiles and samplerates than
other encoders (with only the AAC-HE profile pending to be implemented) so this
encoder has become the default and is the recommended choice.


Is it true that it performs better than libfdk_aac @ 128Kbps? Last time I listened to it, it was worse than FAAC.
Title: Native ffmpeg AAC encoder is stable
Post by: RiCON on 2015-12-10 19:26:14
Is it true that it performs better than libfdk_aac @ 128Kbps? Last time I listened to it, it was worse than FAAC.

The native AAC encoder recently had a lot of improvements applied, through a lot of listening tests and back and forth in https://trac.ffmpeg.org/ticket/2686 (https://trac.ffmpeg.org/ticket/2686) between the devs and Kamedo2.
Since FDK 128kbps was more or less where the bar was set (from what I understand/remember), they can say it probably sounds better in a lot of samples and the encoder is "optimized" for that. Further tests and feedback will allow it to be better and faster. Since the encoder is considered stable enough, they removed the experimental flag, so the users can start to more easily give feedback.