tencent cloud

文档反馈

源码解读(iOS)

最后更新时间:2022-11-14 18:18:58

    工程结构


    小视频主要集成了 UGCKit 作为核心功能库。集成方式参考 UGCKit(主要负责播放录制)。
    小视频的美颜功能,分为基础美颜和腾讯特效。基础美颜主要集成 BeautySettingkit 实现,集成方式请参见 类抖音特效 文档,相关代码都可以在 BeautySettingKit 目录下找到。腾讯特效主要集成xmagickit实现,实现方式请参见短视频SDK集成腾讯特效文档,相关代码都可以在xmagickit目录下找到。

    模块介绍

    小视频按照功能不同划分了7个模块,分别为:

    • 帐号、列表管理、发布以及资料模块(处于小视频目录下)。
    • 播放、录制、编辑模块由 UGCKit 负责。

    帐号模块

    • 帐号模块负责处理用户登录/注册,以及登录缓存的逻辑。
    • 如果您已经有自己的帐号体系,可以直接替换该模块。
    • 账号模块的 UI 逻辑分为 XiaoShiPin/AppViewControllers/AccountXiaoShiPin/AppViewControllers/AccountInfo,前者涉及登录的 UI 模块,后者涉及登录后的资料处理 UI 模块。
    • 账号模块的业务逻辑可以在 XiaoShiPin/Model 下查看。

    主界面和列表管理

    模块简介

    • 主界面主要负责点播列表、录制、个人资料三个一级功能的切换。
    • 进入 App 后,默认展示列表界面。单击录制按钮后,如果未登录,会先跳转到登录界面;如果已经登录,将跳转到推流的界面;单击个人资料按钮,将跳转到个人资料页面。
    • 列表管理包含列表的拉取和展示。

    相关代码

    • Model:
      • TCLiveListModel(XiaoShiPin/AppViewControllers/mainList):点播列表的数据层定义以及序列化/反序列化实现。
    • UI:
      • TCNavigationController:定制的导航栏,主要是设置导航栏的背景颜色。
      • TCMainViewController:主界面的 tab bar 控件,用于切换列表、录制和个人资料页面。
      • TCVideoListCell:点播列表的 Cell 类,主要展示封面、标题、昵称。
      • TCLiveListViewController:点播列表的 TableViewController,负责展示点播列表,单击后跳转播放界面。

    播放模块

    模块简介

    播放模块主要包括:短视频预加载、播放、缓存、分享等功能。

    相关代码

    /XiaoShiPin/AppViewControllers/VideoPlayer 目录下,主要处理播放相关的业务逻辑,包含 UI 和业务逻辑。

    录制模块

    模块简介

    录制模块主要包括:短视频多段录制、多段回删、多分辨率录制、变速录制等。

    相关代码

    UGCKit/Source/Record在该目录下可以找到录制相关的所有逻辑。

    编辑模块

    模块简介

    编辑模块主要包括:短视频裁剪、BGM、滤镜风格、特效、动态贴纸、静态贴纸等。

    相关代码

    UGCKit/Source/Edit 目录下可以找到编辑相关的所有逻辑。

    发布模块

    模块简介

    发布模块主要包括:短视频发布。

    相关代码

    XiaoShiPin/AppViewController/Publish 目录下可以找到发布相关的所有逻辑。

    资料模块

    模块简介

    • 资料模块主要负责用户资料的展示、存储和修改,并负责将这些操作同步到服务器。
    • 用户资料主要包括:用户头像、昵称、性别等。
    • 资料模块会从服务器同步用户最新资料到 App,用户可以通过资料模块来浏览自己的相关资料,包括用户头像、昵称和性别等。
    • 用户可以通过资料模块修改自己的相关资料,资料模块会将这些操作同步到服务器。
    • 其他模块也可以通过资料模块获取,修改用户资料。

      相关代码

      XiaoShiPin/AppViewController/AccountInfo 目录下可以找到用户资料相关的所有逻辑。

    ugckit

    此模块主要是对短视频SDK的高级封装(包含了UI),方便快速接入。

    各个目录简介:

    文件/目录 说明
    Source/Common 短视频自定义的View模块
    Source/Edit 短视频编辑模块
    Source/MediaPicker 短视频媒体选择模块
    Source/Model 短视频媒体模型模块
    Source/Music 短视频音乐模块
    Source/Record 短视频录制模块
    Source/Report 短视频数据上报模块
    Source/Theme 短视频资源主题模块
    Source/VideoCut 短视频裁剪模块

    xmagickit

    此模块用于快速接入腾讯特效,主要是对腾讯特效的封装,方便快速接入。

    文件/目录 说明
    BeautyRes 图片资源
    bundle 美颜素材
    Download 下载模块
    View 美颜面板和数据

    beautysettingkit

    此模块是短视频中的基础美颜模块,如果客户选择使用基础美颜,则可以使用此模块进行快速集成。

    文件/目录 说明
    Filter 滤镜模块
    Interfaces 美颜接口
    Model 美颜数据模型
    View 美颜面板UI
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持