ZFScreenRecorder 0.0.5

ZFScreenRecorder 0.0.5

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2018年2月

zhfeng 维护。



  • 作者
  • zhfeng

基于 GPUImage 实现的录屏,性能很好。

安装

target 'TargetName' do
pod 'ZFScreenRecorder'
end

核心思路

ZFScreenVideoCamera 用于采集视频和音频信息,音频信息直接发送给 GPUImageMovieWriter;视频信息传入响应链作为源头,渲染后的视频信息再写入 GPUImageMovieWriter,文件保存在沙盒中。ZFScreenVideoCamera 的灵感来自 GPUImageVideoCamera。ZFScreenVideoCamera 和 GPUImageVideoCamera 类似,唯一不同的是视频采集方式。ZFScreenVideoCamera 使用截屏方式,GPUImageVideoCamera 使用摄像头。因此,ZFScreenVideoCamera 完美兼容 GPUImage 的所有功能,在视频处理上节省了大量开发时间。

流程图

image

使用

    _movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:finalSize];
    //截屏
    self.videoCamera = [[ZFScreenVideoCamera alloc] initWithView:screenView inRect:rect];
    self.videoCamera.runBenchmark = YES;
    [self.videoCamera addTarget:_movieWriter];
    //*/
    self.videoCamera.microphoneEnabled = microphoneEnabled;
    if (microphoneEnabled) {
        self.videoCamera.audioEncodingTarget = _movieWriter;
    }
    _movieWriter.encodingLiveVideo = YES;
    //开始录屏
    [self.videoCamera startScreenCapture];
    //视频写文件
    [_movieWriter startRecording];