PDA

View Full Version : mp4box set trackID while muxing


Selur
9th March 2006, 07:56
Here's what I want:

I want to create mp4 files (mpeg4 asp + lc-aac) which got the same structure files created by Nero Recode have.

so figure out what files created by recode look like I just created one and ran it through mp4box:
mp4box -info d:\test\Nero.mp4

which gave me:
* Movie Info *
Timescale 1000 - Duration 00:03:20.120
Fragmented File no - 3 track(s)
File Brand mp41 - version 0
Created: Tue Feb 21 06:39:30 2006

File has root IOD
Scene PL 0x01 - Graphics PL 0xfe - OD PL 0xfe
Visual PL: Advanced Simple Profile @ Level 5 (0xf5)
Audio PL: ISO Reserved (0x00) (0x00)

Track # 1 Info - TrackID 1 - TimeScale 1000 - Duration 00:00:00.001
Track is present in Root OD
Media Info: Language "eng" - Type "odsm" - Sub Type "mp4s" - 1 samples
MPEG-4 Config: ObjectDescriptor Stream - ObjectTypeIndication 0x01
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 1000 - Duration 00:00:00.001
Track is present in Root OD
Media Info: Language "eng" - Type "sdsm" - Sub Type "mp4s" - 1 samples
MPEG-4 Config: SceneDescription Stream - ObjectTypeIndication 0x01
BIFS Scene description - Command stream
Synchronized on stream 1

Track # 3 Info - TrackID 3 - TimeScale 25000 - Duration 00:03:20.160
Media Info: Language "eng" - Type "vide" - Sub Type "mp4v" - 5003 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x20
MPEG-4 Visual Size 704 x 368 - Advanced Simple Profile @ Level 5
Pixel Aspect Ratio 1:1 - Indicated track size 704 x 368
Synchronized on stream 1


using mp4box I got:
* Movie Info *
Timescale 600 - Duration 00:03:20.160
Fragmented File no - 3 track(s)
File Brand mp42 - version 1
Created: Thu Mar 09 06:49:27 2006

File has root IOD
Scene PL 0x01 - Graphics PL 0x01 - OD PL 0x01
Visual PL: Advanced Simple Profile @ Level 5 (0xf5)
Audio PL: No audio capability required (0xff)

Track # 1 Info - TrackID 201 - TimeScale 25000 - Duration 00:03:20.160
Media Info: Language "eng" - Type "vide" - Sub Type "mp4v" - 5003 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x20
MPEG-4 Visual Size 704 x 368 - Advanced Simple Profile @ Level 5
Pixel Aspect Ratio 1:1 - Indicated track size 704 x 368
Synchronized on stream 1

Track # 2 Info - TrackID 2 - TimeScale 600 - Duration 00:00:01.000
Track is present in Root OD
Media Info: Language "und" - Type "odsm" - Sub Type "mp4s" - 1 samples
MPEG-4 Config: ObjectDescriptor Stream - ObjectTypeIndication 0x01
Synchronized on stream 1

Track # 3 Info - TrackID 1 - TimeScale 600 - Duration 00:00:01.000
Track is present in Root OD
Media Info: Language "und" - Type "sdsm" - Sub Type "mp4s" - 1 samples
MPEG-4 Config: SceneDescription Stream - ObjectTypeIndication 0x02
BIFS Scene description - Command stream
Self-synchronized

First thing I spotted were the different file brand, but using -brand mp41 with mp4box solved this, such that the info now looks like:
* Movie Info *
Timescale 600 - Duration 00:03:20.160
Fragmented File no - 3 track(s)
File Brand mp41 - version 0
Created: Thu Mar 09 06:43:23 2006

File has root IOD
Scene PL 0x01 - Graphics PL 0x01 - OD PL 0x01
Visual PL: Advanced Simple Profile @ Level 5 (0xf5)
Audio PL: No audio capability required (0xff)

Track # 1 Info - TrackID 201 - TimeScale 25000 - Duration 00:03:20.160
Media Info: Language "eng" - Type "vide" - Sub Type "mp4v" - 5003 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x20
MPEG-4 Visual Size 704 x 368 - Advanced Simple Profile @ Level 5
Pixel Aspect Ratio 1:1 - Indicated track size 704 x 368
Synchronized on stream 1

Track # 2 Info - TrackID 2 - TimeScale 600 - Duration 00:00:01.000
Track is present in Root OD
Media Info: Language "und" - Type "odsm" - Sub Type "mp4s" - 1 samples
MPEG-4 Config: ObjectDescriptor Stream - ObjectTypeIndication 0x01
Synchronized on stream 1

Track # 3 Info - TrackID 1 - TimeScale 600 - Duration 00:00:01.000
Track is present in Root OD
Media Info: Language "und" - Type "sdsm" - Sub Type "mp4s" - 1 samples
MPEG-4 Config: SceneDescription Stream - ObjectTypeIndication 0x02
BIFS Scene description - Command stream
Self-synchronized

So far so good, but how do I 'force' mp4box to use the same TrackIDs Recode choose TrackID 1, 2 and 3 and not TrackID 1, 2 and 201?

This is video only, when you also choose an audio track Recode chooses trackID 3 for the video and trackID 4 for the audio, where mp4box chooses trackID 201 for the video and trackID 204 for the audio.

Cu Selur

Elias
9th March 2006, 09:33
This is when MP4Box signals the mp4 file as ISMA simple profile. If you've added an mp3 file instead of AAC, or srt (ttxt) in the mp4 file, it won't signal the track names like that. Same thing with AVC instead of SP or ASP. I don't know why MP4Box does this with ASP MPEG-4 files though, because ASP isn't ISMA compliant as far as I know. However, you can change the track names with Apple's dumpster.

Selur
10th March 2006, 00:43
thx, used dumpster to change the IDs (going to check out if the file will now play on a nero digital stand alone player)

here's what the file now 'looks like' with audio&video:
* Movie Info *
Timescale 600 - Duration 00:03:20.200
Fragmented File no - 4 track(s)
File Brand mp41 - version 0
Created: Thu Mar 09 23:25:04 2006

File has root IOD
Scene PL 0x01 - Graphics PL 0x01 - OD PL 0x01
Visual PL: Advanced Simple Profile @ Level 5 (0xf5)
Audio PL: AAC Profile @ Level 2 (0x29)

Track # 1 Info - TrackID 3 - TimeScale 25000 - Duration 00:03:20.200
Media Info: Language "und" - Type "vide" - Sub Type "mp4v" - 5005 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x20
MPEG-4 Visual Size 704 x 368 - Advanced Simple Profile @ Level 5
Pixel Aspect Ratio 1:1 - Indicated track size 704 x 368
Synchronized on stream 1

Track # 2 Info - TrackID 4 - TimeScale 48000 - Duration 00:03:19.936
Media Info: Language "und" - Type "soun" - Sub Type "mp4a" - 9372 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1

Track # 3 Info - TrackID 2 - TimeScale 600 - Duration 00:00:01.000
Track is present in Root OD
Media Info: Language "und" - Type "odsm" - Sub Type "mp4s" - 1 samples
MPEG-4 Config: ObjectDescriptor Stream - ObjectTypeIndication 0x01
Synchronized on stream 1

Track # 4 Info - TrackID 1 - TimeScale 600 - Duration 00:00:01.000
Track is present in Root OD
Media Info: Language "und" - Type "sdsm" - Sub Type "mp4s" - 1 samples
MPEG-4 Config: SceneDescription Stream - ObjectTypeIndication 0x02
BIFS Scene description - Command stream
Self-synchronized

------------

If anyone knows a better/nicer way to do this plz post.


------------------------------------------------------------------

"going to check out if the file will now play on a nero digital stand alone player"
=> still no video seems like there's no way to use mp4box if you want to encode stuff for nero digital compatible players. :(
Seems like I'm forced to use recode or the 3ivx filter suite.


Cu Selur

bond
10th March 2006, 19:39
This is when MP4Box signals the mp4 file as ISMA simple profile. If you've added an mp3 file instead of AAC, or srt (ttxt) in the mp4 file, it won't signal the track names like that. Same thing with AVC instead of SP or ASP. I don't know why MP4Box does this with ASP MPEG-4 files though, because ASP isn't ISMA compliant as far as I know. However, you can change the track names with Apple's dumpster.isma compliant is also mpeg-4 compliant

Hyper Shinchan
5th April 2006, 23:51
isma compliant is also mpeg-4 compliant
but actually MP4Box uses ISMA 1.0 and it doesn't include a lot of MPEG-4 standards, like AAC-HE, or AVC.
But I dunno if it does't include ASP.

SeeMoreDigital
6th April 2006, 10:05
Hi Selur,

Out of interest, can you tell us what make/model of NeroDigital compatible stand-alone player you have/be trying the encode with?

Personally speaking I have never had a problem playing any of my MP4 contained (MPEG-4 A/SP video with AAC audio) encodes....

Indeed, it does not seem to matter how the track ID's have been numbered or whether the encodes are ISMA compliant, or even if they have the BIFS and OD data streams have been removed ;)


....Be seeing you!

JoeBG
7th April 2006, 06:02
@ Selur

When I mux my files with mp4box I donīt have this structure with track id 201. I only have this, when I mux something in an existing audio or video mp4.

When I mux everything new (what I alwasy do) with -add video.mp4 -add audio.mp4 etc. mp4box uses the track idīs 1, 2, 3....

JoeBG
9th April 2006, 11:19
@ Selur

Problem solved?

JoeBG
14th April 2006, 13:19
Here a example from today, muxed with mp4box:

* Movie Info *
Timescale 600 - Duration 00:44:18.218
Fragmented File no - 3 track(s)
File Brand mp41 - version 0
Created: GMT Fri Apr 14 11:10:23 2006

File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: Advanced Simple Profile @ Level 5 (0xf5)
Audio PL: AAC Profile @ Level 1 (0x28)
No streams included in root OD

Chapters:
Chapter #1 - 00:00:00.000 - "Chapter 1"
Chapter #2 - 00:05:00.000 - "Chapter 2"
Chapter #3 - 00:10:00.240 - "Chapter 3"
Chapter #4 - 00:15:00.240 - "Chapter 4"
Chapter #5 - 00:20:00.240 - "Chapter 5"
Chapter #6 - 00:25:00.240 - "Chapter 6"
Chapter #7 - 00:30:00.240 - "Chapter 7"
Chapter #8 - 00:35:00.200 - "Chapter 8"
Chapter #9 - 00:40:00.200 - "Chapter 9"

Track # 1 Info - TrackID 1 - TimeScale 25000 - Duration 00:44:18.160
Media Info: Language "German" - Type "vide" - Sub Type "mp4v" - 66454 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x20
MPEG-4 Visual Size 720 x 464 - Advanced Simple Profile @ Level 5
Pixel Aspect Ratio 64:60 - Indicated track size 768 x 464
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 24000 - Duration 00:44:18.218
Media Info: Language "German" - Type "soun" - Sub Type "mp4a" - 62302 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 24000 - SBR SampleRate 48000
Synchronized on stream 1

Track # 3 Info - TrackID 3 - TimeScale 1000 - Duration 00:00:39.638
Media Info: Language "German" - Type "text" - Sub Type "tx3g" - 3 samples
3GPP/MPEG-4 Timed Text - Size 768 x 464 - Translation X=0 Y=0 - Layer 0

SeeMoreDigital
14th April 2006, 14:03
You can give real names to your chapters too, if you like!

JoeBG
14th April 2006, 14:06
You can give real names to your chapters too, if you like!

This is what I often do when I find some. If not, I take the numbers. The video above is a TV Show (Battlestar Galactica).

SeeMoreDigital
14th April 2006, 14:17
How come you are adding 64:60 (16:15) aspect ratio signalling to your 720x464 encodes?

What do your MPEG-4 sources look like, before correction?


Cheers

JoeBG
14th April 2006, 17:43
How come you are adding 64:60 (16:15) aspect ratio signalling to your 720x464 encodes?

What do your MPEG-4 sources look like, before correction?


Cheers

Itīs a 4:3 PAL Source => SAR 64:60

But I never add the needed borders in my Avisynth Skript

SeeMoreDigital
14th April 2006, 18:59
If add 64:60 (16:15) aspect ratio signalling to an 720x464 source, you'll end up with a corrected image measuring 768x464 pixels - which equates to an movie aspect ratio of 1.655:1.....

Is that the movie aspect ratio you require?


Cheers

katjarella
19th May 2006, 01:13
Here a example from today, muxed with mp4box: *****
and how? Commandline Please.