AVAssetWriterInputReadyForMoreMediaData总为false。
创始人
2024-11-12 20:30:21
0

问题出现的原因可能是写入速度过慢,导致下一个可用的缓冲区未能及时提供给AVAssetWriterInput。可以通过以下代码解决:

//初始化AVAssetWriterInput对象和output设置
let videoOutputSettings: Dictionary = [
    AVVideoCodecKey: AVVideoCodecType.h264,
    AVVideoWidthKey: frameSize.width,
    AVVideoHeightKey: frameSize.height
]

videoWriterInput = AVAssetWriterInput(mediaType: AVMediaType.video, outputSettings: videoOutputSettings)
let videoInputQueue = DispatchQueue(label: "video input queue")
videoWriterInput!.expectsMediaDataInRealTime = true

//将AVAssetWriterInput与AVAssetWriter绑定
let videoOutput = AVAssetWriterInputPixelBufferAdaptor(assetWriterInput: videoWriterInput!, sourcePixelBufferAttributes: nil)
videoWriter?.add(videoWriterInput!)

//在capture输出数据中调用下面的方法来写入视频数据到AVAssetWriterInput中
func writeVideo(buffer: CVPixelBuffer, time: CMTime) -> Void {
    if (videoWriterInput!.isReadyForMoreMediaData) {
        videoInputQueue.sync {
            if let adpator = videoOutput {
                adpator.append(buffer, withPresentationTime: time)
            }
        }
    }
}

在以上代码中,我们使用videoInputQueue来确保append()请求按照顺序调用,并且我们检查了AVAssetWriterInput的可用性,以确保不会在未准备好时提供更多的数据。

相关内容

热门资讯

近年来!奇迹陕西怎么用挂(辅助... 近年来!奇迹陕西怎么用挂(辅助)确实存在有辅助下载(有挂方法)-哔哩哔哩1)奇迹陕西怎么用挂辅助插件...
围绕透视问题!雀姬胡牌辅助(辅... 围绕透视问题!雀姬胡牌辅助(辅助)果然真的有辅助平台(有挂存在)-哔哩哔哩一、雀姬胡牌辅助可以开透视...
有了最新消息!兴动互娱插件有挂... 有了最新消息!兴动互娱插件有挂吗(辅助)竟然真的有辅助下载(确实有挂)-哔哩哔哩亲,关键说明,兴动互...
有了最新消息!微信蜀山四川修改... 有了最新消息!微信蜀山四川修改器先测试(辅助)都是真的是有辅助安装(有挂秘诀)-哔哩哔哩1、该软件可...
推出新举措!新道游正版开挂(辅... 推出新举措!新道游正版开挂(辅助)一直真的有辅助平台(有挂详细)-哔哩哔哩1、新道游正版开挂免费辅助...
据监测!家乡大贰小程序靠谱吗(... 据监测!家乡大贰小程序靠谱吗(辅助)竟然有挂辅助安装(有挂解密)-哔哩哔哩1、首先打开家乡大贰小程序...
推出新举措!小南娱乐科技(辅助... 推出新举措!小南娱乐科技(辅助)真是存在有辅助插件(有挂教学)-哔哩哔哩1、完成小南娱乐科技辅助器v...
据玩家消息!边锋微信小程序(辅... 据玩家消息!边锋微信小程序(辅助)原来是有辅助脚本(有挂秘笈)-哔哩哔哩据玩家消息!边锋微信小程序(...
截至发稿!家乡大二辅助工具(辅... 截至发稿!家乡大二辅助工具(辅助)果然真的有辅助神器(有挂教学)-哔哩哔哩1、完成家乡大二辅助工具辅...
今年以来!多乐找刺激技巧辅助(... 今年以来!多乐找刺激技巧辅助(辅助)本来真的有辅助平台(有挂方式)-哔哩哔哩亲,关键说明,多乐找刺激...