Jump to content



Photo

Mpeg4 Part10 Level 3.0 & Aac-he Audio


  • Please log in to reply
120 replies to this topic

#1 Bobben

Bobben

    Newbie

  • Members
  • Pip
  • 34 posts

Posted 14 March 2007 - 14:06

Hi ,

In Norway DVB-T tests has started in MPEG4 part10 main profile level 3.0 ( SD). The audio is most
likely AAC-HE. I use DVBViewer with PowerDVD7 codec. Video works great but there is no audio.

What codec is recommended to purchase in order to get full AAC and AAC-HE support ?

#2 CiNcH

CiNcH

    Community Creator III

  • Moderators
  • PipPipPipPipPipPipPipPipPipPip
  • 6,486 posts

Posted 14 March 2007 - 15:30

I am afraid that the DVBViewer Source Filter does not have a pin for the AAC audio format yet.

aacPlus (HE-AAC or whatever) can be decoded with ffdshow and/or CoreAAC for example, both using FAAD2 decoding library but even after installing one of them you won't here anything due to the problem I have just mentioned.

I have not heard of HE-AAC being used anywhere at the moment, so you will most likely have to wait until it becomes more popular...

Edited by CiNcH, 14 March 2007 - 15:42.


#3 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 18 March 2007 - 09:20

Hi,

I live in Norway and have the same problem.
I've tried to capture the audio part using TransEdit (Several radio stations are available in the TS as well.)
When i run faad -i on the capture file.. It says it's RAW. I guess that's ok.
When i try to decode it with faad I get the following message:

test.ts file info:
RAW

Error: Channel coupling not yet implemented
0% decoding test.ts.

Is there any player out there that can handle this format? How can I convert the TS dump to a pure aac file?
Any ideas anyone?

I can provide samples if anyone wants to play with it.

#4 jeffie

jeffie

    Newbie

  • Members
  • Pip
  • 36 posts

Posted 18 March 2007 - 09:56

surely...bring on the samle!!

#5 CiNcH

CiNcH

    Community Creator III

  • Moderators
  • PipPipPipPipPipPipPipPipPipPip
  • 6,486 posts

Posted 18 March 2007 - 17:22

Guess you need a TS demuxer.

Establish a DirectShow filter chain instead and use Haali Media Splitter as TS source & demuxer and ffdshow as decoder. This combination should work.

Edited by CiNcH, 18 March 2007 - 17:27.


#6 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 19 March 2007 - 13:03

Hi

I have a dump here from the Norwegian NTV DVB-T broadcast. It's a TransEdit dump of an audio PID (radio station.).
I don't know anything about the format. All frames seems to start with the letters 'GC+' in the beginning.
Is this AAC-HE or something else? It apears that all audio on all channels (TV+Radio) is encoded like this.


Anyone wanna play with it?
I can provide more samples if anyone wants it.



Enjoy :bounce:

#7 Derrick

Derrick

    Board Inventar

  • Moderators
  • PipPipPipPipPipPipPipPipPipPipPip
  • 13,021 posts

Posted 19 March 2007 - 14:25

You should include at least partly the PSI (PMT, SDT) to see which descriptor has been assigned to this audio elementary stream.The stream_id in the PES_packet_header says ISO/IEC 13818-3 or ISO/IEC 11172-3 audio, which apparently is not true.

#8 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 20 March 2007 - 07:24

Here's the associated entry in the SI table. Does this help?


<?xml version="1.0" encoding="iso-8859-1"?>
<NTV_722000>
<ServiceID Value="105" Name="NRK P2">
<PMT PID="281">
<PCR PID="8190"/>
<ES PID="811" Name="MPEG4 Audio">
<StreamType HValue="0x11" Name="MPEG4 Audio (ISO/IEC 14496-3)"/>
<Descriptor HValue="0x0A" Name="ISO 639 Language">
<Language String="nor"/>
<AudioType Value="0" Name="Not defined"/>
</Descriptor>
<Descriptor HValue="0x79" Name="S2 Satellite Delivery System">
<DescriptorLength Value="2"/>
<Data Dump="52 00"/>
<ASCII String="R "/>
</Descriptor>
</ES>
<ES PID="2600" Name="Private Data">
<StreamType HValue="0x05" Name="Private Sections (ITU-T Rec. H.222.0 | ISO/IEC 13818-1)"/>
</ES>
<ES PID="2612" Name="Data">
<StreamType HValue="0x0B" Name="ISO/IEC 13818-6 type B"/>
</ES>
<ES PID="2613" Name="Data">
<StreamType HValue="0x0C" Name="ISO/IEC 13818-6 type C"/>
</ES>
</PMT>
</ServiceID>
</NTV_722000>

#9 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 22 March 2007 - 13:30

Hmm.... I assume that the lack of response means that AAC+ / AAC-HE will not be supported then..
I've already offered TS dumps several times, but nobody cares.
Too bad I didn't put my 19USD elsewhere.... TV without sound is not "that" great :bye:

#10 Griga

Griga

    Board Inventar

  • Moderator
  • 24,656 posts

Posted 22 March 2007 - 14:00

Be a bit patient - I've just extracted the elementary stream from the nrkp2 audio TS, and now I have to find a splitter that understands the format (assuming that it is AAC).

#11 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 22 March 2007 - 14:12

Cool!

Please let me know if there's anything more I can do.
If you need more samples then don't hesitate to ask.
I can give you full Channel dumps as well with h264 video + audio, but then
I would need somewhere to upload it. The 256kB forum limit will not cut it :)

Keep up the good work!

#12 Griga

Griga

    Board Inventar

  • Moderator
  • 24,656 posts

Posted 22 March 2007 - 14:50

Haali media splitter doesn't accept the TS. Gabest's MPA splitter and a AAC parser that I have found here don't accept the contained elementary stream (renamed to .aac). So I wonder what's in there...

There is no chance to support it in DVBViewer, unless we find a way to play it with DirectShow. @All: Any idea?

P.S. I've attached the unwrapped content (TS and PES headers removed) - should be the pure audio stream.

Attached Files



#13 Griga

Griga

    Board Inventar

  • Moderator
  • 24,656 posts

Posted 22 March 2007 - 23:23

Well... it's quite confusing. AAC can be flagged as part 7 of the MPEG2 standard in the PMT

<StreamType HValue="0x0F" Name="AAC Audio (ISO/IEC 13818-7)"/>

or as part 3 of the MPEG4 standard. That's what we have:

<StreamType HValue="0x11" Name="MPEG4 Audio (ISO/IEC 14496-3)"/>

Source: http://en.wikipedia....ed_Audio_Coding

Wikipedia provides a list of software media players that should be able to play the content, at least the extracted elementary stream. I still wonder why it doesn't work here.

#14 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 23 March 2007 - 00:21

I find this strange myself.
I'll probably start to write my own parser just to see if the stream makes any sense at all.
If the stream contains any ADTS/ADIF headers it shouldn't be to hard to track them down.
I have also played with making my own aac files and then trying to insert the nrkp2.aac file
in the middle of a working file, just to see if it would play it.. So far no luck.

#15 Derrick

Derrick

    Board Inventar

  • Moderators
  • PipPipPipPipPipPipPipPipPipPipPip
  • 13,021 posts

Posted 23 March 2007 - 00:58

I made the same experience before @Griga started :)

..is there any stb or pc-application known that can play this?

#16 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 23 March 2007 - 07:26

As far as I know, there isn't any software at the moment that can play this.
I've talked with many people on different norwegian forums regarding this, but none have
managed to get any audio. Anyway I'm not giving up. :)

#17 Griga

Griga

    Board Inventar

  • Moderator
  • 24,656 posts

Posted 23 March 2007 - 15:05

To make it more complicated: :)

There are different AAC profiles, and there seem to be significant differences between AAC in files and broadcasted AAC.

- ADIF = Audio Data Interchange Format
The audio bitstream contains one single header with all information necessary to control the decoder such as the bitrate, the sampling frequency or the stereo mode. The main application of ADIF is exchange of audio files.

- ADTS = Audio Data Transport Stream
The audio bitstream consists of a sequence of frames with headers similar to MPEG-1 audio frame headers. The encoded audio data of one frame is always contained between two sync words. The number of bits in a frame however can be variable.


Source: http://sound.media.m.../faq/mpeg2.html

AFAIK broadcasted AAC must be ADTS, otherwise it wouldn't be possible to start playback at a random point.

#18 CiNcH

CiNcH

    Community Creator III

  • Moderators
  • PipPipPipPipPipPipPipPipPipPip
  • 6,486 posts

Posted 23 March 2007 - 15:19

I have demuxed the audio stream with DGIndex, but so far no DS filter I have tried accepts the stream.

Only WinAmp played it so far.

#19 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 25 March 2007 - 13:41

The stream Griga demuxed plays fine with WinAmp (As CiNcH said.)
I've tried demuxing it myself with DGIndex and it works. I've also tried several TS dumps with H264 Video as well.
The audio is demuxed correctly with DGIndex and works 100% without any glitches what so ever.
Just remember to rename the demuxed .mpa file to .aac to get it to work with WinAmp.
WinAMP gives the following info about the stream: (nrkp2.aac demuxed by Griga.)

MPEG info

Size: 174110 bytes
Format: AAC
MPEG-4 HE-AAC (Implicitly Signalled)
Sample Rate: 24000 (Output: 48000)
SBR: Present
Channels: 2 Mode: Stereo
Bitrate: VBR (0)


So what's so special about this???

#20 CiNcH

CiNcH

    Community Creator III

  • Moderators
  • PipPipPipPipPipPipPipPipPipPip
  • 6,486 posts

Posted 25 March 2007 - 14:53

Probably you may want to post the demuxed ES over at Hydrogenaudio. There are many developers of AAC encoders/decoders around that may be able to give you a hint...

#21 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 25 March 2007 - 20:22

Thanx for the help over at hydrogenaudio CiNcH! :)

#22 Griga

Griga

    Board Inventar

  • Moderator
  • 24,656 posts

Posted 25 March 2007 - 23:50

MPEG-4 HE-AAC

That's one of the newer profiles (high efficiency).

Concerning DirectShow, the main problem seems to be that there is no freeware splitter (demuxer, parser) that correctly identifies the AAC stream, so no filter graph can be built. Maybe there is an AAC audio decoder (like ffdshow) that would play it happily. I could try to give the DVBViewer Filter an AAC output pin that just outputs the extracted elementary stream with a media subtype that the decoder wants to see for AAC when connecting, and then check it with the TSPlayer.

@RedAngel: Could you provide a TS audio sample including the PAT and the PMT of that radio channel? Just replace your attachment above, in case the board software doesn't allow you to upload more.

#23 CiNcH

CiNcH

    Community Creator III

  • Moderators
  • PipPipPipPipPipPipPipPipPipPip
  • 6,486 posts

Posted 26 March 2007 - 09:03

The ADTS headers that this DGIndex generates seem to be wrong/invalid somehow.
The Griga demuxed file is completely without headers and should be decodable with faad2 as long as you set the right samplerate on the command line


Did not get it to work with faad anyway. It just says that "Channel coupling is not yet implemented".

HE-AAC is not that new. Even HE-AAC v2 has been around for quite a while now.

#24 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 26 March 2007 - 09:17

I'm at work right now so I can't do a new capture, however I have a full TV channel dump with h264 video + HE-AAC Audio..
All pids related to the channel is in the stream (PMT and PAT is there as well.) DGIndex is able to decode the .aac file, and it plays on Winamp.
The file is 30MB.. Is there somewhere I can put it?

#25 Griga

Griga

    Board Inventar

  • Moderator
  • 24,656 posts

Posted 26 March 2007 - 09:44

I'd prefer a small and handy TS audio file without tons of useless H.264 video. No need to rush it - dunno when I will find time to look after it. Maybe next weekend.