Jump to content



Photo

Mpeg4 Part10 Level 3.0 & Aac-he Audio


  • Please log in to reply
120 replies to this topic

#26 Bobben

Bobben

    Newbie

  • Members
  • Pip
  • 34 posts

Posted 27 March 2007 - 21:06

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.

#27 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 27 March 2007 - 23:26

but the AAC audio is transported as standard PES format.

Yes, I saw that 00 00 01 C0 packet_start_code_prefix and stream_id in the hex editor.

#28 Derrick

Derrick

    Board Inventar

  • Moderators
  • PipPipPipPipPipPipPipPipPipPipPip
  • 13,021 posts

Posted 27 March 2007 - 23:40

The stream_id in the PES_packet_header says ISO/IEC 13818-3 or ISO/IEC 11172-3 audio, which apparently is not true.


:)

#29 Bobben

Bobben

    Newbie

  • Members
  • Pip
  • 34 posts

Posted 28 March 2007 - 17:31

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, 28 March 2007 - 17:34.


#30 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 28 March 2007 - 20:52

Hi again,

@Griga: I have now made a radio station dump with the aac-he pid + pat & pmt.
Please let me know if you need more dumps.



Take care!

#31 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 28 March 2007 - 21:28

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

#32 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 29 March 2007 - 00:13

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

Attached Files



#33 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 29 March 2007 - 10:36

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?

#34 Bobben

Bobben

    Newbie

  • Members
  • Pip
  • 34 posts

Posted 29 March 2007 - 16:20

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.

#35 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 29 March 2007 - 20:01

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!

Attached File  nrk_aac_he2.zip   129.38KB   109 downloads

#36 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 30 March 2007 - 09:36

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:

#37 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 06 May 2007 - 10:53

I guess there's no news regarding this?
Is there anything more I can do to help out?

#38 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 06 May 2007 - 15:39

Not really :)

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

http://mediapix-aust...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...

#39 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 07 May 2007 - 08:18

Is this what we're talking about?

http://lists.mplayer...une/001647.html

Edited by RedAngel, 07 May 2007 - 22:45.


#40 wiak

wiak

    Newbie

  • Members
  • Pip
  • 17 posts

Posted 06 June 2007 - 19:07

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

#41 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 06 June 2007 - 23:01

Just some codec doesn't solve the problem. A DirectShow decoder is required for DVB applications.

#42 Derrick

Derrick

    Board Inventar

  • Moderators
  • PipPipPipPipPipPipPipPipPipPipPip
  • 13,021 posts

Posted 06 June 2007 - 23:46

Just some codec doesn't solve the problem. A DirectShow decoder is required for DVB applications.

Is directshow a synonym for DVB? I don't think so :)

#43 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 07 June 2007 - 10:49

Is directshow a synonym for DVB? I don't think so

BDA is DirectShow based, as you might know. DVBViewer does it a bit differently, but usually (as intended by Microsoft) the BDA filter graph and the playback filter graph are one.

#44 Derrick

Derrick

    Board Inventar

  • Moderators
  • PipPipPipPipPipPipPipPipPipPipPip
  • 13,021 posts

Posted 07 June 2007 - 11:05

yes, I know but I ment the correspondence between directshow and dvb. I would agree I you had said directshow <-> ms_tv_applications. :)

#45 RedAngel

RedAngel

    Newbie

  • Members
  • Pip
  • 30 posts

Posted 07 June 2007 - 23:45

Hi again,

For some reason I'm not able to get video anymore either. It looks like they've changed something... (Unless I've missed something...)
I've made a full transponder dump here if anyone is interested.

http://www.sendspace.com/file/qe74x8


Take care!

#46 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 09 June 2007 - 03:18

Strange. None of the decoders here is able to handle the video. Only Moonlight / MainConcept show a recognizable picture, before they crash :wacko:

Finding out what they changed requires an old sample. Have you still got one? No need to upload it - use the H.264 Param Reader from the members area -> tools section and post / attach the output.

#47 sejone

sejone

    Newbie

  • Members
  • Pip
  • 1 posts

Posted 13 June 2007 - 16:54

Norway's DVB-T Selects Audio Compression Technology from Coding Technologies

http://www.tmcnet.co.../17/2525837.htm
http://www.codingtec...rwayDVB_eng.pdf

Edited by sejone, 13 June 2007 - 16:55.


#48 Bobben

Bobben

    Newbie

  • Members
  • Pip
  • 34 posts

Posted 16 June 2007 - 20:10

Not really :)

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

http://mediapix-aust...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
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...


You might have seen this already.
DVB has specified that all AAC audio shall be sendt with LOAS/LATM syntax.
http://www.dvb.org/t...1154.v1.8.1.pdf


[code]4.1.6.1 stream_id and stream_type
Encoding: Elementary streams shall be identified by stream_id and stream_type in accordance with
ITU-T Recommendation H.222.0 | ISO/IEC 13818-1 [1], tables 2-18 and 2-29.
For VC-1 Bitstreams, the following applies:
Encoding: Elementary streams shall be identified by stream_id (with the extension mechanism) and
stream_type in accordance with SMPTE RP 227 [22].
NOTE: For VC-1 Bitstreams, the value of stream_type shall be set to 0xEA.
Decoding: IRDs shall be able to accept bitstreams which contain these encoded values.
For MPEG-4 AAC, MPEG-4 HE AAC and MPEG-4 HE-AAC v2 audio streams, the following applies:
Encoding: The value of the stream_id field for LATM/LOAS formatted MPEG-4 AAC, MPEG-4 HE AAC and
MPEG-4 HE AAC v2 packetized elementary streams shall be 110x xxxx, where each x can be
either 0, or 1. The value of stream_type for MPEG-4 AAC, MPEG-4 HE AAC and MPEG-4 HE
AAC v2 packetized elementary streams shall be 0x11 (indicating ISO/IEC 14496-3 [17] Audio
with the LATM transport syntax).
Decoding: This field shall be read by the IRD, and the IRD shall interpret this field in accordance with
MPEG systems syntax.[/code]

[code]6.4.1 LATM/LOAS formatting
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.
DVB BlueBook A001 Rev. 7
68
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.
The following limitations to the LATM multiplex shall apply;
 numLayer shall be "0", as no scalable profile is used;
 numProgram shall be "0", as there is only one audio program per LATM multiplex;
 numSubFrames shall be "0", as there is only one PayloadMux() (access unit) per LATM
AudioMuxElement();
 allStreamsSameTimeFraming shall be "1", as all payloads belong to the same access
unit.
Decoding: These formats shall be read by the IRD, and the IRD shall interpret these formats in accordance
with MPEG-4 audio syntax.[/code]

Edited by Bobben, 16 June 2007 - 20:12.


#49 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 18 June 2007 - 11:10

Is it still impossible to decode the H.264 stream, or does the provider just try this and that?

#50 Griga

Griga

    Board Inventar

  • Moderator
  • 24,654 posts

Posted 30 June 2007 - 16:59

For some reason I'm not able to get video anymore either. It looks like they've changed something...

The MainConcept AVC/H.264 Video Decoder 3.0.7299 can cope with it. It is part of this package:

http://www.elecard.c...gPlugIn_WMP.zip

It may be necessary to register mcavcvd.ax manually.