我在想办法避开这件事。我想用AVAssetWriterInput在OSX上用Swift录制现场视频。
我创建了一个名为input
的AVAssetWriterInput实例,希望将数据附加到输入,然后将其写入文件。
我将expectsmediadatinrealtime设置为true
就像文档中所说的那样。当我运行应用程序时,出现以下错误:
Cannot append sample buffer: Cannot call method when status is 0
我使用captureOutput从相机获取数据。
func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, from connection: AVCaptureConnection!) {
// defined on load
// var input:AVAssetWriterInput
// Here I get an error
input.append(sampleBuffer)
}
AVAssetWriterInput将处理视频的编码吗?如果我还想流式传输数据,我应该使用2个写入程序吗?
谢谢
最佳答案
确保在input.append(sampleBuffer)之前调用AVAssetWriter.startWriting()