要修剪视频,我使用了AVMutableCompositionTrack
的removeTimeRange方法。
[mCachedCompositionTrack removeTimeRange:CMTimeRangeMake(CMTimeMake(3, NSEC_PER_SEC), CMTimeMake(4, NSEC_PER_SEC))];
此处视频长度为10秒。并且在调用上述方法之后,视频长度应为9秒(具有timeRange 3-4的帧应从轨道中移除)。但它没有发生,而是总是返回带有空白帧的实际视频长度。
任何帮助都会得到满足。
答案 0 :(得分:2)
我相信您正在使用CMTimeMake
函数,但很难用如此少的代码来判断。
CMTimeMake
创造了一小部分时间。这应该对应于每秒的帧数。因此,如果你想,在这种情况下,切断一秒钟。但考虑帧速率也很重要。
如果帧速率是每秒30帧,我会按以下方式创建时间间隔:
CMTimeRangeMake(CMTimeMake(3*30, 30), CMTimeMake(4*30, 30))
你试过这个吗?