У меня есть требование: получить изображение кадра перед воспроизведением потокового видео (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);