1
有没有一种方法可以模糊在AVPlayerLayer中显示的内容?
内容是流的资产(M3U8),所以没有选项AVAssetReader等AVPlayerLayer的模糊内容
有没有一种方法可以模糊在AVPlayerLayer中显示的内容?
内容是流的资产(M3U8),所以没有选项AVAssetReader等AVPlayerLayer的模糊内容
尝试使用下一个解决方案来获得图像:
CIImage *snaphotImage = nil;
AVPlayerItem *item = ((AVPlayerLayer*)view.layer).player.currentItem;
if (item.status == AVPlayerItemStatusReadyToPlay)
{
AVURLAsset *asset = (AVURLAsset *)item.asset;
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
CGImageRef thumb = [imageGenerator copyCGImageAtTime:((AVPlayerLayer*)view.layer).player.currentTime
actualTime:NULL
error:NULL];
snapshotImage = [CIImage imageWithCGImage:thumb];
CGImageRelease(thumb);
}
,然后应用模糊它:
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"
keysAndValues:@"inputRadius", @9.0,
@"inputImage", snapshotImage, nil];
CIImage *resultImage = [filter outputImage];
UIImage *resultUIImage = [UIImage imageWithCIImage:resultImage];
这并不回答这个问题。简单地模糊视频的单个快照。 – arielyz 2015-02-04 15:59:32