繁体   English   中英

将缓冲区附加到 AVAssetWriterInputPixelBufferAdaptor *不* 按时间顺序?

[英]Append buffers to an AVAssetWriterInputPixelBufferAdaptor *not* chronologically?

我将 CVPixelBufferRefs 附加到连接到 AVAssetWriterInput 的 AVAssetWriterInputPixelBufferAdaptor 以使用 AVAssetWriter 写入文件。

所以,我打电话

[pixelAdaptor appendPixelBuffer:pxbuffer withPresentationTime:someCMTime];

它可以正常工作。

现在,我按顺序执行此操作,因此在 CMTimeZero 处,我添加第一帧,在 0.5 秒时添加另一帧,在 1 秒时再添加一帧,依此类推。

我想知道,我必须按顺序进行,还是也可以随机进行? 为了争论,反过来呢? 比如,先在 1s 处附加一个缓冲区,然后在 0.5s 处,然后在 0s 处?

我问的原因是,我试过了,但它崩溃了,但我不确定它是否崩溃是因为我试图在随机时间(非顺序)追加,或者是否有其他原因(如异步追加) ?

我只在输入告诉我 (readyForMoreMediaData) 时附加在串行调度队列上。

问题是:非顺序追加应该起作用,还是设计上不起作用?

谢谢你,马蒂亚斯

我刚刚收到 Apple 媒体工程师的回答:

“AVAssetWriter 需要按顺序接收帧。”

这清除了它:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM