AwemeLike icon indicating copy to clipboard operation
AwemeLike copied to clipboard

作者, 解决Seek 在大文件的问题 , 你可以尝试看看 avplayer 中copyPixelBufferForItemTime 这个方法可以获取相应的pixelBuffer

Open kunlunhundun opened this issue 4 years ago • 0 comments

可以通过 AVPlayer 来加载文件, 滑动的时候用avplayer的seek , 图像来自于通过时间进行获取 CVPixelBufferRef _player = [[AVPlayer alloc]initWithURL:[NSURL fileURLWithPath:videoUrl]]; NSDictionary * pixelBufferDict = @{(__bridge NSString*)kCVPixelBufferPixelFormatTypeKey:@(kCVPixelFormatType_32BGRA)}; _videoOutput = [[AVPlayerItemVideoOutput alloc]initWithPixelBufferAttributes:pixelBufferDict]; [_player.currentItem addOutput:_videoOutput];

CMTime itemTime = _playerItem.currentTime;
if ([_videoOutput hasNewPixelBufferForItemTime:itemTime]) {
    CMTime presentationItemTime = kCMTimeZero;
    CVPixelBufferRef pixelBuffer = [_videoOutput copyPixelBufferForItemTime:itemTime itemTimeForDisplay:&presentationItemTime];
}

kunlunhundun avatar Sep 08 '21 02:09 kunlunhundun