GDLiveStreaming简介
集成GDLiveStreaming步骤
- 创建项目
- 打开终端
cd
到项目目录
- 执行
pod init
生成 Profile
文件
- 在
target 你的项目名称 do
与 end
直接添加
pod 'GDLiveStreaming', :git =>
pod 'VideoCore', :git =>
pod 'glm', :podspec =>
- 执行
pod install
命名,等待其安装完毕,打开白底的你的名称.xcworkspace
文件. 到此GDLiveStreaming
安装完毕.
GDLiveStreaming基本使用
- 导入如下头文件
#import <GPUImage/GPUImageVideoCamera.h>
#import <GPUImage/GPUImageView.h>
#import <GDLiveStreaming/GDLRawDataOutput.h>
- 实现思路
- 创建视频摄像头
- 设置摄像头帧率
- 设置摄像头输出图片的方向
- 创建用于展示视频的GPUImageView
- 添加GPUImageView为摄像头的的输出目标
- 创建
GDLRawDataOutput
对象
- 添加数据输出对象为摄像头输出目标
- 开始捕获视频
- 开始上传视频
- 代码实现
// 1. 创建视频摄像头
self.camera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset1280x720
cameraPosition:AVCaptureDevicePositionBack];
// 2. 设置摄像头帧率
self.camera.frameRate = 25;
// 3. 设置摄像头输出视频的方向
self.camera.outputImageOrientation = UIInterfaceOrientationPortrait;
// 4.0 创建用于展示视频的GPUImageView
GPUImageView *imageView = [[GPUImageView alloc] init];
imageView.frame = self.view.bounds;
[self.view addSubview:imageView];
// 4.1 添加GPUImageView为摄像头的的输出目标
[self.camera addTarget:imageView];
// 5. 创建原始数据输出对象
GDLRawDataOutput *output = [[GDLRawDataOutput alloc] initWithVideoCamera:self.camera withImageSize:CGSizeMake(720, 1280)];
// 6. 添加数据输出对象为摄像头输出目标
[self.camera addTarget:output];
// 7.开始捕获视频
[self.camera startCameraCapture];
// 8.开始上传视频
[output startUploadStreamWithURL:@"rtmp://192.168.41.35:1935/gzhm" andStre amKey:@"room"];
GDLiveStreaming扩展
/** 开始捕获
*/
- (void)startCameraCapture;
/** 停止捕获
*/
- (void)stopCameraCapture;
/**暂停捕获
*/
- (void)pauseCameraCapture;
/**恢复捕获
*/
- (void)resumeCameraCapture;
///前置摄像头与后置摄像头切换
- (void)rotateCamera
///开始上传视频流, streamKey是拼接在rtmpUrl后面的路径名称,可以理解为视频的直播中的房间编号.
- (void)startUploadStreamWithURL:(NSString *)rtmpUrl andStreamKey:(NSString *)streamKey;
///停止上传视频流
- (void)stopUploadStream;