Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
![]() |
#1 | Link |
Life's clearer in 4K UHD
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,177
|
AAC LATM/LOAS Audio Streams
I'm interested to understand what the fundamental differences are between good 'ol fashioned AAC-LC/HE audio streams and these new fangled AAC LATM/LOAS audio streams, that can be found in european broadcasts.
Can anybody oblige?
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
|
![]() |
![]() |
![]() |
#2 | Link |
Guest
Join Date: Jan 2002
Posts: 21,906
|
There are two extra levels of multiplexing in the stream:
"The MPEG-4 HE AAC or HE AAC v2 elementary stream data shall be first encapsulated in the LATM multiplex format according to ISO/IEC 14496-3 [17]. The AudioMuxElement() multiplex element format shall be used. The LATM formatted MPEG-4 HE AAC or HE AAC v2 elementary stream data shall be encapsulated in the LOAS transmission format according to ISO/IEC 14496-3 [17]. The AudioSyncStream() version shall be used. AudioSyncStream() adds a sync word to the audio stream to allow for synchronization. Semantics: The semantics of the AudioMuxElement() and AudioSyncStream() formatting are described in ISO/IEC 14496-3 [17]. Encoding: The MPEG-4 HE AAC and HE AAC v2 elementary streams shall be formatted with AudioMuxElement() LATM multiplex format, and AudioSyncStream() LOAS transmission format." Somebody needs to make some open source LATM/LOAS demultiplexing code. ![]() Last edited by Guest; 24th August 2008 at 17:29. |
![]() |
![]() |
![]() |
#7 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Not sure yet. I've had a quick look into the specification and there seem to be 3 different types of LATM/LOAS. I've identified the type that your sample has. But I'm not sure if all samples have the same type. So I'd say: If all your samples are from the same broadcaster I think I don't need more right now. But if you have samples from different broadcasters, that would be helpful, cause there'd be a chance that they differ in some ways.
Anyway, I'll add support for demuxing these audio tracks to eac3to. But it may take a while... Thanks! |
![]() |
![]() |
![]() |
#8 | Link |
Life's clearer in 4K UHD
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,177
|
This is all sounding (no pun intended) very positive
![]() I wonder how many broadcasters have elected to use AAC LATM/LOAS audio. Given that AAC audio bit-steams can't be decoded by surround sound amplifiers, its use seems an odd choice ![]()
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
|
![]() |
![]() |
![]() |
#10 | Link | |
Registered User
Join Date: Jan 2004
Posts: 567
|
Quote:
C++: http://blog.monogram.sk/janos/2008/0...decoder-v0900/
__________________
Bye Last edited by CiNcH; 4th September 2008 at 09:36. |
|
![]() |
![]() |
![]() |
#11 | Link |
Registered User
Join Date: Mar 2007
Posts: 12
|
New Zealand uses HE-AAC in it's freeview digital terrestrial broadcast's. Currently there's no directshow splitter/demuxer that supports it fully. The Cyberlink Demux (PDVD8) Filter can split the H.264 video and HE-AAC Audio and be played back successfully in graphedit but if you save the graph and relaod it the video decoder pin cant be reconnected the Cyberlink Demux (PDVD8) Filter. Graphedit just crashes if you try too.
|
![]() |
![]() |
![]() |
#12 | Link | |
Registered User
Join Date: Apr 2002
Posts: 279
|
Quote:
So far all I have been able to do is demux the audio using dgavcindex, play the AAC file in Winamp to produce a wav file and use besweet to encode the wav file as AC-3. It works but not exactly automatic Last edited by lchiu7; 29th October 2008 at 00:54. |
|
![]() |
![]() |
![]() |
#14 | Link |
Registered User
Join Date: Apr 2002
Posts: 279
|
I would do it in a heartbeat but the learning curve for me would be too steep I think, my last programming having been some dabbling in C++. I don't think it's the programming - it's understanding the formats of the data needed to be decoded and I guess, the way to write DS filters. I guess will just have to wait for the motivated person to do it!
|
![]() |
![]() |
![]() |
#15 | Link |
Guest
Join Date: Jan 2002
Posts: 21,906
|
Don't sell yourself short. The format specification is readily available and quite clear. And there are good books on DirectShow programming. It's all a matter of how bad you want it. I don't have any need for it, so it's hard to get motivated.
|
![]() |
![]() |
![]() |
#16 | Link | |
Registered User
Join Date: Apr 2002
Posts: 279
|
Quote:
![]() [edit] Actually on reflection we don't need a DS filter for decoding the AAC files since that exists already. What we need is a DS filter for splitting the audio from ts file. Currently the Haali filter only does AC3 and doesn't appear to handle the AAC audio. When that splitter is done we ought to be able to get a graph that has the splitter feeding the AAC decoder, feeding a program that could reencode the file to more friendly format. Last edited by lchiu7; 30th October 2008 at 05:04. |
|
![]() |
![]() |
![]() |
#17 | Link |
Registered User
Join Date: Sep 2007
Posts: 5,285
|
Mplayer is now able to play the AAC LATM/LOAS Audio now directly from .ts; I'm testing using SMPlayer 0.6.4 SVN r2102
It reports the demuxer as: mpegts - MPEG-TS demuxer the video decoder: FFMpeg h.264 the audio decoder: libfaad2 I don't know enough as to how this could work in graphedit/graphstudio or if there is a corresponding directshow splitter /decoder, but perhaps a dump could be used through ffmpeg ? I briefly tried FFMpegSource and FFMpegSource2 but couldn't get either to work, hopefully someone more saavy can use this to figure something out? |
![]() |
![]() |
![]() |
#18 | Link | |
Registered User
Join Date: Apr 2002
Posts: 279
|
Quote:
Assuming you got smplayer to play the streams, we would need a way to capture those streams as perhaps wav files? That would solve the problems. If an AAC audio stream can be extracted from the ts files, then the rest is easier since the AAC audio can be played with winamp to get wav. That is why I used dgavcindex to demux the file but as noted in the other stream, it is failing on some streams I have captured. There is also a DS filter for decoding the AAC files Monogram DS filter but needs a splitter to feed it and the most common open source filter for ts files (Haali) doesn't understand AAC-HE streams, yet. |
|
![]() |
![]() |
![]() |
#19 | Link |
*****
Join Date: Feb 2005
Posts: 5,604
|
Here is a DirectShow filter:
http://blog.monogram.sk/janos/2008/0...-decoder-0950/
__________________
MPC-HC 2.1.2 |
![]() |
![]() |
![]() |
#20 | Link |
Registered User
Join Date: Sep 2007
Posts: 5,285
|
Thx clsid, I'll test it out, but I can't find a splitter that works to feed it.
Ichui7 - The build of SMplayer I'm using is from Lord_MuldeR's homepage http://mulder.dummwiedeutsch.de/home |
![]() |
![]() |
![]() |
Tags |
aac latm/loas |
Thread Tools | Search this Thread |
Display Modes | |
|
|