上云无忧 > 文档中心 > 百度智能云短视频 SDK - IOS版本开发接入文档
短视频 SDK
百度智能云短视频 SDK - IOS版本开发接入文档

文档简介:
百度云短视频产品(SDK)专注移动端视音频场景研发,提供端到端的一站式视音频技术解决方案,不限于采集、录制、合成、上传、存储、分发,极大降低客户接入音视频产品的技术门槛。 1.1 注意事项 1.1.1 头文件引用说明 本SDK使用C++开发,对于引用头文件的类文件,需要将.m文件修改成.mm文件,以适配C++。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

一、概述

百度云短视频产品(SDK)专注移动端视音频场景研发,提供端到端的一站式视音频技术解决方案,不限于采集、录制、合成、上传、存储、分发,极大降低客户接入音视频产品的技术门槛。 1.1 注意事项 1.1.1 头文件引用说明 本SDK使用C++开发,对于引用<BDCloudAVContext/BDCloudAVContext.h>头文件的类文件,需要将.m文件修改成.mm文件,以适配C++。 1.1.2 运行环境 iOS9系统以上,Xcode->General->Depolyment Info->Depolyment Target

二、快速接入

请从百度云开发者中心下载最新版本拍摄器。

在使用拍摄器SDK,需要申请产品对应的授权文件,如无授权,产品无法正常使用。 申请成功后,会得到一个licenseID和对应授权文件下载地址,用户下载成功后,需要手动添加到项目工程中 注意:授权文件后缀名为.license。

三、使用说明

3.1 录制设置

录制的相关接口是在BDCloudAVStreamContext类里,包括采集预览(startPreview),录制(startRecording:),添加视频美颜(applyBeautyBaseVideoFx)等。注意:百度云拍摄器SDK所有的类都是以“BDCloud”开头。 3.1.1 BDCloudAVStreamContext类 BDCloudAVStreamContext是拍摄器SDK的流媒体上下文类,是接入拍摄器SDK产品的入口。开始使用前,需要先初始化BDCloudAVStreamContext类,注意BDCloudAVStreamContext是单例类。

BDCloudAVStreamContext初始化代码如下

_avStreamContext = [BDCloudAVStreamContext sharedInstance]; BDCloudAVStreamContext销毁代码如下

[_avStreamContext destroyInstance]; _avStreamContext = nil;

注意:BDCloudAVStreamContext初始化后,需要调用verifySDKLicense: completionHandler:验证客户的合法性,其中appid即用户申请的licenseID,若未申请授权,请参考快速接入

3.1.2 BDCloudAVStreamSettings类配置

BDCloudAVStreamSettings是拍摄器SDK配置项,支持客户调整摄像头位置、摄像头类型、视频维度(分辨率)、视频帧速率、视频帧码率及手电筒、对焦、曝光补光、预览放大缩小、预览模式。

考虑到配置项较多且偏专业,拍摄器SDK提供默认配置项,代码如下:

BDCloudAVStreamSettings *settings = [BDCloudAVStreamSettings defaultSettings];

3.1.3 预览前设置

完成流媒体上下文初始化及配置项后,下面就要创建预览前配置,创建拍摄器及预览画面,代码如下:

// 使用配置项创建拍摄器
_avStreamContext = [_avStreamContext initWithCaptureConfig:settings];
// 获取拍摄器预览界面
UIView *preview = _avStreamContext.view;
// 设置预览界面展示区域
preview.frame = self.view.bounds;
// 设置拍摄器回调代理
_avStreamContext.delegate = self;
// 将预览界面添加到用户控制器上
[self.view insertSubview:preview atIndex:0];

3.1.4 启动预览

启动预览对应startPreview接口,此接口发检查用户照相机和麦克风系统权限。

3.1.5 录制与停止录制

调用录制接口前startRecording: recordCallBack:,需要先创建录制文件的路径,建议用户使用.MOV和.mp4文件。录制接口在写入文件的同时,会不断回调给使用方,用户需要关心回调状态BDCloudAVStreamFileOutputState。

代码示例如下:

[[BDCloudAVStreamContext sharedInstance] startRecording:recordVideoPath recordCallBack:
^(BDCloudAVStreamFileOutputState state, double recordSecond, NSError *error) {

    switch (state) {

        case BDCloudAVStreamFileOutputStateStarting:
            break;
        case BDCloudAVStreamFileOutputStateStarted:
            break;
        case BDCloudAVStreamFileOutputStateCancel:
            break;
        case BDCloudAVStreamFileOutputStateError:
            //错误信息
            break;
        case BDCloudAVStreamFileOutputStateEnding:
            //录制结束
            break;
        case BDCloudAVStreamFileOutputStateEnded:
            break;
        default:
            break;
    }

}];

停止录制,代码示例如下:

[[BDCloudAVStreamContext sharedInstance] stopRecording];

3.1.6 录制设置

设置闪光灯是否开启,代码示例如下:

AVCaptureFlashMode      _flashMode; 
   _flashMode = _flashMode == AVCaptureFlashModeOff ? AVCaptureFlashModeOn : AVCaptureFlashModeOff;
    [[BDCloudAVStreamContext sharedInstance] toggleFlash:_flashMode];
    if (_flashMode == AVCaptureFlashModeOff) {
        [[BDCloudAVStreamContext sharedInstance] toggleTorch:NO];
    }else {
        [[BDCloudAVStreamContext sharedInstance] toggleTorch:YES];
    }

设置自动对焦

[[BDCloudAVStreamContext sharedInstance] setCameraContinuousAutofocus:YES];
    [[BDCloudAVStreamContext sharedInstance] setCameraFocusPointOfInterest:[BDCloudAVStreamContext
 sharedInstance].view.center];

设置曝光点

[[BDCloudAVStreamContext sharedInstance] setCameraExposurePointOfInterest:
[BDCloudAVStreamContext sharedInstance].view.center];

设置缩放

[[BDCloudAVStreamContext sharedInstance] setCameraZoomFactor:1.3];

3.2 美颜设置

添加美颜(applyBeautyBaseVideoFx)特效后,在预览窗口就可以看到美颜效果。录制视频时,用户需要根据手机性能任意选择带美颜录制或者不带美颜录制。 美颜特效分为基础美颜(美白、磨皮)和高级美颜(大眼、瘦脸)。

开启美颜,代码示例如下:

//开启美颜 [_avStreamContext applyBeautyBaseVideoFx]; //调整美白 [[BDCloudAVStreamContext sharedInstance] adjustBeautyWhiteLevel:newValue]; //调整磨皮 [[BDCloudAVStreamContext sharedInstance] adjustBeautyBlurLevel:newValue]; //调整大眼 [[BDCloudAVStreamContext sharedInstance] adjustBeautyEnlargingLevel:newValue]; //调整瘦脸 [[BDCloudAVStreamContext sharedInstance] adjustBeautyThinningLevel:newValue];

注意:需要在初始化拍摄器后开启美颜。 使用高级美颜时,需要申请对应权限,免费版本不支持此功能

3.3 滤镜设置

开启滤镜(applyEffect:)特效后,在预览窗口就可以看到滤镜效果。

代码示例如下:

[[BDCloudAVStreamContext sharedInstance] applyEffect:filterID]; 注意:当前filterID仅支持内置滤镜使用,用户在申请授权成功后,会得到滤镜资源包,具体使用可以参考短视频SDK DemoD拍摄模块

3.4 贴纸设置

开启滤镜(applyLocalStickerVideoFx: stickerModelPath: stickerType: stickerIdentify:)特效后,在预览窗口就可以看到贴纸效果。

代码示例如下:

// 内置贴纸
    NSString *name = [NSString stringWithFormat:@"AR.bundle/%@.zip", stickerID];

    NSString *path = [[[NSBundle mainBundle]resourcePath] stringByAppendingPathComponent:name];

    BOOL isExist = [[NSFileManager defaultManager] fileExistsAtPath:path];

    //解压

    if (isExist) {

        NSString *destPath = [self localPath];

        destPath = [destPath stringByAppendingPathComponent:stickerID];

        BOOL bSucess = [self unzipStickerPackage:path destPath:destPath];

        if (bSucess) {
            // 开启贴纸
            [[BDCloudAVStreamContext sharedInstance] applyLocalStickerVideoFx:destPath 
stickerModelPath:@"" stickerType:@"10" stickerIdentify:@"10273"];

        }

    } else {
            // 关闭贴纸
        [[BDCloudAVStreamContext sharedInstance] disabledStickerVideoFx];

    }

相似文档
  • 鉴权认证: 在使用拍摄器SDK前,需要申请产品对应的授权文件,如无授权,产品无法正常使用。 申请成功后,会得到一个licenseID和对应授权文件下载地址,用户下载后,需要手动添加到项目工程中。
  • 合成模块负责将编辑后的视频导出成本地视频。 导出预览视频: 导出预览视频,将媒体轨道中心的所管理的视频、音频、字幕导出本地,默认是.mp4文件。导出时,需要暂停预览。
  • 转场的相关接口在VideoProducer.framewrok中RMVPMediaTrack.h头文件。 添加基础转场: 添加基础转场,目前支持淡入、闪黑、闪白、模糊、横滑、纵滑。添加转场,需要传入媒体轨道上插入点(即,片段相应位置,这里可参考转场UI逻辑)。
  • 创建字幕轨道: 创建字幕轨道,使用字幕相关功能,需要创建字幕轨并添加到媒体轨道中心,并创建一个字幕片段,配合字幕UI逻辑使用,详见智能小视频源码,涉及组件BDHKVlogSubtitlesView(字幕位置),BDMVSubtitleInputAccessoryView(字幕输入框),BDMVInputEventBottomBar(字幕确认框)。
  • 编辑的相关接口在VideoProducer.framewrok中。 视频预览: 完成拍摄或选取本地视频,将实时预览窗口与创建的媒体轨道中心(MediaTrackCenter)连接,对已完成拍摄的视频或本地视频根据需要进行编辑,然后生成视频输出.mov格式的文件。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部