在我的iOS应用中,我需要将图片保存为短视频片段。我有这个工作使用AVAssetWriter和AVAssetWriterPixelBufferAdaptor,感谢这个网站上的一些很棒的帖子,但我不得不捏造开始和结束会话时间,以及演示时间,因为我真的不理解它们。
以下片段创建了一个2秒的视频,但我通过反复试验设置了不同的时间。老实说,我不确定它为什么不创建一个3秒的视频。
// start session
videoWriter.movieFragmentInterval = CMTimeMake(1,600);
[videoWriter startWriting];
CMTime startTime = CMTimeMake(0, 600);
[videoWriter startSessionAtSourceTime:startTime];
while (1) {
if (![writerInput isReadyForMoreMediaData]) {
NSLog(@"Not ready for data");
} else {
[avAdaptor appendPixelBuffer:pixelBuffer
withPresentationTime:CMTimeMake(1200,600)];
break;
}
}
//Finish the session:
[writerInput markAsFinished];
CMTime endTime = CMTimeMake(1800, 600);
[videoWriter endSessionAtSourceTime:endTime];
[videoWriter finishWriting];
有人可以解释这个片段中的各种时间设置,还是指向一个有用的文档?我读过苹果文档,直到我睁大眼睛,但我猜他们比我现在拥有更多的知识。
TIA:John