rigaya / QSVEnc

QSVによる高速エンコードの性能実験
http://rigaya34589.blog135.fc2.com/blog-category-10.html
Other
313 stars 28 forks source link

sound encoding with AAC-HE seems to be broken #111

Closed FlorianGamper closed 1 year ago

FlorianGamper commented 1 year ago

Version 7.29 : Windows

When Trying to encode sound as AAC-HE, I end up with a corrupted file that is not playable, and MKVToonix says, the "Malformed AAC codec initalization data found"

parameters are "--audio-codec aac --audio-bitrate 64 --audio-profile HE-AACv2 when using HE-AAC the same happens

this is what mediainfo says about the sound

ID                                       : 2
ID in the original source medium         : 4352 (0x1100)
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Codec ID                                 : A_AAC-29
Duration                                 : 1 min 22 s
Bit rate                                 : 2 211 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 96.0 kHz
Frame rate                               : 1 199.684 FPS (960 SPF)
Compression mode                         : Lossy
Delay relative to video                  : -21 ms
Stream size                              : 21.7 MiB (89%)
Title                                    : Stereo
Language                                 : English
Default                                  : Yes
Forced                                   : No
Original source medium                   : Blu-ray
FlorianGamper commented 1 year ago

Original sound is a 48Khz Ac3 2.0

rigaya commented 1 year ago

The default aac encoder supports AA-LC only, unfortunately it is not possible to encode to HE-AAC or HE-AACv2.

--audio-profile options is for other encoders such as libfdk_aac which can actually use HE-AAC or HE-AACv2. However, it is not included in my build, as it is not allowed to distribute in binary due to it's license conflict with (L)GPL.

MarcoRavich commented 1 year ago

Dunno if it could be useful in any way, but there's exhale too:

ecodis extended high-efficiency and low-complexity encoder - an open-source ISO/IEC 23003-3 (USAC, Extended HE-AAC) encoder

https://gitlab.com/ecodis/exhale

According to the git, the license is

based on the 3-clause BSD license but modified to address particular aspects dictated by the nature and the output of this application

https://gitlab.com/ecodis/exhale/-/blob/master/include/License.htm

Hope that helps.

FlorianGamper commented 1 year ago

@rigaya : Is there a tutorial how to build it with libfdk_aac ? I can only find the standard description

FlorianGamper commented 1 year ago

@forart : exhale is nice, but my appletv can't play it directly

MarcoRavich commented 1 year ago

Is there a tutorial how to build it with libfdk_aac ? I can only find the standard description

RareWares is your friend: https://www.rarewares.org/aac-encoders.php

rigaya commented 1 year ago

Is there a tutorial how to build it with libfdk_aac ?

No tutorial will be provided for a custom build.

FlorianGamper commented 1 year ago

@rigaya I do respect that, but wouldn't it then help to state it somewhere, that this is not working or to remove the options to save people time trying it out and failing ?

rigaya commented 1 year ago

The option will not be removed, as this option was actually added by request from others who as actually made their custom build themselves.

Now QSVEnc 7.34 will show following warning for clarification.

avout: codec aac (audio track 1) does not have profile choice, profile settings to 4 (HE-AAC) will be ignored and default profile will be used.