首页 文章

音频与渲染的AVMutableComposition中的视频不同步

提问于
浏览
2

我有一个 AVMutableComposition ,其中包含以下曲目段:

video:
    empty: Y, {{0/1 = 0.000}, {48/100 = 0.480}}
    empty: N, {{48/100 = 0.480}, {600/600 = 1.000}}
    empty: Y, {{888/600 = 1.480}, {900/600 = 1.500}}
    empty: N, {{894/300 = 2.980}, {1040/600 = 1.733}}
audio:
    empty: Y, {{0/1 = 0.000}, {48/100 = 0.480}}
    empty: N, {{48/100 = 0.480}, {45056/44100 = 1.022}}
    empty: Y, {{66224/44100 = 1.502}, {65194/44100 = 1.478}}
    empty: N, {{894/300 = 2.980}, {77824/44100 = 1.765}}

时间表示为 CMTimeRange ,第一个 CMTime 是开始时间,第二个是持续时间 . 换句话说,有两个音频视频块,它们之前和之间有一些空的填充空间 .

问题在于,当我导出此合成并播放导出的视频时,第二个音频片段播放得太早,就好像导出期间忽略了第二个空填充音频片段一样 . 我得到第一个具有正确音频的视频片段,然后是第二个音频片段,然后是第二个视频片段,没有音频 .

可能有什么不对?

1 回答

  • 2

    问题在于出口 . 我正在使用传递导出模式,该模式仅将轨道段复制到生成的文件中 . 我想时间戳也被简单地复制了,这导致导出的电影的时间线混乱 . 将导出模式设置为除传递之外的其他模式可以解决问题 .

相关问题