将 h264/MP4 文件与 mp4box 合并会导致搜索和同步问题

将 h264/MP4 文件与 mp4box 合并会导致搜索和同步问题

在合并两个除长度外参数相同的 h.264/MP4 文件时,我遇到了问题。

我正在合并mp4box -cat ...。之后,视频播放器的行为变得很奇怪:如果我将时间滑块拖到文件末尾附近,它会重置以重新启动视频,有时,播放器会显示错误的视频文件长度。

音频同步也存在问题。

输入文件示例参数:

* 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 信息:

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 PPS - 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

输出:

* 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

我不明白:为什么输出中有 2 个视频轨道?

答案1

您的视频流具有不同的帧大小。

第一个是 1024x576(看起来像 PAL 576 隔行扫描),而第二个是 1280x720(HD 720 逐行扫描)。

无论如何,这两者可能不适合一起工作,这可以解释您所看到的错误。

相关内容