if (!_player) {
//初始化輸出流
_videoOutPut = [[AVPlayerItemVideoOutput alloc] init];
//初始化播放地址
//http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
AVPlayerItem *item = [AVPlayerItem playerItemWithURL:[NSURL URLWithString:@"http://192.168.1.160:81/stream"]];
//添加輸出流
[item addOutput:_videoOutPut];
//初始化播放器
_player = [[AVPlayer alloc] initWithPlayerItem:item];
_player.volume = 0;
//顯示畫面
AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:_player];
//視頻填充模式
layer.videoGravity = AVLayerVideoGravityResizeAspect;
//設(shè)置畫布frame
layer.frame = CGRectMake(0, 0, mWidth, mHeight);
//添加到當(dāng)前視圖
[self.view.layer addSublayer:layer];
}
//開始播放
[_player play];
-(void)getCurrentImage
{
CMTime itemTime = _player.currentItem.currentTime;
CVPixelBufferRef pixelBuffer = [_videoOutPut 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))];
//當(dāng)前幀的畫面
UIImage *currentImage = [UIImage imageWithCGImage:videoImage];
NSData *imgData = UIImageJPEGRepresentation(currentImage, 0.5);
//當(dāng)前的圖片
NSString *savedImagePath = [NSString stringWithFormat:@"%@/robot.jpg",_documentPath];
[imgData writeToFile:savedImagePath atomically:YES];
[[NSNotificationCenter defaultCenter] postNotificationName:@"CameraAreadyNotif" object:nil];
CGImageRelease(videoImage);
}