iOS直播(二)GPUImage音视频采集

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dolacmeng/article/details/81332531

GPUImage是一个开源的基于GPU的第三方图像处理库,可以对图像进行美化、添加各种滤镜等。GPUImage的视频采集部分的源代码,也是和上文中的AVFoundation实现采集(https://blog.csdn.net/dolacmeng/article/details/81268622)的步骤是一致的。下面例子是进行视频采集并添加增亮滤镜:

1.用cocoapods集成。
(1)用Xcode新建项目LiveGPUImageDemo,控制台cd到项目路径,用pod init初始化:

pod init

(2)此时打开项目根目录的Podfile文件,添加内容:

platform :ios, '9.0'
use_frameworks!

target 'LiveGPUImageDemo' do

    pod 'GPUImage'

end

(3)控制台执行下载集成命令:

pod install

(4)打开LiveGPUImageDemo.xcworkspace工作空间

2、完整代码:

import UIKit
import GPUImage

class ViewController: UIViewController {

    fileprivate lazy var camera : GPUImageVideoCamera = GPUImageVideoCamera(sessionPreset: AVCaptureSession.Preset.high.rawValue, cameraPosition: .back)
    fileprivate lazy var filter = GPUImageBrightnessFilter()

    override func viewDidLoad() {
        super.viewDidLoad()

        //设置摄像头方向为垂直
        camera.outputImageOrientation = .portrait

        //1.添加滤镜
        camera.addTarget(filter)
        camera.delegate = self

        //2.添加一个用于实时显示画面的GPUImageView
        let showView = GPUImageView(frame: view.bounds)
        view.addSubview(showView)
        filter.addTarget(showView)

        //3.开始采集画面
        camera.startCapture()
    }

}

//采集回调
extension ViewController : GPUImageVideoCameraDelegate{
    func willOutputSampleBuffer(_ sampleBuffer: CMSampleBuffer!) {
        print("采集到画面")
    }
}

猜你喜欢

转载自blog.csdn.net/dolacmeng/article/details/81332531