音频与渲染的avMutableComposition中的视频不同步
-
10-10-2019 - |
题
我有一个 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
是开始时间,第二个是持续时间。换句话说,有两个音频+视频块,它们之前和之间有一些空的填充空间。
问题在于,当我导出此组合并播放导出的视频时,第二个音频段播放得太早了,好像在导出期间忽略了第二个空填充音频段。我获得了第一个视频段,并立即在第二个音频段,然后是第二个视频片段,而无需音频。
怎么了?
解决方案
问题在于出口。我使用的是通行导出模式,该模式仅将轨道段复制到生成的文件中。我猜想的时间邮票也被简单地复制了,这会在导出电影的时间表中造成混乱。将导出模式设置为除通道以外的其他问题可以解决问题。
不隶属于 StackOverflow