Jump to content

Mpeg4 Part10 Level 3.0 & Aac-he Audio


Bobben

Recommended Posts

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 ?

Link to comment
  • Replies 120
  • Created
  • Last Reply

Top Posters In This Topic

  • Griga

    29

  • RedAngel

    18

  • CiNcH

    16

  • Derrick

    7

Top Posters In This Topic

Posted Images

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
Link to comment

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.

Link to comment

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
Link to comment

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:

Link to comment

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.

Link to comment

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>

Link to comment

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:

Link to comment

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).

Link to comment

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!

Link to comment

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.

nrkp2_ES.zip

Link to comment

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.org/wiki/Advanced_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.

Link to comment

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.

Link to comment

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. :)

Link to comment

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.mit.edu/mpeg4/audio/faq/mpeg2.html

 

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

Link to comment

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.

Link to comment

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???

Link to comment
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.

Link to comment
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.

Link to comment

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?

Link to comment

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.

Link to comment
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.

 

 

You might know this already but the AAC audio is transported as standard PES format.

 

I used my own TS to PES demuxer and the output AAC data did play in WinAmp.

Link to comment
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.

 

 

The copy I have of the ISO/IEC 13818-1(second edition 2000-12-01) specifies this:

 

StreamID 110x xxxx (0xC0 -0xDF)

ISO/IEC 13818-3 or ISO/IEC 11172-3 or ISO/IEC 13818-7

or ISO/IEC 14496-3 audio stream number x xxxx

 

I have not got the AAC spec but I guess AAC is specified by ISO/IEC 14496-3.

Edited by Bobben
Link to comment

Thanks. The PMT in the file enables the Elecard Demultiplexer to identify the stream as AAC. It connects to the file source filter and builds an AAC output pin, but unfortunately with a media subtype (fourcc 00 00 01 FF, does it tell somebody something?) that doesn't match the input subtypes of ffdshow or the CoreAAC decoder. Anyway, one step further... :)

Link to comment

P.S. It takes Elecard Demuxer 1.0.74.60725. An earlier version was not able to detect the stream.

 

The first step - as far as it concerns coding - was enabling the TSPlayer to detect the stream in the TS file (by reading the PMT) and to extract the audio elementary stream - see picture below. Looks promising, doesn't it? :) However, it doesn't mean that it can play AAC. That will be the difficult part, because it requires a lot of changes in the DVBViewer Filter. Tomorrow I'll check what has to be done...

Zwischenablage01.png

Link to comment

Two more things:

 

There is another PID belonging to the stream (PCR PID 8190 = 0x1FFE, program clock reference), and it would be good to have a sample with PCR - it makes handling it in the DVBViewer Filter a bit easier. @RedAngel: So if you could once again... just replace the sample above by a new one.

 

Are the H.264/AAC channels encrypted or free?

Link to comment
Two more things:

 

There is another PID belonging to the stream (PCR PID 8190 = 0x1FFE, program clock reference), and it would be good to have a sample with PCR - it makes handling it in the DVBViewer Filter a bit easier. @RedAngel: So if you could once again... just replace the sample above by a new one.

 

Are the H.264/AAC channels encrypted or free?

 

The H.264/AAC sample is from the Norwegian DVB-T tests which started a few weeks ago (official launch 1 September).

Public service (3 TV and a lot of radios) is free to air while other services is encrypted.

Link to comment

Hi again,

 

Good work Griga!

Here's another sample with aac, pat, pmt and pcr. As Bobben said, the radio stations are free + 3 free TV channels. The rest is encrypted.

As usual, please let me know if you need more samples.

 

Take care!

 

nrk_aac_he2.zip

Link to comment

It may become a long and winding road... here are some things that I've found out:

 

- The AAC in the TS does not contain ADTS headers (as specified here). Is is a "naked" raw AAC stream. Usually something like this is not playable, because the decoders at least need to know the sample rate, the number of channels and whatever else....

 

- After a closer look I detected something header-like in the stream. Each PES packet payload starts with the byte pattern 56 E1 xx FF. By using my built-in bit pattern recognition engine (I don't need a player, usually I read video/audio in a hex editor :bye:) I managed to decode these bytes partially. They seem to be a kind of crippled ADTS header: No sync word, only 10 bit frame length field instead of 13, the value does not include the header bytes - the actual frame length is the content of the frame length field plus 3 - followed by 0xFF, which means VBR (?). In the whole wide web I couldn't find any information about this type of "raw payload header". :)

 

- Someone managed to play a HE-AAC file extracted from a TS by adding ADTS headers to the raw content - see here. I've downloaded the sample, and I can play it in GraphEdit with the MainConcept AAC decoder and ffdshow. Strange to say, both connect directly to the file source filter without a parser or splitter in between. MainConcept AAC plays the whole file, ffdshow (at least my version) crashes after half a second ;)

 

- I couldn't detect the "raw payload header" 56 E1 xx FF or something similar in the downloaded file.

 

- I gave the DVBViewer Filter an AAC output pin - not supplied with any data yet, just for testing whether decoders connect to it or not. The connection media type is audio, possible subtypes are the FourCC codes "MP4A" and WAVE_FORMAT_AAC = 0x00FF, plus a WAVEFORMATEX structure with some reasonable default values. The MainConcept AAC decoder connects to it quite happily, others (ffdshow, Nero, CoreAAC) don't, without telling me why. Most likely they want to see additional information, but I don't know which in what kind of format...

 

There we are. Helpful ideas are welcome. :bye:

Link to comment
  • 1 month later...

Not really :)

 

I found two Asian MPEG2/AAC samples in the web:

 

http://mediapix-australia.com/htpc/Sample%...Sample.0000.zip

http://pbx.mine.nu/dvhs/sample.ts

 

and my experimental TSPlayer & DVBSource & MainConcept AAC Decoder set-up plays them quite happily, but the files contain "classical" ADTS AAC, in contrast to the Norwegian AAC, that most likely is

 

Stream type 0x11: ISO/IEC 14496-3 Audio with the LATM transport syntax as defined in ISO/IEC 14496-3 / AMD 1

as the specs say.

 

Then I contacted a company that is busy with DVB-H at the moment, thus having to deal with AAC, but they didn't find a way to play the Norwegian stuff either (using Cyberlink equipment). However, they will have to find a way, because they are selling DVB-T devices to Norway. So I suppose something will be happening there sooner or later, and they promised to let me know.

 

AAC is slowly emerging in the DVB sphere... Euro1080 HD5 on Astra 23° East, 10842 V started to broadcast an AAC audio stream - same stream type in the PMT as the Norwegian one. To my surprise, MainConcept AAC seems to decode it, because it delivers samples to the audio renderer, but I don't know for sure yet, because I get nothing but silence :)

 

Anyway - I will stay tuned to it (not only Euro1080 HD5 :bye:), and I think it's just a question of time...

Link to comment
  • 5 weeks later...
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.

am sweaty and warm but spank me if i say this, what codec does winamp use?, in the about tab of mpeg4 audio decoder in winamp it says it uses libmp4v2 lib

http://mpeg4ip.sourceforge.net/ :)

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...