У меня есть требование: получить изображение кадра перед воспроизведением потокового видео (m3u8), в качестве дисплея предварительного просмотра видео. Я использую AVPlayerItemVideoOutpucopyPixelBufferForItemTime: itemTimeForDisplay: только при воспроизведении потокового видео, чтобы получить изображение рамки, есть ли у вас другой способ? благодаря!!Как получить изображение кадра перед воспроизведением потокового видео m3u8? iOS
Это мой код:
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);