PDA

View Full Version : Joining MP4's.... What not to do


Dayvon
1st February 2006, 09:17
So I'm trying to join MP4 movie files. But with some encodes, it just doesn't seem to work. Also, if I join 2 MP4's, and then try to join the new file with another MP4, it never seems to work.

So, I'm wondering if there are do's and don'ts in terms of joining MP4's. These are the do's I'm trying to follow.

DO: Files have same resolution.
Files use same audio encoding (mp3 only or aac only)

Are these necessary? Are there other practical/real/theortical restrictions?

Specifically, I can join the 2 MP4's that I have that just got encoded, but the video on the second half is borked in that it doesn't even show up. Any ideas why?

Kurtnoise
1st February 2006, 12:05
Which tool did you use to join your files ?

Dayvon
1st February 2006, 16:21
YAMB 1.4, I suppose I could just use Mp4Box, but I don't like to feed commandlines.

Both files play fine seperately, but when joined, no go.

Kurtnoise
1st February 2006, 20:27
Did you have an mp4box error return during joining process ?

(i.e check "View Extra Info when mp4box is running" to have some infos).

bond
1st February 2006, 20:36
you can only join streams that have identical format options used

Dayvon
2nd February 2006, 01:26
you can only join streams that have identical format options used

Can you be more specific? Do you mean x264 settings, or AVC and ASP files, or LC-AAC and HE-AAC files? 23.976 fps?

bond
2nd February 2006, 19:34
by default everything needs to be the same.
exceptions i know are framerate, b-frame number, everything that ratecontrol related (bitrate, quants), motion search

Dayvon
2nd February 2006, 19:39
Hmmm...
I'm pretty sure I didnt change my settings, yet the Return of the Kings EE discs don't want to join. Would a different deblocking strength do it?

bond
2nd February 2006, 19:44
different deblocking isnt allowed in one stream iirc

Dayvon
2nd February 2006, 19:49
I think that's it then. I know I had -3,-3 at one point and changed my mind to use -2,-2. Thanks for the info!!

EDIT: Just checked my log files and there is no no difference between the x264 commandlines used. Any other ideas?

I did try and split the Mp4's (chage the beginning of movie 2 and end of movie 1) to see if it had something to do with the frames referencing, or just the way that the black goes to black and stuff, but that didn't seem to help either.

Dayvon
2nd February 2006, 21:21
I just tried splitting the non-functioning joined file to let you see what going on, and I got this error message in YAMB's log:

More than one track has non-sync points - cannot split file

Here's the commandline I use to join the files:

"D:\Program Files\YAMB - MP4 Container\MP4Box.exe" -cat "H:\DVD TEMP\LOTR Final MP4's\Return_D1_DLP2.mp4" -cat "H:\DVD TEMP\LOTR Final MP4's\Return_D2_DLP2.mp4" -keepsys -new "H:\DVD TEMP\LOTR Final MP4's\LOTR -3 Temp.mp4"

Here's the log for the file joining

No suitable destination track found - creating new one (type vide)
No suitable destination track found - creating new one (type soun)

No suitable destination track found - creating new one (type vide)

Here's the information on the combined movie

* Movie Info *
Timescale 600 - Duration 04:23:02.633
Fragmented File no - 3 track(s)
File Brand isom - version 1
Created: Thu Feb 02 19:43:17 2006

File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD

Track # 1 Info - TrackID 1 - TimeScale 24000 - Duration 02:07:34.313
Media Info: Language "und" - Type "vide" - Sub Type "avc1" - 183518 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 880 x 360 - Profile Unknown @ Level 5.1
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 04:23:02.634
Media Info: Language "und" - Type "soun" - Sub Type "mp4a" - 739811 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x67
MPEG-2 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1

Track # 3 Info - TrackID 3 - TimeScale 24000 - Duration 02:15:28.912
Media Info: Language "und" - Type "vide" - Sub Type "avc1" - 194897 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 880 x 360 - Profile Unknown @ Level 5.1
Synchronized on stream 1

Here's information on Movie 1

* Movie Info *
Timescale 600 - Duration 02:07:34.313
Fragmented File no - 2 track(s)
File Brand isom - version 1
Created: Tue Jan 31 07:59:56 2006

File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD

Track # 1 Info - TrackID 1 - TimeScale 24000 - Duration 02:07:34.313
Media Info: Language "und" - Type "vide" - Sub Type "avc1" - 183518 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 880 x 360 - Profile Unknown @ Level 5.1
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 02:07:34.037
Media Info: Language "und" - Type "soun" - Sub Type "mp4a" - 358783 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x67
MPEG-2 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1

Movie 2

* Movie Info *
Timescale 600 - Duration 02:15:28.911
Fragmented File no - 2 track(s)
File Brand isom - version 1
Created: Wed Feb 01 05:27:03 2006

File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD

Track # 1 Info - TrackID 1 - TimeScale 24000 - Duration 02:15:28.912
Media Info: Language "und" - Type "vide" - Sub Type "avc1" - 194897 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 880 x 360 - Profile Unknown @ Level 5.1
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 02:15:28.597
Media Info: Language "und" - Type "soun" - Sub Type "mp4a" - 381028 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x67
MPEG-2 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1

Obviously the video files are not joining properly. I just checked this, I can go into MPC and change the video angle and watch the video from disc 2 over the audio of disc 1. Eventually disc 2 video overlaps the joining point. and MPC will not seek and play audio or video after the joining point. If MPC is playing as the joining point is crossed the audio does continue to play.

Does any of this info help?
___________________________________________________________________________________
EDIT: Just tried joining the h264 raw streams (I have MeGUI output set to RAW), and got this:

Adjusting AVC SizeLength to 16 bits
AVC-H264 import - frame size 880 x 360 at 25.000 FPS
Adjusting AVC SizeLength to 24 bits

Stream uses B-slice references - max frame delay 2
No suitable destination track found - creating new one (type vide)

Adjusting AVC SizeLength to 16 bits
AVC-H264 import - frame size 880 x 360 at 25.000 FPS

Stream uses B-slice references - max frame delay 2
No suitable destination track found - creating new one (type vide)

Saving H:\DVD TEMP\LOTR Final MP4's\LOTR h264 Only.mp4: 0.500 secs Interleaving

Why is the first stream AVC sizelength adjusted to 24 bits? That could easily be the problem. BTW The movie that was outputed had 2 angles.