AVPlayer 截取视频流的当前帧
来源:互联网 发布:淘宝分销商发货流程 编辑:程序博客网 时间:2024/04/28 19:23
*在给应用截图是发现系统截图方法不能截取播放器的画面,所以需要手动截取视频当前帧的画面。
本文说明的是AVPlayer的视频流截图方法。
截取视频画面总共分三步
一、声明所需属性
@interface ViewController (){ AVPlayer *_player; AVPlayerItemVideoOutput *_videoOutPut; }@end
二、实例化
//初始化输出流 _videoOutPut = [[AVPlayerItemVideoOutput alloc] init]; //初始化播放地址 AVPlayerItem *item = [AVPlayerItem playerItemWithURL:[NSURL URLWithString:@"视频地址"]]; //添加输出流 [item addOutput:_videoOutPut]; //初始化播放器 _player = [[AVPlayer alloc] initWithPlayerItem:item]; //展示播放器到视图上。。。。
三、获取关键帧画面
-(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))]; //当前帧的画面 UIImage *currentImage = [UIImage imageWithCGImage:videoImage]; CGImageRelease(videoImage);}
1 0
- AVPlayer 截取视频流的当前帧
- 截取高清的当前屏幕
- CreateProcess的当前进程的当前目录
- AVPlayer 播放视频
- AVPlayer自定义视频
- AVPlayer视频播放
- AVPlayer播放视频
- AVPlayer进行视频播放
- 使用AVPlayer播放视频
- AVPlayer视频播放
- 视频播放–AVPlayer
- AVPlayer实现视频播放
- 视频播放器AVPlayer
- 视频播放器 AVPlayer
- 用AVPlayer播放视频
- SCS的当前情况
- mysql的当前用户
- servlet 的当前路径
- 数据库mysql的基础结构
- MySQL安装
- React学习笔记—虚拟DOM
- 备忘[cocos lua 绑定c方法] 3.10
- 简单楼层效果
- AVPlayer 截取视频流的当前帧
- 基础数据库查询优化
- mongdb模糊查询与分页
- TCP窗口扩大选项
- 倒计时效果
- mysql日期类型比较
- git命令之git tag 给当前分支打标签
- 张小龙:微信小程序服务范围重大更新,小程序1月9日发布
- Spring in Action 前言