【发布时间】:2016-08-22 14:13:56
【问题描述】:
我有一个需求:在播放视频流(m3u8)之前获取帧图像,作为视频预览显示。我使用 AVPlayerItemVideoOutpu copyPixelBufferForItemTime: itemTimeForDisplay: 只有在播放视频流到达帧图像时,你有其他方法吗?谢谢!!
这是我的代码:
CMTime itemTime = self.playerItem.currentTime;
CVPixelBufferRef pixelBuffer = [_playerItemVideoOutput copyPixelBufferForItemTime:itemTime itemTimeForDisplay:nil];
CIImage *ciImage = [CIImage imageWithCVPixelBuffer:pixelBuffer];
CIContext *temporaryContext = [CIContext contextWithOptions:nil];
CGImageRef videoImage = [temporaryContext
createCGImage:ciImage
fromRect:CGRectMake(0, 0,
CVPixelBufferGetWidth(pixelBuffer),
CVPixelBufferGetHeight(pixelBuffer))];
UIImage *uiImage = [UIImage imageWithCGImage:videoImage];
CGImageRelease(videoImage);
NSLog(@"uiImage:%@", uiImage);
【问题讨论】:
标签: ios iphone video-streaming frame m3u8