View Full Version : mp4creator and he-aac muxing
Bluedan
21st January 2005, 03:43
Still HE-AVC is not properly recognized in latest c_d build of mp4creator.
mp4box 0.2.3 displays: MPEG-4 Audio AAC LC - 2 Channels - SampleRate 24000 - SBR SampleRate 48000
Well LC isn't right either but mp4box can handle HE-AAC with -sbr switch.
mp4creator: audio MPEG-4 AAC LC, 7754.922 secs, 62 kbps, 24000 Hz
Streams will be muxed as LC profile (confirmed with CoreAAC decoder info!!) with mp4creator.
An AVC+b-frames+CABAC stream that I was able to demux to raw output with mp4creator could not be remuxed properly to mp4 container.
No matter which switches I tried the file created made bsplayer crash (libavcodec crashed? -> wasn't sure about error log info).
The muxing process starts displaying Error decoding sei message.
Basically I tried this line: d:\mp4creator -create=d:\sw6-t3.h264 -rate=25 d:\test.mp4 also testing additionel -optimize, -I and -H switches. No chance.
Afterwards -info showed
Track---Type----Info
1--------video----H264 Main@4, 7754.760 secs, 1400 kbps, 704x288 @ 25.00 fps
2--------hint------Payload H264 for track 1
JoeBG
21st January 2005, 10:17
Originally posted by Bluedan
mp4box 0.2.3 displays: MPEG-4 Audio AAC LC - 2 Channels - SampleRate 24000 - SBR SampleRate 48000
Well LC isn't right either but mp4box can handle HE-AAC with -sbr switch.
I always mux HE AAC with -add in mp4box. Seems to be not correct.
Would the following commondline be ok?:
mp4box -sbr HE_AAC.aac myvideo.mp4 -out totalvideo.mp4 ?
yaz
21st January 2005, 10:23
@bluedan
the same here :-( he-aac wrapped into mp4 by nero is played back as he(sbr) w/coreaac, but when repacked w/mp4ip it's shown as lc-aac. what really strange is that the audio info given by mp4box and mp4ip is quite contradictory sometimes.
the bests
y
Bluedan
21st January 2005, 13:44
Originally posted by JoeBG
mp4box -sbr HE_AAC.aac myvideo.mp4 -out totalvideo.mp4 ?
Did you mistype? Have a closer look to the command structure (just type mp4box for usage options):
mp4box -add HE_AAC.aac -sbr -add#trackID=3 myvideo.mp4 totalvideo.mp4
-out doesn't seem to be a valid command/switch.
trackID=3 is working as long as your video is created by Recode. Otherwise check track order in file with -info command.
BTW, it's sufficient as Recode produces ISO compliant mp4 to simply add audio to existing myvideo.mp4 leaving out the 2nd add command and taking it as target file instead of totalvideo.mp4
Don't forget to adjust paths to files.
Further documentation here. (http://gpac.sourceforge.net/auth_mp4box.php)
@yaz
Yeah, C_D is building or has build a fresh cvs checkout including latest libavcodec so that mp4box will be able to handle AVC hopefully. Then you won't need mp4creator.
bond
21st January 2005, 14:55
1) avc is NOT aac -> thread splitted as it doesnt belong to the avc mp4creator thread
2) mp4creator and mp4box are two totally different tools, written by two totally different authors in two totally different projects...
mp4creator does NOT support sbr signalling
mp4box DOES support sbr signalling
also mp4box will NOT support avc soon, the dev doesnt work on it! (be sure that i will anounce it once it should be here ;) )
Originally posted by Bluedan
An AVC+b-frames+CABAC stream that I was able to demux to raw output with mp4creator could not be remuxed properly to mp4 container.
No matter which switches I tried the file created made bsplayer crash (libavcodec crashed? -> wasn't sure about error log info).
The muxing process starts displaying Error decoding sei message.
Basically I tried this line: d:\mp4creator -create=d:\sw6-t3.h264 -rate=25 d:\test.mp4 also testing additionel -optimize, -I and -H switches. No chance.3) dont use ffdshow for testing, its also a very new tool and surely not bugfree
use nero's filters for testing
4) can you plz upload the file somewhere if there are still problems with nero's decoder
yaz
21st January 2005, 15:45
Originally posted by Bluedan
...-out doesn't seem to be a valid command/switch.no, u're wrong here. check the url u'd dropped :-) When MP4Box is used to modify an existing IsoMedia file, the original file (for example AFILE.mp4) is NEVER overwritten, the resulting file is stored in out_AFILE.mp4. To specify another name for the resulting file, use the -out switch.it seems, defining a different ouput file is working wout the -out switch. just put the name as u did.Originally posted by Bluedan
Yeah, C_D is building or has build a fresh cvs checkout including latest libavcodec so that mp4box will be able to handle AVC hopefully. Then you won't need mp4creator. wrong (or just false) again :-) osmo is able to handle avc/mp4 but mp4box is not planned to do so, at least not in the near future (see bond's reply). that's pity, anyway. so, that's why we need mp4ip further on.
imho, solving this he/lc misery wont take too much for the mp4ip devels. no guess why they don't do it. anyway, i've got some memory that once in a while i'd seen mp4ip reporting nero he-aac/mp4 as he-aac(not sbr!). i just can't recall which version was it, but i'm sure it did. (maybe, nero tampered sg again around its mp4 output???)
the bests
y
bond
21st January 2005, 16:27
anyone who wants to push he-aac support in mpeg4ip's mp4creator posts here (http://sourceforge.net/forum/forum.php?thread_id=1003525&forum_id=59136)
anyone who wants to push avc support in gpac's mp4box posts here (http://sourceforge.net/tracker/index.php?func=detail&aid=988583&group_id=84101&atid=571741)
;) :D
Bluedan
24th January 2005, 15:50
@yaz
Shame, I've done sloppy research myself :(
But maybe there's still hope for mp4box though, just got an e-mail from Jean Le Feuvre. He's interested in b-frame support of AVC, don't know if he only means in terms of OSMO!
@Bond (btw: any "stirred-not-shaken"-bells related to your nick?)
I'm sorry, currently I'm connected via modem and do not have a small clip to upload, maybe I'll do a short encoding the next days and upload then.
Added posts to both trackers.
bond
24th January 2005, 15:55
Originally posted by Bluedan
I'm sorry, currently I'm connected via modem and do not have a small clip to upload, maybe I'll do a short encoding the next days and upload then.try the nero decoder first, and maybe the moonlight splitter/decoder too
Bluedan
24th January 2005, 22:42
Originally posted by bond
try the nero decoder first, and maybe the moonlight splitter/decoder too
And again you're right :rolleyes:
Moonlight demuxer in combination with Nero Decoder do not crash.
The only question is: What is left behind when I demuxed and then remuxed the video stream with mp4creator?
I mean apart from track#1 and #2 which were created by Recode.
'Cause the Recode-mp4 did not make ffdshow (btw: version 20050122 behaves the same) crash!
This is what mp4box says (more info output than mp4creator ):
mp4box -info d:\remuxed.mp4
* Movie Info *
Timescale 90000 - Duration 00:00:39.640
Fragmented File no - 1 tracks
File Brand mp42 - version 0
File has root IOD
Scene PL 255 - Graphics PL 255 - OD PL 255 - Visual PL 127 - Audio PL 255
No streams included in root OD
Track # 1 Info - TrackID 1 - TimeScale 90000 - Duration 00:00:39.640
Media Type "vide" - Media Sub Type "avc1" - 991 samples
Unknown track type
mp4box -info d:\orig-recode_tr1+2deleted.mp4
* Movie Info *
Timescale 1000 - Duration 00:00:39.680
Fragmented File no - 1 tracks
File Brand avc1 - version 0
File has root IOD
Scene PL 1 - Graphics PL 254 - OD PL 254 - Visual PL 255 - Audio PL 0
No streams included in root OD
Track # 1 Info - TrackID 3 - TimeScale 25000 - Duration 00:00:39.680
Media Type "vide" - Media Sub Type "avc1" - 992 samples
Unknown track type
I deleted the non-video tracks in the original mp4 created by Recode.
I highlighted the main differences.
Seems like one frame has cut off.
Timescale differs also, which effect has it?
I uploaded the (modified) original AVC/mp4 to Rapidshare (http://rapidshare.de/files-en/432427/sw6_sample.mp4.html) in case someone more experienced than me wants to investigate.
bond
24th January 2005, 23:08
thanks for the sample!
i was able to reproduce your problem (sei message, ffdshow crash)
when cutting away with mp4tb the beginning of your file (first keyframe and following frames till second keyframe), and than demuxing, remuxing with mp4creator everything works fine (no error message in mp4creator, no ffdshow crash)
therefore i assume the problem is somewhere caused by nero in the beginning of the file
you might want to contact a nero dev (bobololo, babayaga) and point him to this thread
maybe also mp4creator has a problem, but its strange that it handles the cutted one fine
edit:
the SEI message, comes from as the avc stream uses a NAL containing SEI
mpeg4ip's h264 tool shows me:
constrained_intra_pred_flag: 0
redundant_pic_cnt_present_flag: 0
Nal length 115
ref 0 type 6 SEI
Nal length 10462
ref 2 type 5 Coded slice of an IDR picture
my cutted file doesnt include this anymore, thats why it works
reported to mpeg4ip here: http://sourceforge.net/forum/forum.php?thread_id=1216931&forum_id=59136
Bluedan
25th January 2005, 03:46
babayaga will have a look at this.
Here is what he wrote via PM (I think it's fine to post it here):
Hi,
I don't know. Most opensource software (and even reference software on that matter) still have compliancy issues with AVC.
If the problem is related with SEI type 6 (recovery point) this is because there is only one IDR in the stream (the 1st I picture). This might confuse many tools but we know from extensive interoperability tests that decoders and/or muxer claiming a good compliancy can handle this.
Anyway, we will look at it.
Regards,
Babayaga
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.