Log in

View Full Version : Doom's MP4 Guide


Pages : [1] 2

wing1
14th April 2002, 07:14
I did a test using Doom's recent guide with MP4, and I failed miserably. The encoding and muxing went without any errors; However, the playback didn't work. MP4Player will playback the video only stream in the .mp4 but it reminded me of watching VCD on DVD player that can't handle CD-R media ( color blocks ). If i mixed the audio with the video then the player simply crashed. What went wrong?

I used all the files that was suggested in Doom's guide.

Neo Neko
15th April 2002, 21:17
Good queation. I think Doom9 himself might be best suited to answer this. I have not had a chance to look at his MP4 guide yet myself. The last MP4 I made I created an Xvid/MP3 AVI and used the DXN AVI2MP4 util to convert it to MP4. Played flawlessly in the new version of the playa. But Mpeg4IP and every other player failed miserably.

Doom9
15th April 2002, 22:28
well.. I only tested it with xvid/aac and divx5/aac... the latter failed, didn't even mux in fact. Did you follow the guide to the letter? The other guide I link to did have the audio and video muxing the other way round which didn't work for me. Obviously these tools aren't that stable yet so it might be a bit tricky to get it working.. and what I've heard the different multiplexing methods only work for the player that was written by the same people as the muxing tool. As I said... consider it an outlook of things to come (mp4 and aac).. something you have the chance to play with now but that doesn't necessarily work quite as well as you'd expect it. I would hold off doing all my rips in that format for now... if you want to try something new I suggest ogm with vorbis audio.. that has worked just fine every time I tried it (though with divx5 b-frames I dunno.. I've only tested xvid.. ). and since there's no disc format specified yet (at last not one I would know of), even if you burn mp4s today nobody can guarantee you that you'll eventually be able to play these discs on an mpeg4 enabled dvd player. consider the mp4/aac combo in alpha state..

wing1
16th April 2002, 06:07
This is what I did to create the test.mp4.

1. I used an encoded xvid file 10min commercial trailer.
2. I changed the fourCC from xvid to divx.
3. I extracted the audio and video into individual components, divx video and wav audio.
4. I encoded the audio to .aac using psytelACCdrop GUI with psytelACCenc215. No issue here.
5. I muxed the video and audio using mp4creator60.exe. No complain here.
6. I played the result using wmp4Player.exe. This is where the problem exist. If I just mux the video alone. wmp4player.exe would launch the video, but it produced garbage overlay. If I included the audio, then wmp4player.exe refused to even open the clip.
7. Atm, I am not planning to create an archive base on this format, rather it is an interesting format to play with. I would like to know what I did wrong in creating the .mp4 clip.

Doom9
16th April 2002, 06:53
there could be a few problems here:

1) encode with fourcc set to divx rather than changing it afterwards.. the fourcc changer change one instance of the codec's name.. that's enough for DS based players but if you use nic's or blights (on my site) fourcc changer they won't change the 2nd xvid line... try a hex editor and you'll see

5) in which order did you mux? what were the commandlines? try alternating video and audio muxing.. also play with the -I parameter

Nozomi
25th May 2002, 04:33
I did the same with a DivX5 source (w/B-Frame), muxing passed but the player reported client crash. Any idea why?

Tri
25th May 2002, 14:34
I have heard that you have to convert an DivX5-avi with B-frames to an mp4-file using the converter included with DivX5 before you can mux it to an mp4-stream. I haven't tested it but it seems to have something to do with B-Frames...

Neo Neko
27th May 2002, 06:38
I have done some xvid/aac MP4 recently without a hitch. Make sure you have the latest version of the MPEG4IP tools.

1. Encode Xvid video to an avi file with Xvid fourcc. No audio.
2. Use psytel to create the aac soundtrack.
3. Mux the video with mp4creator60.
4. Mux the audio with mp4creator60.
5. Open in WMP4player and watch without a hitch.

Problems.....
WMP4player does not seem to use video overlay. Or it uses it poorly on my machine. Switching to full screen was a no-no. And even play at normal rez seemed to stutter or chop every once in a while.

Nozomi
27th May 2002, 07:07
I did the same but just using DivX 5.02 w/B-Frame and it failed to payback. I will try next time without B-Frame and see if any success.

Nozomi
30th May 2002, 16:45
Client also crashed for DivX 5.02 without B-Frame:

23:45:46.831-plugin-6: Adding audio plugin aac aac_plugin.dll
23:45:46.831-plugin-6: Adding audio plugin celp celp_plugin.dll
23:45:46.841-plugin-6: Adding audio plugin mp3 mp3_plugin.dll
23:45:46.851-plugin-6: Adding video plugin MPEG4 ISO mpeg4_iso_plugin.dll
23:45:46.851-plugin-3: Can't find export point in plugin SDL.dll
23:45:46.851-plugin-6: Adding video plugin xvid xvid_plugin.dll
23:45:47.411-mp4file-7: MP4 - got track 1 profile ID 1
23:45:47.411-plugin-7: Found matching video plugin MPEG4 ISO
23:45:47.522-mp4iso-7: Caught exception in VOL mem header search

Any idea?

symonjfox
5th May 2003, 14:02
I checked the new Dooms9 guide for MPEG 4 files, now I'll tell you my way.

WAY 1

1- Video encode to Xvid. DivX 5.02 gave me some problems, and the resultant MP4 file was unplayable.
2- Mp4creator60.exe -c"d:\video.avi" -H "d:\video.mp4"
3- I convert audio (WAV) to MP4 AAC (using Nero Plugin) and checking the Low complexity, Add Hint track and Mix audio to existing Video file.

WAY 2

1- Video Xvid
2- Audio AAC (psytel or faac)
3- Mp4creator60.exe -c"d:\video.avi" -H "d:\video.mp4"
4- Mp4creator60.exe -c"d:\audio.aac" -H -optimize "d:\video.mp4"

@ Doom9
Don't forget the OPTIMIZE option (in the manual way) because if you don't add it, the audio will be included AFTER video, and will occour some delays in audio while playback (also your hard disk will continue to read here, there, here, there ... while with optimize, audio and video are interleaved). Please modify your guide (add "-optimize" while multiplexing the second stream.

I've some doubts about multiplexing Audio before Video. I always did the opposite and it always worked well ... I think that it's only it you use MP4UI.

@ all
I'd advice everybody to use Mp4creator60 instead of mp4ui, because newer versions of MP4IP contains a lot of bugfixes and also are often updated.

dillee1
5th May 2003, 14:34
making mp4
1) There is changes in the AAC header format recently, which the mp4creator from mepg4ip is no longer standard compliant. so stop using it. get the hacked one from memmo(from hydorgenaudio or rareware)
2) the old pystel and aacenc doesnt produce compilant stream also,
switch to new FAAC
3) Divx5x/Xvid/3ivx all mux properly even with all advance features on(Qpel, B-frame, GMC). Make a video only avi then mux with the hacked mp4creator.

playing mp4
1) Divx Playa 2.0.1 don't play aac stream, use mp3 on it.
2) Wmplayer is a buggy freak, don't use it at all
3) Use a combination of 3ivx decoder and ffdshow for optimal playback. enable "Allow unspported decoder" in the 3ivx media splitter and enable "Use overlay mixer" in recent version of ffdshow.
Then playback with any dshow player

tiki4
5th May 2003, 16:14
@dillee1:

Just to give some minor corrections to what you poster (sorry). I'm hanging out on HA for quite a while now and follow discussions with Menno (that's his name) Bakker and Ivan Dimkovic, the guys that work for Ahead.

1) aacenc.exe from RareWares (now rarewares.hydrogenaudio.org (http://rarewares.hydrogenaudio.org) ) still produces standard compliant AAC streams as it uses an MPEG2 ADTS header, which hasn't changed.

2) aacenc_mpeg4.exe from RareWares produced MPEG4 ADTS headers which weren't standard compliant due to some recent changes. Therefore that version was removed. Also recent updates were included in the mp4tools.rar package (version 0.9.8) that is hosted on RareWares.

3) For playback you are absolutely right. 3ivx + ffdshow: this is the combination that I use as well.

4) Some minor hint: Quicktime player still refuses in version 6.1 on Windows to play MP4 files which have an AAC audio track with MPEG2 ADTS header. I still don't know of any way how to change that. Maybe someone knows how to do that (bitstream is identical).

tiki4

symonjfox
5th May 2003, 22:30
Originally posted by tiki4
[B4) Some minor hint: Quicktime player still refuses in version 6.1 on Windows to play MP4 files which have an AAC audio track with MPEG2 ADTS header. I still don't know of any way how to change that. Maybe someone knows how to do that (bitstream is identical).
tiki4 [/B] Well, quick time doesn't support MP3 in MP4 container ... doesn't support Advanced Simple Profile (GMC, QPEL, BFrames, MPEG quantizzation and such stuff).

I use 3ivX to play MP4 files and works fine.

hans-jürgen
6th May 2003, 07:19
Originally posted by tiki4
@dillee1:
Just to give some minor corrections to what you poster (sorry). I'm hanging out on HA for quite a while now and follow discussions with Menno (that's his name) Bakker and Ivan Dimkovic, the guys that work for Ahead.


Maybe it's also a good idea to hang out at the forum (and the Wiki) of Audiocoding.com now and then... ;)

1) aacenc.exe from RareWares (now rarewares.hydrogenaudio.org (http://rarewares.hydrogenaudio.org) ) still produces standard compliant AAC streams as it uses an MPEG2 ADTS header, which hasn't changed.

That's right, the problem always has been and still is with MPEG-4 software from Apple and others that is not fully standard-compliant, because it does not recognize MPEG-2 AAC LC files (and MP3 within a MP4 container and multichannel audio files etc.).

2) aacenc_mpeg4.exe from RareWares produced MPEG4 ADTS headers which weren't standard compliant due to some recent changes. Therefore that version was removed. Also recent updates were included in the mp4tools.rar package (version 0.9.8) that is hosted on RareWares.

Correct, if you want to know more about this, read e.g. some of the recent threads and/or the Wiki pages about MP4 and ADTS on Audiocoding.com. By the way, for Apple users there's a brand new MPEG4IP package on RareWares now with a patched version of mp4creator.

3) For playback you are absolutely right. 3ivx + ffdshow: this is the combination that I use as well.

Another possibility would be mplayer that also seems to work well with multichannel MP4 files when compiled with FAAD2 (see the related thread on Audiocoding.com). The 3ivx developer promised to release a new AAC decoder for their DS filter 2 days ago (not based on FAAD anymore), so multichannel audio in a MP4 file should be possible soon with 3ivx.

4) Some minor hint: Quicktime player still refuses in version 6.1 on Windows to play MP4 files which have an AAC audio track with MPEG2 ADTS header. I still don't know of any way how to change that. Maybe someone knows how to do that (bitstream is identical).

Well, the problem is simply this MPEG-2 flag instead of the MPEG-4 flag that QuickTime expects in the MP4 file header, so the easiest solution for PsyTEL AACEnc files is to enable mp4creator to change that flag while muxing.

Enrico Palmeri is working on that (and another closely related issue) right now and will send the necessary changes to the mp4creator code to Bill May (the MPEG4IP developer) as soon as he figures out how to implement command line switches in mp4creator. His hardcoded changes already work since several weeks now, so if someone here is willing to help, he might post on the Audiocoding.com forum perhaps. Enrico published the source code of his changes (without the command line switches) some days ago on the Apple QuickTime forum for Windows ("QT 6 not fully standard-compliant..."), so you could have a look at it there.

tiki4
6th May 2003, 08:19
Is it you? The famous guy with the headphones from HA?

Well, welcome at doom9!

Thanks for your updates. Actually I wasn't able to follow all this stuff in real time as I don't have enough time to hang out in sixteen forums (or more?). I just follow HA now and then and I'm still very interested in 5.1 AAC playback (well, not all people are watching movies on Linux, but MPlayer is a good hint :D). I still hope that the guys of 3ivx get it done sooner or later (although they are quite slow with their updates, but they give it away for free, so we can't demand anything).

Anyway thanks for your help.

tiki4

el00343
6th May 2003, 09:33
well, there is another way that worked perfectly for me:

1.make the .ac3 -> wav from headac3he
2.make the wav -> .mp4 from Nero's AAC plugin <-.currently the best AAC encoder if I'm not wrong
3.make the .avi using XVID
4.multiplexed the .avi into the existing .mp4 from step 2.

Plays fine with any player i've tried,including quicktime 6

hans-jürgen
6th May 2003, 10:24
Originally posted by tiki4
Is it you? The famous guy with the headphones from HA?

Well, welcome at doom9! Thanks... and yes, that's me with the Beyerdynamic DT 770 headphones on listening to Ogg Vorbis during the c't listening test Aug 2002... ;)


Thanks for your updates. Actually I wasn't able to follow all this stuff in real time as I don't have enough time to hang out in sixteen forums (or more?). Yes, I know how you feel.

I just follow HA now and then and I'm still very interested in 5.1 AAC playback (well, not all people are watching movies on Linux, but MPlayer is a good hint :D). I don't know anything about Linux either, but I think there are Windows and/or Mac ports available somewhere.

Another freeware MPEG-4 player that doesn't get mentioned much is the platform4 player from Philips. Just yesterday someone at HA confirmed it works with Nero AAC stereo files (preset -normal), so it might be an alternative for some people, especially because there's also a WinCE version available: http://www.digitalnetworks.philips.com/InformationCenter/Global/FArticleSummary.asp?lNodeId=764&channel=764&channelId=N764A2175

And of course there's EnvivioTV (they also claim to have a PDA and a Linux version of it), mpegable DS filter and player (don't work with audio-only files) and Zoomplayer, all freeware. A summary of available DS filters can be found in the Audiocoding.com Wiki on the pages for "Software Audio Players for Windows" in the paragraph about Windows Media Player.

I still hope that the guys of 3ivx get it done sooner or later (although they are quite slow with their updates, but they give it away for free, so we can't demand anything).

I guess it won't take long this time, because they probably also realize what has happened with the Apple release of their Music Service, iTunes4 and iPod, all using AAC/MP4.

@el00343: Yes, that's right, this method should work, but not with the playback of multichannel audio files in QuickTime 6, or am I wrong? Nero AAC is probably the best AAC codec around or will be very soon, because Ivan Dimkovic continues to improve it, e.g. with better TNS tuning, fixing bugs etc. which will not happen to PsyTEL of course. The drawback concerning multichannel audio is in the Nero Burning ROM plugin manager right now that can't read multichannel WAVs while the AAC codec can. This known bug will hopefully be fixed some day... My guess for the new Nero Digital MPEG-4 application with Ateme's video codec and the new AAC+ audio codec is that it won't suffer from that bug, because it had to be built from scratch, as far as I know.

el00343
6th May 2003, 11:58
well, I didn't know about multichannel aac's, all my rips are 1-cds so I transcode into stereo sound only.
Still waiting for the day we will be able to mux 64kbps AAC+ audio into our .mp4's...I'm dying to lay my hands upon such an encoder,even if it's pre-pre-alpha-don't-touch version :)

hans-jürgen
6th May 2003, 14:40
The last thing I heard about this issue was that it will be before July 1, 2003... ;) And it will be a release, not an alpha version.

Doom9
6th May 2003, 16:49
long thread. Just letting you guys know that I'll have a look at that guide again shortly, considering all the comments that have been made in this thread.

ooops!
6th May 2003, 18:33
I've managed to create .mp4 files using QuicktimePro 6.1. If I'm doing short encodes (less than 10mins) I first convert and export the source file to a DVPro file (at 'best' quality).

After youv'e created a file in this format you can create mp4/aac files (or Sorenson video 3 with aac audio) - no problem.

I have even got a file somewhere on my PC (I didn't make it) that has got mp4video with mp3 audio!

However, unless you encode at over 1000kbps large pixel image files (720x576 or 720x480) look terrible.

No 2pass encoding with Quicktime .mp4!

hans-jürgen
7th May 2003, 21:43
A short update to my last posting: it has been confirmed by several people yesterday that Nero Burning ROM can import 6-channel AIFFs and encode them to 6-channel AAC/MP4 files. The bug with multichannel WAVs still remains though, but will probably be fixed now in the next release. ;)

Sgt_Strider
7th May 2003, 22:11
Originally posted by hans-jürgen
A short update to my last posting: it has been confirmed by several people yesterday that Nero Burning ROM can import 6-channel AIFFs and encode them to 6-channel AAC/MP4 files. The bug with multichannel WAVs still remains though, but will probably be fixed now in the next release. ;)

AIFFS? What's that? Man that multichannel bug in the nero encoder has been there since Dec. 2002. I have been waiting for nearly 5 months and it looks like it'll be June when the bug will be fixed.

hans-jürgen
8th May 2003, 04:03
That's the Apple format for raw PCM audio, but it can also be produced/converted on a PC e.g. with DSPguru's tools, I think.

el00343
8th May 2003, 21:35
hmm however, I think that this container format,at least as it is currently implemented by mp4creator, is a bit immature.

adding a perfectly-made xvid .avi (no chops,artifacts etc.) into an .mp4 via the method I described before gave me an file full of playback problems-severe artifacting.
Back to .ogm for the time being.

hans-jürgen
9th May 2003, 05:49
And another update: the Nero AAC codec (and probably the PsyTEL codec as well) had a multichannel bug concerning the correct M/S stereo mapping of the different channels, so even if you managed to feed it with a multichannel AIFF, the resulting sound was weird. Ivan has confirmed yesterday on Audiocoding.com that the next release will not have that flaw anymore (and hopefully the Nero plugin manager will read multichannel WAVs then, too). By the way, the open source AAC encoder FAAC does not have this problem, because it doesn't use any joint stereo methods at all at the moment... ;)

@el00343: There certainly are many ways to do things wrong with the existing MPEG-4 tools, so I don't know what the problem is. The best places to find help are probably the MPEG4IP, Everwicked and the 3ivx forums, but please use the search function there before you post a rather diffuse bug report, because your question might already have been answered.

Corby
9th May 2003, 09:47
I did a few MP4 rips, works nice.

I'm using Apple QuickTime as a reference - if MP4 file plays in QT I regard it "standard compliant". Other than that I'm using 3ivx DS filters and Media Player Classic for watching MP4 movies.

First, I encode an video using Xvid with FourCC=DivX and other setting UltraHigh, H263, VHQ4, Bframes. Just don't use qpel and gmc. Than, I convert AC3 to WAV using Besweet and make make an MP4 audio file using Nero. Then I open audio MP4 using MP4UI and mux video in it.

It works at Apple QuickTime Player and MediaPlayerClassic using 3ivx filters. It's not without it's problems, but works fine. There is still no support for MOV/MP4 subtitles in any players, so I'm using VobSub for that.

Still looking for a usable multichannel support. Any player or DS filter that supports it?

Nic
9th May 2003, 10:01
Just a side note: :)
QuickTime MPEG-4 really isn't as advanced as XviD or DivX yet, If your so inclined read their WhatsNewQT6.pdf that comes with the QuickTime6 SDK. What they say there is that any file that has a bitrate of over 64kbs is breaking the ISMA standard they are currently trying to adhere to (!?)

(QuickTime 6 Encoding is conforming to ISMA standard profile 0 i.e. video at a max of 176x144 at 15fps and 64 kbps (!)). But can obviously go higher but breaks the standard they adhere to.

profile 1 has a lot more features (& higher bitrate). But as QuickTime say themselves:- "QuickTime 6 is a Profile 0 player".

XviD is a lot more advanced, and I personally use it as my reference player.

-Nic

ps
As far as I know there is no multichannel support anywhere yet.. :(

Corby
9th May 2003, 10:43
Of course Xvid is much more advanced. I'm using Quick Time as a reference, because if that crap can play it, anything would do so :)

(I actually like QuickTime a lot and using it every day for video editing that is sometimes part of my job. I just don't like it's Win implementation)

Nic
9th May 2003, 11:28
Oh, I see what you mean now :) Yup, it will be good for that :)
The Win implementation is very slow (in comparison), and the support for the Win32 SDK is bad (Can anybody get AAC audio out of QuickTime using the Win32 SDK?, because I cant (same code runs fine on the mac)).

-Nic

ooops!
9th May 2003, 12:52
It is possible to extract the AAC(.Mp4) audio stream from a Quicktime .Mp4 audio/video. By using the QuicktimePro version of the player.

Corby
9th May 2003, 13:27
Originally posted by Nic
Oh, I see what you mean now :) Yup, it will be good for that :)
The Win implementation is very slow (in comparison), and the support for the Win32 SDK is bad (Can anybody get AAC audio out of QuickTime using the Win32 SDK?, because I cant (same code runs fine on the mac)).

-Nic

Win QT is slow because most of the framework is running the Mac code (compiled for x86) via some Toolbox/Carbon translation layer. Originally, QT is ported to Windows at same time as Apple's never released port of MacOS to Dell PCs.

You can extract AAC audio using DirectShow and 3ivx's MP4/MOV Media Splitter filter.

hans-jürgen
11th May 2003, 07:54
Originally posted by Corby
Still looking for a usable multichannel support. Any player or DS filter that supports it? Did you try EnvivioTV already? I don't know if they have managed to implement multichannel support in their plugin, but they update it regularly (last version 1.50 is from Feb 2003), so it might work with that.

Another chance is Dicas mpegable DS filter, but it doesn't play audio-only MP4 files, so I don't know if it can decode multichannel video/audio files.

And there's Philips' Platform4 player which might be able to do this, but it's almost untested until now.

I've already mentioned the open source players Mplayer and mp4player from MPEG4IP that both use FAAD2 for decoding AAC, so they should be able to support multichannel MP4 files.

You can extract AAC audio using DirectShow and 3ivx's MP4/MOV Media Splitter filter. Using mp4creator's -extract option also works, as far as I know. For now this will keep the signaled flag from the MP4 header which means "MPEG-4" for all files encoded with Apple software. So these extracted AAC files will not play on a Philips Expanium CD portable, since it only know MPEG-2 AAC files. But any software player based on FAAD/FAAD2 (Winamp, foobar2000 and QCD plugins) will decode them.

By the way, the necessary changes to mp4creator for signaling MPEG-2 while extracting (and MPEG-4 while muxing) have been proposed to the MPEG4IP developer on Friday, so we'll see what comes out of that.

hans-jürgen
11th May 2003, 20:59
More news from the Free Beer front:

An updated Nero input plugin is available at RareWares for free since today that is able to recognize multichannel WAV files. Please read the Readme file, too:

http://rarewares.hydrogenaudio.org/

The Mausau freeware plugins for Nero Burning ROM have also been updated yesterday, so using the FAAC plugin instead of the official Nero AAC plugin is the best solution for correct multichannel AAC encodings at the moment, until Nero releases the next version of their fixed AAC plugin:

http://neroplugins.cd-rw.org/

Sgt_Strider
11th May 2003, 21:52
Originally posted by hans-jürgen
More news from the Free Beer front:

An updated Nero input plugin is available at RareWares for free since today that is able to recognize multichannel WAV files. Please read the Readme file, too:

http://rarewares.hydrogenaudio.org/

The Mausau freeware plugins for Nero Burning ROM have also been updated yesterday, so using the FAAC plugin instead of the official Nero AAC plugin is the best solution for correct multichannel AAC encodings at the moment, until Nero releases the next version of their fixed AAC plugin:

http://neroplugins.cd-rw.org/

Hey buddy, this is great news because I have been waiting since Dec. 2002 for Ahead to fix this multichannel wav bug. Anyway I'm wondering is this just input plugin a hack? When I use it to encode a multichannel AAC file, will the audio file sound just as good as it will be when ahead releases the updated plugin for Nero Burning Rom? Thx

hans-jürgen
12th May 2003, 03:55
Originally posted by Sgt_Strider
Anyway I'm wondering is this just input plugin a hack? No, as far as I can tell it's just a preliminary inofficial release that probably has been given to Roberto by Menno who had promised to take care of that problem one way or another. So you can be quite sure that the next Nero Burning ROM release will use the same fixed input plugin for WAV files.

When I use it to encode a multichannel AAC file, will the audio file sound just as good as it will be when ahead releases the updated plugin for Nero Burning Rom? Well, it depends what you mean with "updated plugin" here. Like I wrote, at the moment FAAC is the better multichannel solution, because the Nero AAC output plugin still has a bug concerning the correct mapping of multichannel encodings. As soon as Nero releases a fixed plugin, it will sound better than FAAC with multichannel files again. But since you never know what Ahead Software has in mind with release dates (maybe they don't want to come out with that earlier than their new Nero Digital), and you don't like to wait... ;)

tiki4
12th May 2003, 12:31
Hi there:

I again played around with the MP4 container the last days. Still we don't have a really working solution for MC AAC playback in MP4 files in Windows (maybe apart from MPlayer, didn't try though).

But: There is this AAC_Dec DS filter from Borgsoft. The license says GPL as it is based on FAAD2. In principle FAAD2 should be able to decode MC AAC. Unfortunately this uses a very weird identifier for its input which only connects with the MPX splitter filter. If we could find a way to recompile that DS filter to connect to the 3ivx MP4 splitter maybe we could get multichannel working. [This is not aiming against Matroska but I think it would be nice to finally have one more step to standards compliant MP4 playback.]

Now my problem: I'm a noob to C++ and even worse I'm totally unknowing when it comes to DirectShow and Windows programming. I got the compiler but nothing more. Can someone help me out who knows about Windows programming? First thing would be to find out, which format the 3ivx splitter filter uses...

CU,

tiki4

shitowax
12th May 2003, 13:12
3ivx DS splitter uses a standard WAVEFORMATEX output. The key is the "wFormatTag" field. There is no "standard" for AAC inside WAVE, that's why the 3ivx AAC decoder and the Borgsoft one probably don't use the same ... the 3ivx DS splitter outputs 0x00FF in the wFormatTag. I may be wrong, but I think the borgsoft one uses 0xAAC1 or something like that ...
So, to say it simple : replace 0xAAC1 with 0x00FF and they should connect propertly ;)

hope that helps ...

Andrey
12th May 2003, 14:19
But what about switching between TWO aac tracks ?
Any ideas ?

tiki4
12th May 2003, 15:37
@shitowax:

Thanks. Didn't understand too much, but I try to change that in the code and have a look if it compiles. :D

Is this also the same format for multichannel output of a DS filter? Sorry, that's just beyond my knowledge and it'd take me month to read up.

Will be back tomorrow.

tiki4

@Andrey: Sorry, no idea at the moment.

shitowax
12th May 2003, 16:02
Switching between multiple AAC tracks should be a feature of the splitter. For the moment, the 3ivx splitter doesn't support it. No idea about the others (envivio, mpegable, ...).

Nic
12th May 2003, 16:27
@shitowax:
Many moons ago, I wrote a very baaaad filter that decodes AAC audio and used 0xFF as the format tag...Is that just a coincidence?
Anyway I was learning more about 6channel files across DShow over the weekend (didn't realise it just used the WAVEFORMATEX). Maybe ill write one up with FAAD2. Have you guys got plans for one?

Cheers,
-Nic

shitowax
12th May 2003, 16:57
no it's not, when I started coding the splitter, I used your AAC filter as a test ... then because, I wasn't happy with the result, I spent some time recoding it ;) ... But I kept the 0xFF wTagFormat ... indeed, the 0xAAC1 one is much cooler ;)
Feel free to have a go with FAAD2, indeed, my first AAC filter used FAAD2, and it was working fine ... much better than with FAAD ...

Nic
12th May 2003, 20:50
@shitowax:
LoL, Yup I gave up with once I realised I couldnt get it into AVI. Shame I didnt keep up with it. Good to know my work (no matter how bad it was ;) ) gets around :)

Will 3ivx's filter be doing 6 channel anytime soon? Or is it worth me spending sometime coding one up? Shouldn't take long.

Take Care, and keep up the good work, your 3ivx Media Splitter is a godsend.

-Nic

shitowax
12th May 2003, 21:36
Well, it's in our plans to release a 6 channels audio decoder, but it will not use FAAD2 because of its GPL license. So, I would say having a GPL one based on FAAD2 would be a good comparaison and a good compatibility test for the splitter ;)

tiki4
13th May 2003, 07:43
@shitowax:

Shit, I should have read up again the whole thread. So you're from 3ivx? Well, I changed the 0xAAC0 to 0x00FF in the code and recompiled the filter. It compiles quite well, but nevertheless, when I connect the filter to the 3ivx splitter it immediately crashes in libfaad.dll. I don't know at the moment where the problem is. Maybe the splitter just feeds data that faad2 can't handle? Anyway, I compiled on Windows XP Pro SP1 with Visual Studio.NET agains Direct X 8.1 SDK. Maybe I should try DX9? Funnily, if I compile without changes the filter connects to the mpx splitter without problems and decodes what it should (but only stereo in that case).

@Nic:

Why code it again, when there is one available based on FAAD2 and GPL? I mean, 3ivx can't use it for obvious reasons, but we can and FAAD2 is said to be the best decoder available.

Regards,

tiki4

P.S.: Now I have to read up all the stuff about DirectShow anyway. I will keep on trying.

shitowax
13th May 2003, 10:21
Yeah, I'm the developer of the entire 3ivx directshow filter set.
I think your problem might come from the libfaad configuration. FAAD2, exactly as FAAD needs to be configured before being used with what the mpeg4 people calls a "Decoder Config Descriptor". There is no standard way to pass such information with DirectShow and I have no idea how the borsoft decoder expect those information, but the 3ivx splitter pass them at the end of the WAVEFORMATEX structure (and btw, for ffdshow people, it does exactly the same for the video with the VIDEOINFOHEADER structure)... ;)

Nic
13th May 2003, 10:53
@tiki:
Because ive never got the BorgSoftware one even remotely working. Ive even had my crappy beta 2 one working with OGM :) With the borgsoftware one it just screamed and made static noise :(
So I think ill start from scratch or add it into the AC3 Filter code. Me, Menno & FAAD go way back, so Im sure I can ask him some dumba** questions if I get stuck.

-Nic

tiki4
13th May 2003, 11:27
Thanks guys!

I'm just no Windows programmer. The IDE alone drives me crazy. I like the gcc command line stuff, that's where I'm home.

Na, however, maybe you're right, Nic. I should download the AC3Filter source and have a look at that. On the other hand AACDec from Borgsoft is just decoding AAC, whereas AC3Filter does lots of things.

The question is, what makes the output from mpx splitter different from the 3ivx splitter apart from the wFormatTag (which I changed).

Cheers,

tiki4