AVPlayerItemVideoOutput的copyPixelBuffer方法始终返回1280x720。
创始人
2024-11-13 03:00:08
0

要解决AVPlayerItemVideoOutput的copyPixelBuffer方法始终返回1280x720的问题,您可以使用以下代码示例来指定所需的输出大小:

import AVFoundation

// 创建一个 AVPlayerItemVideoOutput 实例
let videoOutput = AVPlayerItemVideoOutput(pixelBufferAttributes: [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA])

// 指定输出的大小为 1920x1080
let outputSize = CGSize(width: 1920, height: 1080)

// 获取 AVPlayerItem 的当前视频轨道
let videoTrack = playerItem.tracks(withMediaType: .video).first

// 计算视频的自然大小
let naturalSize = videoTrack?.naturalSize

// 计算视频的缩放比例
let scale = max(outputSize.width / naturalSize.width, outputSize.height / naturalSize.height)

// 计算要渲染的视频大小
let scaledSize = CGSize(width: naturalSize.width * scale, height: naturalSize.height * scale)

// 创建一个 AVPlayerItemVideoOutput 实例并指定输出大小
let videoOutput = AVPlayerItemVideoOutput(pixelBufferAttributes: [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA,
                                                                   kCVPixelBufferWidthKey as String: scaledSize.width,
                                                                   kCVPixelBufferHeightKey as String: scaledSize.height])

// 将 AVPlayerItemVideoOutput 添加到 AVPlayerItem 中
playerItem.add(videoOutput)

// 在需要时使用 copyPixelBuffer 方法来获取指定大小的视频帧
let pixelBuffer = videoOutput.copyPixelBuffer(forItemTime: playerItem.currentTime(), itemTimeForDisplay: nil)

请注意,上述代码中的 playerItem 是您的 AVPlayerItem 实例,您需要将其替换为您实际使用的实例。此外,您可能还需要根据需要在代码中添加其他逻辑和错误处理。

相关内容

热门资讯

开挂辅助软件"hhp... 开挂辅助软件"hhpoker辅助软件是真的么"开挂(透视)辅助工具(真的有挂)>>您好:软件加薇13...
开挂辅助神器"uup... >>您好:uupoker有透视吗确实是有挂的,很多玩家在这款uupoker有透视吗游戏中打牌都会发现...
开挂辅助安装"wpk... 您好:wpk辅助软件这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特...
开挂辅助工具"hhp... 大家好,今天小编来为大家解答hhpoker免费透视脚本这个问题咨询软件客服可以免费测试直接加微信(1...
开挂辅助神器"aap... 开挂辅助神器"aapoker辅助软件合法吗"开挂(透视)辅助下载(有挂方法)《详细加薇1367043...
开挂辅助安装"wep... 开挂辅助安装"wepoker辅助器安装包定制"开挂(透视)辅助神器(有挂技巧) >>您好:软件加薇1...
开挂辅助神器"pok... 开挂辅助神器"pokemmo修改器手机版"开挂(透视)辅助工具(了解有挂);无需打开直接搜索薇:13...
开挂辅助软件"wep... 开挂辅助软件"wepoker辅助器如何使用"开挂(透视)辅助工具(有挂讲解) 了解更多开挂安装加(1...
开挂辅助插件"wpk... 您好:这款wpk软件是正规的吗游戏是可以开挂的,确实是有挂的,很多玩家在这款wpk软件是正规的吗游戏...
开挂辅助安装"wep... 您好:这款wepoker亲友圈有用吗游戏是可以开挂的,确实是有挂的,很多玩家在这款wepoker亲友...