1

I have a problem when merging two h264/mp4 files with the same parameters except length. I'm using the command

mp4box -cat .... 

After that the video player's behaviour is strange: if I drag the time slider closer to the end of file it restarts the video; Sometimes the player shows an incorrect video file length; Also there is a problem with audio sync.

Input file sample parameters:

Movie Info * Timescale 90000 - Duration 00:15:00.214 
Fragmented File no - 2 track(s) 
File suitable for progressive download (moov before mdat) 
File Brand mp42 - version 0 Created: GMT Thu Jun 7 23:31:52 2012
File has root IOD (9 bytes) Scene PL 0xff - Graphics PL 0xff - OD PL 0xff 
Visual PL: ISO Reserved Profile (0x7f) 
Audio PL: High Quality Audio Profile @ Level 2 (0x0f) 
No streams included in root OD

iTunes Info: Encoder Software: HandBrake 0.9.6 2012022800

Track # 1 Info - TrackID 1 - TimeScale 90000 - Duration 00:14:59.858 
Media Info: Language "Undetermined" - Type "vide:avc1" - 21576 samples 
Visual Track layout: x=0 y=0 width=853 height=480 MPEG-4 
Config: Visual Stream - ObjectTypeIndication 0x21 AVC/H264 
Video - Visual Size 864 x 480 AVC Info: 1 SPS - 1 P
PS - Profile Main @ Level 3 NAL Unit length bits: 32 
Pixel Aspect Ratio 80:81 - Indicated track size 853 x 480 Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 44100 - Duration 00:15:00.214  
Media Info: Language "English" - Type "soun:mp4a" - 38769 samples MPEG-4 
Config: Audio Stream - ObjectTypeIndication 0x40 MPEG-4 
Audio MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100 Synchronized on stream 1

Output:

Movie Info * Timescale 90000 - Duration 00:29:24.136 
Fragmented File no - 3 track(s) 
File suitable for progressive download (moov before mdat) 
File Brand isom - version 1 Created: GMT Thu Jun 28 19:40:39 2012
File has root IOD (9 bytes) 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 90000 - Duration 00:19:36.968 
Media Info: Language "Undetermined" - Type "vide:avc1" - 28219 samples 
Visual Track layout: x=0 y=0 width=1024 height=576 MPEG-4 
Config: Visual Stream - ObjectTypeIndication 0x21 AVC/H264 
Video - Visual Size 1024 x 576 AVC Info: 1 SPS - 1 
PPS - Profile Main @ Level 3.1 NAL Unit length bits: 32 
Pixel Aspect Ratio 1:1 - Indicated track size 1024 x 576 Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 44100 - Duration 00:29:24.136 
Media Info: Language "English" - Type "soun:mp4a" - 75975 samples MPEG-4 
Config: Audio Stream - ObjectTypeIndication 0x40 MPEG-4 
Audio MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100 Synchronized on stream 1

Track # 3 Info - TrackID 3 - TimeScale 90000 - Duration 00:09:46.503 
Media Info: Language "Undetermined" - Type "vide:avc1" - 14062 samples 
Visual Track layout: x=0 y=0 width=1280 height=720 MPEG-4 
Config: Visual Stream - ObjectTypeIndication 0x21 AVC/H264 
Video - Visual Size 1280 x 720 AVC Info: 1 SPS - 1 
PPS - Profile Main @ Level 3.1 NAL Unit length bits: 32 
Pixel Aspect Ratio 1:1 - Indicated track size 1280 x 720 Synchronized on stream 1

And I do not understand, why in output file I have 2 video tracks?

1
  • Could you provide output of ffprobe -i ... for two input videos and one output videos?
    – Drake Guan
    Aug 4, 2014 at 5:05

1 Answer 1

1

I believe this statement:

I've a problem while merging 2 h264/mp4 files width the same parameters except length

is incorrect. In addition to length your video files have different picture dimensions, and that prevents the merge.

Your "input sample" shows a track size of 853x480. The output, however, shows that track #1 is 1024x576 and track #3 if 1280x720.

So clearly, the input file that you are showing in your example is not one of the files you merged in the output. There are at least three different files at play here, and each has a different picture size.

To be able to merge two files they must have the same picture size. As a test, you may want to try merging the same file twice.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.