Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: HE-AAC SBR explicit signalling in Mp4 (Read 10011 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

HE-AAC SBR explicit signalling in Mp4

Hello,

I tried my best to understand where in the world I find the explicit SBR signalling inside the MP4 header atoms (or am I looking at the wrong spot?).

Situation is this:
I have a considerable library of HE-AAC v1 48k fiels in ADTS. I am sure that the original ADTS contained SBR, I confirmed this playing with several audio-player (such as foobar or quicktime). These all play the audio just fine as SBR enhanced AAC.  This AAC will not simply play in itunes or iphone, so I wanted to convert them to mp4 using Dolby DMG with a passthrough option (no need to rencode as the file is already ADTS HE-AAC 48k)

Issue is now
The created MP4 does not contain the explicit SBR signalling. Apperantly DMG does not add the SBR when doing passthrough? Which is not a problem for some players like foobar. They cope just fine with this and still play my audio with SBR info. But my iphone refuses to play the audio properly unless the MP4 contains explicit SBR signalling (so Apple here: http://developer.apple.com/library/ios/#te...36/_index.html). So I end up with a real crappy sound quality.

mp4box.exe -info 48-from-aac.mp4
* Movie Info *
        Timescale 600 - Duration 00:04:54.475
        Fragmented File no - 1 track(s)
        File Brand mp42 - version 0
        Created: GMT Tue Apr 26 10:52:07 2011

File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: No visual capability required (0xff)
Audio PL: High Quality Audio Profile @ Level 2 (0x0f)

iTunes Info:
        Encoder Software: Dolby Pulse Encoder 1.1.2 sbr: 4.0 / May 28 2010

Track # 1 Info - TrackID 1 - TimeScale 22050 - Duration 00:04:54.475
Track is present in Root OD
Media Info: Language "Undetermined" - Type "soun:mp4a" - 6341 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 22050
Self-synchronized



If I use DMG to create an HE-AAC v1 from another audiofile (like MP3) it does the full magic on the audio including SBR and magically the explicit SBR signalling is there, see below!


mp4box.exe -info 48-from-mp3.mp4
* Movie Info *
        Timescale 600 - Duration 00:04:54.661
        Fragmented File no - 1 track(s)
        File Brand mp42 - version 0
        Created: GMT Tue Apr 26 10:52:34 2011

File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: No visual capability required (0xff)
Audio PL: High Quality Audio Profile @ Level 2 (0x0f)

iTunes Info:
        Encoder Software: Dolby Pulse Encoder 1.1.2 sbr: 4.0 / May 28 2010

Track # 1 Info - TrackID 1 - TimeScale 22050 - Duration 00:04:54.661
Track is present in Root OD
Media Info: Language "Undetermined" - Type "soun:mp4a" - 6345 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 22050 - SBR SampleRate 44100
Self-synchronized


So what is wrong here? Can I force DMG to add the explict SBR signalling? Is there a tool that can add this later (as the audio inside is still contains the SBR, I would think?) Where in an MP4 is the explicit SBT signal contained? Or am I completly on the wrong track here?

Thanks
Chris

HE-AAC SBR explicit signalling in Mp4

Reply #1
iTunes Info:
        Encoder Software: Dolby Pulse Encoder 1.1.2 sbr: 4.0 / May 28 2010


So what is wrong here? Can I force DMG to add the explict SBR signalling?


Given that the Dolby Pulse Encoder is likely the old Coding Technologies encoder, there used to be several options in that to control exactly how the SBR has to be signaled. So I would check the manual for command line options related to that.

BTW. AFAIK this encoder isn't free, so can't you get Dolby to support it?

HE-AAC SBR explicit signalling in Mp4

Reply #2
Have you tried mp4box -add input.aac output.mp4?

HE-AAC SBR explicit signalling in Mp4

Reply #3
Have you tried mp4box -add input.aac output.mp4?


Yes I did - actually with -sbr and without -sbr option (sbrx as well). The audio plays in foobar but not in some other players. Plus I have two unwanted tracks within the MP4 container. So not the result I was hoping for.

HE-AAC SBR explicit signalling in Mp4

Reply #4
Have you tried mp4box -add input.aac output.mp4?


Yes I did - actually with -sbr and without -sbr option (sbrx as well). The audio plays in foobar but not in some other players. Plus I have two unwanted tracks within the MP4 container. So not the result I was hoping for.


According to the Apple doc you linked, the -sbr option should work. Can you paste the mp4box info of a track converted that way? I don't get why you'd suddenly get extra tracks.

HE-AAC SBR explicit signalling in Mp4

Reply #5
Plus I have two unwanted tracks within the MP4 container.

What do you mean by this?

You can also try this muxers:
http://mp4creator.sourceforge.net
http://code.google.com/p/mp4v2

I also have a big library of HE-AAC SBR in ADTS also, but I'm not familiar with your encoder...
You got me curious now... If you want to send me a couple of samples, I'd be happy to try and help you out...

HE-AAC SBR explicit signalling in Mp4

Reply #6
Plus I have two unwanted tracks within the MP4 container.

What do you mean by this?

You can also try this muxers:
http://mp4creator.sourceforge.net
http://code.google.com/p/mp4v2

I also have a big library of HE-AAC SBR in ADTS also, but I'm not familiar with your encoder...
You got me curious now... If you want to send me a couple of samples, I'd be happy to try and help you out...


Hi

I used ./mp4box -add 1.aac 1.mp4
-> AAC import - sample rate 22050 - MPEG-2 audio - 2 channels
    Converting to ISMA Audio-Video MP4 file...         
    Saving to 1.mp4: 0.500 secs Interleaving

or ./mp4box -add 014431093562_00001_48-apl.aac 1.mp4 -sbr
-> AAC import SBR (implicit) - sample rate 22050 - MPEG-2 audio - 2 channels
    Converting to ISMA Audio-Video MP4 file...         
    Saving to 1.mp4: 0.500 secs Interleaving

with the later one being the appropriate I think

Result
* Movie Info *
   Timescale 600 - Duration 00:04:54.475
   Fragmented File no - 3 track(s)
   File Brand mp42 - version 1
   Created: GMT Tue Apr 26 04:07:16 2011

File has root IOD
Scene PL 0x01 - Graphics PL 0x01 - OD PL 0x01
Visual PL: No visual capability required (0xff)
Audio PL: AAC Profile @ Level 1 (0x28)

Track # 1 Info - TrackID 101 - TimeScale 22050 - Duration 00:04:54.475
Media Info: Language "Undetermined" - Type "soun:mp4a" - 6341 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x67
MPEG-2 Audio AAC LC - 2 Channel(s) - SampleRate 22050 - SBR SampleRate 44100
Synchronized on stream 1

Track # 2 Info - TrackID 2 - TimeScale 600 - Duration 00:00:01.000
Track is present in Root OD
Media Info: Language "Undetermined" - Type "odsm:mp4s" - 1 samples
MPEG-4 Config: ObjectDescriptor Stream - ObjectTypeIndication 0x01
Synchronized on stream 1

Track # 3 Info - TrackID 1 - TimeScale 600 - Duration 00:00:01.000
Track is present in Root OD

I regard Track #2 and #3 as potentially unwanted. My full DMG encodes do not contain them.
In any way: The created Mp4 is rejected by eg Quicktime (and so would iTunes). VLC plays the file though




HE-AAC SBR explicit signalling in Mp4

Reply #7
Try:

./mp4box -add 1.aac#audio 1.mp4

HE-AAC SBR explicit signalling in Mp4

Reply #8
Try:

./mp4box -add 1.aac#audio 1.mp4 (both with -sbr and without)


Unfortunately the same result


./mp4box -add 1.aac#audio 1.mp4 -sbr
AAC import SBR (implicit) - sample rate 22050 - MPEG-2 audio - 2 channels
Converting to ISMA Audio-Video MP4 file...         
Saving to 1.mp4: 0.500 secs Interleaving


./mp4box -info 1.mp4* Movie Info *
   Timescale 600 - Duration 00:04:54.475
   Fragmented File no - 3 track(s)
   File Brand mp42 - version 1
   Created: GMT Tue Apr 26 07:48:17 2011

File has root IOD
Scene PL 0x01 - Graphics PL 0x01 - OD PL 0x01
Visual PL: No visual capability required (0xff)
Audio PL: AAC Profile @ Level 1 (0x28)

Track # 1 Info - TrackID 101 - TimeScale 22050 - Duration 00:04:54.475
Media Info: Language "Undetermined" - Type "soun:mp4a" - 6341 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x67
MPEG-2 Audio AAC LC - 2 Channel(s) - SampleRate 22050 - SBR SampleRate 44100
Synchronized on stream 1

Track # 2 Info - TrackID 2 - TimeScale 600 - Duration 00:00:01.000
Track is present in Root OD
Media Info: Language "Undetermined" - Type "odsm:mp4s" - 1 samples
MPEG-4 Config: ObjectDescriptor Stream - ObjectTypeIndication 0x01
Synchronized on stream 1

Track # 3 Info - TrackID 1 - TimeScale 600 - Duration 00:00:01.000
Track is present in Root OD
Media Info: Language "Undetermined" - Type "sdsm:mp4s" - 1 samples
MPEG-4 Config: SceneDescription Stream - ObjectTypeIndication 0x02
BIFS Scene description - Command stream
Self-synchronized



HE-AAC SBR explicit signalling in Mp4

Reply #9
Can you email me maybe 2 or 3 samples of the original ADTS AACs? I'll PM you my email address...