智能小视频Smartsmallvideo

    主要功能

    功能列表

    • 支持对录制好的视频进行处理
    • 支持只采集图像或声音
    • 支持录制时长设置
    • 支持录制速率设置
    • 支持指定帧率
    • 支持指定摄像头位置
    • 支持设置摄像头方向
    • 支持前后摄像头切换
    • 支持闪光灯开关
    • 支持对焦模式设置
    • 支持对焦点设置
    • 支持曝光模式设置
    • 支持测光点设置
    • 支持白平衡设置
    • 支持防抖模式设置
    • 支持平滑缩放设置
    • 支持缩放比例设置
    • 支持AEC(回声消除)
    • 支持AGC(自动增益控制)
    • 支持颜色调整(对比度、亮度、曝光度、色温、饱和度、锐度)
    • 支持美颜参数调整(美颜、美白、色调)
    • 支持绿幕抠图
    • 支持人脸贴纸的下载与切换
    • 支持背景音乐混合
    • 支持背景音乐音量设置
    • 支持麦克风音量设置
    • 支持自定义混音数据源
    • 支持自定义混音数据源音量设置
    • 支持混音后音量设置
    • 支持混响及参数设置
    • 支持自定义图像处理
    • 支持自定义声音处理
    • 支持GPUImage滤镜接入
    • 支持预览播放视频的速率设置
    • 支持预览视频倒放
    • 支持合成视频的速率设置
    • 支持合成视频的分辨率设置
    • 支持合成视频的码率设置
    • 支持合成视频的GOP设置
    • 支持合成视频的缩放模式设置
    • 支持合成视频的Profile设置
    • 支持合成视频倒放
    • 支持多段视频拼接能力

    组件介绍

    按照视频处理过程,SDK中组件划分参考下表:

    组件名 处理过程 提供能力 主要类
    AVSource 视频来源 实时视频录制
    相册视频读取
    BDCloudAVCaptureOutput
    BDCloudAVFileOutput
    AVFilters 特效处理 图像处理
    混音混响
    BDCloudAVImageFilter
    BDCloudAVAudioFilter
    AVFaceSticker 人脸贴纸 人脸贴纸的下载与滤镜设置 BDCloudAVSticker
    BDCloudAVMultiStickerFrameFilter
    AVPlayer 预览播放 短视频特效预览播放 BDCloudAVMoviePlayer
    AVWriter 视频合成 音视频数据合成 BDCloudAVMovieWriter
    AVEncoder 编码 H264编码
    AAC编码
    BDCloudAVH264Encoder
    BDCloudAVAACEncoder
    RTMPSession 推流,拉流 组包发送 BDRtmpSessionBasic
    AVLicense 鉴权认证 特色功能权限控制 BDCloudAVAuthentication

    为了方便开发者接入,SDK中还提供AVKit组件,以源代码的方式提供。针对视频采集5个典型场景:

    • BDCloudAVRecordSession 对应录制视频场景。提供摄像头预览,用户可以预设一些特效,并录制成视频的能力。
    • BDCloudAVLiveSession 对应直播推流场景。提供摄像头预览,用户可以预设一些特效,并实时推流的能力。
    • BDCloudAVPreviewSession 对应深度处理场景。提供读取视频,设置特效,并进行预览播放的能力。
    • BDCloudAVProcessSession 对应合成场景。提供对短视频预览效果满意后,生成最终短视频的能力。
    • BDCloudAVReplayKitLiveSession 对应录屏直播场景。提供摄像头预览,屏幕录制,用户可以预设一些特效,并实时推流的能力。

    SDK中还提供AVBidirectRTMPKit组件,针对双向互动直播的场景:

    • BDCloudAVBidirectRTMPSession 对应双向互动直播场景。提供摄像头预览,直播端观看端双向互动连麦,用户可以预设一些特效,并实时推、拉流的能力。

    以录制短视频为例,处理过程包括三个步骤:

    1. 录制: 从摄像头、麦克风获取数据
    2. 特效: 对得到的图像、声音进行各种特效处理
    3. 合成: 将处理后的图像、声音合成视频

    录制需要的四个组件连接起来:

    // 省略组件初始化过程
    BDCloudAVCaptureOutput* capturer;
    BDCloudAVImageFilter* imageFitler;
    BDCloudAVAudioFilter* audioFilter;
    BDCloudAVMovieWriter* writer;
    
    // 连接摄像头输出到图像Filter
    [capturer.videoOutput addTarget:imageFitler];
    
    // 连接麦克风输出到音频Filter
    [capturer.audioOutput addTarget:audioFilter];
    
    // 连接Filter和Writer
    [imageFitler addTarget:writer];
    [audioFilter addTarget:writer];
    一篇
    简介
    一篇
    SDK集成