小编HSG*_*HSG的帖子

在播放m3u8视频流之前如何获取帧图像?的iOS

我有一个需求:在播放视频流(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);
Run Code Online (Sandbox Code Playgroud)

iphone frame video-streaming ios m3u8

7
推荐指数
1
解决办法
1419
查看次数

标签 统计

frame ×1

ios ×1

iphone ×1

m3u8 ×1

video-streaming ×1