全部产品
云市场

导入编辑

更新时间:2019-07-01 11:44:01

简介

阿里云短视频SDK编辑模块提供了视频特效的编辑能力。基础版目前不支持编辑模块,标准版具备滤镜、音乐、特效、变速、转场、涂鸦效果,专业版在上述能力上增加MV、动图、字幕效果。开发者可以通过简单的几步快速让自己的App拥有专业视频编辑的能力,还可以通过配置文件个性化定制视频编辑页面的UI风格。同时,您也可以参考Demo,使用SDK深度定制属于您自己的编辑模块。

说明:您需要在项目内新建一个AliyunVideo文件夹,所有从Demo复制的源码放入新建的AliyunVideo文件夹,以便问题排查及后续代码更新维护。

步骤1. 拷贝SDK文件拷贝

  • 短视频编辑模块需要依赖两个文件:
文件名称 类型 描述
AliyunVideoSDKPro.framework 动态库 短视频SDK,依赖alivcffmpeg。
alivcffmpeg.framework 动态库 ffmepg库
  • 添加文件到工程环境,相关文件如下图:
    WX20181022-175643@2x.png

步骤2. 拷贝业务代码文件

要拷贝的代码文件分3部分:

  • 整个工程依赖的基础代码与公有组件

    如图所示,您需要把以下红框里文件拷贝到工程中。

    共有组件

文件 描述
Categories文件夹 工程用到的分类集合
Config文件夹 工程配置集合
Helpers文件夹 帮助类集合
Utilites文件夹里的4个类 相关工具类
  • 短视频业务依赖的业务基础代码和公有组件

    如图所示,您需要把以下红框里文件拷贝到工程中。

    业务公有

文件 描述
AlivcShortVideoCommonFile文件夹 整个短视频业务(基础版、标准版和专业版)依赖的公有组件集合
Common文件夹 短视频专业版业务上的组件集合
AlivcShortVideoResource文件夹 短视频业务的资源集合
Utilites文件夹里的4个类 相关工具类

资源文件夹的引用方式是references方式,如下图: WX20181019-225713@2x.png

添加文件夹具体操作方式如下图:WX20181019-230720@2x.png

  • 视频编辑本身的代码

    如图所示,您需要把以下红框里文件拷贝到工程中。

    addVideoEdit

文件 描述
VideoEdit文件夹 视频编辑具体的业务代码

步骤3. 配置pch文件

  • 向后缀名.pch文件添加以下引用:
    1. #import "AlivcImage.h"
    2. #import "AlivcMacro.h"

如果您的工程环境中没有后缀名.pch文件,请从我们提供的Demo中拷贝PrefixHeader.pch文件到工程中并保留以上引用。

  • 单击TARGETSBuild Settings进行如图设置:WX20181020-002351@2x.png

Prefix Header参数对应工程环境PrefixHeader.pch文件的路径,例如$(SRCROOT)/自己的目录文件/PrefixHeader.pch

步骤4. 配置工程环境

  • 打开工程环境,选中目标target,单击GeneralEmbededed Binaries+,导入AliyunVideoSDKPro.framework和alivcffmpeg.framework两个文件,可参考下图:undefined

    undefined

  • 打开工程,选中目标target,单击GeneralLinked Frameworks And Libraries+,依赖以下系统库:

    • libz.tbd
    • ImageIO.framework
    • CoreMedia.framework
    • CoreVideo.framework
    • VideoToolBox.framework
    • MediaPlayer.framework
    • OpenAL.framework
    • libc++.tbd
    • libsqlite3.tbd
    • libiconv.tbdundefined
  • 单击Build SettingLinking,设置Other Linker Flags,添加 $(inherited)-ObjC选项。undefined

  • 单击Build SettingBuild Options,配置Enable Bitcde参数为NOundefined

  • 编辑info.plist,申请相机、相册、音乐权限:

    1. * Privacy - NSCameraUsageDescription
    2. * Privacy - NSPhotoLibraryAddUsageDescription
    3. * Privacy - NSPhotoLibraryUsageDescription
    4. * Privacy - NSAppleMusicUsageDescription

    也可以在info.plist -> source code中,加入以下代码:

    1. <key>NSCameraUsageDescription</key>
    2. <string></string>
    3. <key>NSPhotoLibraryAddUsageDescription</key>
    4. <string></string>
    5. <key>NSPhotoLibraryUsageDescription</key>
    6. <string></string>
    7. <key>NSAppleMusicUsageDescription</key>
    8. <string></string>

步骤5. 集成Pod

  • 您需要在Podfile文件内增加以下引用:

    1. pod 'JSONModel','~> 1.7.0'
    2. pod 'SDWebImage', '~> 4.0'
    3. pod 'FMDB', '~> 2.5'
    4. pod 'TTRangeSlider','~> 1.0.6'
    5. pod 'ZipArchive', '~> 1.4.0'
    6. pod 'MBProgressHUD', '~> 1.1.0'
    7. pod 'LXReorderableCollectionViewFlowLayout'
    8. pod 'AFNetworking', '~> 3.0'
    9. pod 'AlivcConan', '0.9.0' #短视频SDK依赖的数据埋点
  • 打开终端cd到您项目的Podfile目录下,执行pod install

步骤6. 编辑功能示例代码

  • 引入头文件

    #import "AlivcShortVideoRoute.h"

  • 书写跳转代码

    1. //获取路由
    2. AlivcShortVideoRoute *alivcRoute = [AlivcShortVideoRoute shared];
    3. //获取功能入口controller
    4. UIViewController *control =[alivcRoute alivcViewControllerWithType:AlivcViewControlEditVideoSelect];
    5. //这里需要隐藏导航栏,因为我们模块内部有自定义统一风格的导航栏
    6. [self.navigationController setNavigationBarHidden:YES];
    7. # warning 无法跳转的话请检查自己有没有设置UINavigationController
    8. //跳转到控制器
    9. if (self.navigationController) {
    10. [self.navigationController pushViewController:control animated:YES];
    11. }else{
    12. NSLog(@"----------------------------------------");
    13. NSLog(@"请检查自己有没有设置UINavigationController!");
    14. NSLog(@"请检查自己有没有设置UINavigationController!");
    15. NSLog(@"请检查自己有没有设置UINavigationController!");
    16. NSLog(@"----------------------------------------");
    17. }

至此,您已集成完成编辑模块,后续您可以继续集成上传模块与播放模块,这样就能完整的体验整个流程。