Log in

View Full Version : Surround AAC (from AC3) in MP4...


Dayvon
6th January 2006, 19:40
So I've been in the process of upgrading my compression formats (Xvid -> x264) and am considering switching to the MP4 container. I like the idea of using this more advanced container to in a way more future proof my archives by conforming to AAC & AVC standards.

However, like everyone this presents an audio dilema because AC3 is not a MP4 compliant format. So I've been exprimenting with convert AC3 to AAC surround.

I've run into a problem.

The AAC surround file that I make using BeLight sounds great. No artifacts, accurate surround panning. However, when I mux the MPEG-4 video file and the AAC/MP4 audio file using YAMB, things seem to get weird. First of all, the AAC file is no longer decoded correctly in terms of the center channel being gone. Now, this might be a problem that is inherent to my setup (I have a 4.1 system) and the failure of my sound card to assign the center channel properly. But what really irks me is the quality of the AAC file in the muxed MP4 sounds VERY degraded as opposed to the AAC unmuxed. It is VERY apparent in vocal passages, a kinda of bit-ing that makes voices grainy.

Does anyone have a clue what is going on? Is there a really good AAC decoder (right now using FFDShow realaac decoder) that would fix the channel assignment issues? Why would a sound file sound degraded in quality after muxing?

Here's a quick list of my process and programs used.

DGIndex -> AC3 file -> BeLight -> AAC Surround -> YAMB -> MP4 Video-Audio Muxed File -> Media Player Classic -> Haali Splitter -> FFDShow -> Creative Sound Card -> Logitech z-560's

Thanks for any help you can give. I'd really like to jump to the new improved container, but if I can't get AAC surround at a comparable quality level to the original AC3, I'm sticking to x264-AC3-avi's.

Caroliano
6th January 2006, 22:09
I don't know if it helps but you still have Matroska as an "new improved container" to use. It suports AC3 natively.

videomixer9
6th January 2006, 22:25
How about trying to decode it with libfaad2 and also maybe try and use CoreAAC or Nero Audio Decoder and disable ffdshow. realaac didn't support some thing iirc. x264 in avi makes me puke ... at least use Matroska then as suggested above. AVI must DIE, but sadly there's too much noobs who love this old hacked into something new Microsoft stuff! Luckily standalone producers seem to support mp4 and mkv in future modells too, so all those noobs too stupid to use tv out can rest assured then ... and ppl can use mkv too without any problems.

Caroliano
6th January 2006, 23:18
Standalone + mkv ?!?!? A link please!

Dayvon
7th January 2006, 01:53
I suppose I could move to Matroska, but I just don't see that as an option I want to persue. I think the reason behind that is cause I can't seem to find a decent guide or faq about VFW, AVC, and why x264 is sooooo much better when its not in an AVI. In fact, I have yet to figure out how I can make a x264 rip with VirtualDub, and not get an AVI output!!

So any help along these lines of explanation would be great as well.

Note: I did try changing over to the coreaac decoder instead of FFdShow. Didn't help. I think some how the file is getting weirded out when it is being split from the MP4 or when it is going in.

Caroliano
8th January 2006, 15:56
Well:
- The old B-frame problem (http://forum.doom9.org/showthread.php?t=80430), now worst because with AVC b-frames can be used as references.
- Incompatibilty. AVC in AVI is not standart compilant, is a hack. AFAIK, FFDShow is the only decoder that can handle that. You can't playback it in another operational system or using another faster decoder (coreAVC for example).

As virtualdub/virtualdubmod are deeply enlaced with VFW, you can't make a native Mpeg4 from them. Even Matroska output in virtualdubmod isn't in native mode. The problem is with the VFW framework, not exactly with avi.

I sugest you to use MeGUI to make your files. The you can make standart compilant ones w/o trouble. See also this tread: http://forum.doom9.org/showthread.php?t=103206

bond
8th January 2006, 23:35
The AAC surround file that I make using BeLight sounds great. No artifacts, accurate surround panning. However, when I mux the MPEG-4 video file and the AAC/MP4 audio file using YAMB, things seem to get weird. First of all, the AAC file is no longer decoded correctly in terms of the center channel being gone. Now, this might be a problem that is inherent to my setup (I have a 4.1 system) and the failure of my sound card to assign the center channel properly. But what really irks me is the quality of the AAC file in the muxed MP4 sounds VERY degraded as opposed to the AAC unmuxed. It is VERY apparent in vocal passages, a kinda of bit-ing that makes voices grainy.this must be a failure in your setup, cause the audio stream doesnt get changed when muxing into .mp4 (or any other container)

i assume you encoded the audio-only file also to .mp4 with belight? how did you play that .mp4 and how did you play the audio+video .mp4?

did you try other players, like videolan and mplayer?

Dayvon
16th January 2006, 20:50
Thanks for all the help guys. For some reason, now everything seems to sound low-quality when it didn't before. I'm gonna have to setup another set of tests, and figure out whats going on.

BTW, if anybody knows what LC-AAC surround setting (in BeLight) I should use to get top quality -not larger than the AC3 file- That would be awesome. Maybe just changing that would help.

[)370|\|470!2
18th January 2006, 18:12
Incompatibilty. AVC in AVI is not standart compilant, is a hack. AFAIK, FFDShow is the only decoder that can handle that. You can't playback it in another operational system or using another faster decoder (coreAVC for example)


Please, don't make such statements, unless you 100% sure what you're talking about.

http://img360.imageshack.us/img360/2602/13oc.jpg

Caroliano
18th January 2006, 18:34
Strange... the last time I tried CoreAVC wont play these files. Now it is working trought Graphedit... VLC 0.82 also wont play but 0.84 seens to play...

Sorry for miss understanding, but it still a hack.

Dayvon
18th January 2006, 19:21
Strange... the last time I tried CoreAVC wont play these files. Now it is working trought Graphedit... VLC 0.82 also wont play but 0.84 seens to play...

Sorry for miss understanding, but it still a hack.

Boo hoo. I think all of Windows XP is a hack, but lets not get into that. :)
Anyway, I just finally now have gotten a comparison between CLI x264 and VfW x264, and I do see the difference. CLI is MUCH clearer and seems to have more color depth/contrast, where as VfW seems smoother (less blocking and artifacts) but more washed out. But I still dont think that the VfW is a bad way to go. I mean, if you are gonna leave your files on your computer, who cares. And besides, x264 in AVI with AC3 is not bad at all.

With MP4, you have to sacrifice AC3, with AVI you sacrifice h.264 compatibility/quality. It's all a trade off.

BTW, I think I figured out what I did wrong with the AAC files... I think that they were originally mp4 files that I renamed to aac... yikes. Well anyway, it seems that I found some aac settings that I like the quality of and are a bit smaller than the AC3 files so I'm now good to go.

I really seem to prefer LC AAC as opposed to HE AAC. Call me picky, but i couldnt seem to find a HE AAC setting that has enough quality to it. If anyone has a HE AAC setting that you can't tell much of a difference between that and the original AC3, let me know. I stuck with LC AAC streaming 5.1 settings.

Caroliano
18th January 2006, 19:28
CLI is MUCH clearer and seems to have more color depth/contrast, where as VfW seems smoother (less blocking and artifacts) but more washed out.
Are you using the "full processing mode" in virtualdub? It makes unnecessary colors conversions that degrade the quality. Try "fast recompress" mode.

Other diferences between VFW and the CLI are the lack of options for VFW interface(there is a new sticky in AVC forum about that), and people say that it is slower (I never benchmarked it).

With MP4, you have to sacrifice AC3, with AVI you sacrifice h.264 compatibility/quality. It's all a trade off.
And with Matroska you don't sacrifice neither. :)

[)370|\|470!2
18th January 2006, 20:08
HE AAC sounds just awful imho, and must die! :D


PS: vfw h264 can be easily converted to mp4 anytime, while vice versa it's just a headache.

PPS: Strange... the last time I tried CoreAVC wont play these files. Now it is working trought Graphedit... VLC 0.82 also wont play but 0.84 seens to play...

Sorry for miss understanding, but it still a hack.

Forgot to mention, Nero mpeg4 video filter also plays avc avi's w/o problem.