【问题标题】:Append buffers to an AVAssetWriterInputPixelBufferAdaptor *not* chronologically?将缓冲区附加到 AVAssetWriterInputPixelBufferAdaptor *not* 按时间顺序?
【发布时间】:2021-01-21 10:38:40
【问题描述】:

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

所以,我在打电话

[pixelAdaptor appendPixelBuffer:pxbuffer withPresentationTime:someCMTime];

它可以正常工作。

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

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

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

只有当输入告诉我(readyForMoreMediaData)时,我才会在串行调度队列上追加。

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

谢谢, 马蒂亚斯

【问题讨论】:

    标签: ios objective-c swift macos avfoundation


    【解决方案1】:

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

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

    这清除了它:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多