XiaoShiPin 目录下执行 pod install,完成后打开 XiaoShiPinApp.xcworkspace。XiaoShiPin/AppDelegate.m 的 setLicenceURL 方法中填写申请的短视频 License 和腾讯特效 License 信息:TXLiveBase / TXUGCBase 的 setLicenceURL:key::短视频 License 的授权地址与密钥。TELicenseCheck 的 setTELicense:key:completion::腾讯特效 License 的授权地址与密钥。[TXLiveBase setLicenceURL:@"<License URL>" key:@"<License Key>"];[TXUGCBase setLicenceURL:@"<License URL>" key:@"<License Key>"];[TELicenseCheck setTELicense:@"<License URL>" key:@"<License Key>" completion:^(NSInteger authresult, NSString *_Nonnull errorMsg) {// authresult == TELicenseCheckOk 表示鉴权成功}];
TARGETS > XiaoShiPinApp > Signing & Capabilities,将 Bundle Identifier 修改为申请 License 时填写的 iOS 包名。模块 | 说明 |
业务模块(账号、列表、播放、发布、短视频等),编译产物为 XiaoShiPinApp。 | |
短视频 SDK 的高级封装(含 UI)。 | |
基础美颜模块。 | |
腾讯特效美颜接入模块(远程 Pod 依赖)。 |
XiaoShiPin 模块目录结构参考如下:文件/目录 | 说明 |
AppDelegate.h/.m | 应用入口,负责 License 设置、网络状态监控、Bugly 初始化,并拉起主界面 TCMainViewController。 |
main.m | 程序入口。 |
ViewController.h/.m | 启动引导页。 |
TCConstants.h | 全局常量(HTTP 服务地址、分享 AppID、App Group、错误码等)。 |
SDKHeader.h | SDK 头文件统一入口。 |
Mem.h | 内存辅助宏。 |
Info.plist | 应用配置(权限声明等)。 |
AppViewControllers | 各业务页面(账号、列表、播放、发布、个人资料等)。 |
Model | 数据模型(登录、用户资料)。 |
Util | 工具类。 |
TXBeautyRes | 腾讯特效美颜使用的滤镜、动效、贴纸等资源。 |
Assets.xcassets / Assets | 图片资源。 |
Base.lproj / en.lproj / zh-Hans.lproj | 多语言资源。 |
AppViewControllers 下的子目录划分,下面分别介绍。文件/目录 | 说明 |
Account | 账号模块,包括登录以及注册。 |
AccountInfo | 个人资料模块,包括用户资料、设置、关于、注销账号、H5 承载页等。 |
MainList | 小视频列表模块,包括列表数据与展示。 |
MainTab | 小视频主界面(Tab 容器)。 |
NavigationController | 自定义导航控制器。 |
Publish | 短视频发布模块。 |
UGCKitWrapper | 短视频录制/编辑流程的接入封装。 |
UGCVideoJoinDemo | 短视频合成(多段拼接)预览。 |
VideoPlayer | 点播播放模块。 |
TCLoginModel 的 registerWithUsername:password:succ:fail: 注册账号、loginWithUsername:password:succ:fail: 登录,登录成功后调用 scheduleRefreshLoginForExpireDate: 定时刷新登录态;退出登录调用 logout:;注销账号调用 deleteAccount:completion:。类名 | 描述 |
TCLoginViewController | 用户登录页面。 |
TCRegisterViewController | 用户注册页面。 |
TXWechatInfoView | 微信信息展示控件。 |
TCLoginModel | 用户登录注册管理类。 |
TCLoginParam | 登录参数与登录信息缓存。 |
TCUserInfoModel | 用户资料管理类(单例),负责资料拉取、保存与本地缓存。 |
TCMainViewController 继承自 UITabBarController,主要负责短视频列表、短视频拍摄/编辑和个人资料三个一级功能的切换。TCLiveListMgr(定义在 TCLiveListModel.h 中),负责列表数据的拉取、缓存和更新,列表拉取采用分页模式,拉取到第一页后即通知界面刷新。类名 | 描述 |
TCMainViewController | 主界面,用于呈现短视频列表、短视频拍摄/编辑、用户信息页。 |
TCNavigationController | 自定义导航控制器。 |
TCLiveListMgr | 列表管理类,提供接口获取本地内存列表及从服务器更新列表。 |
TCVideoListViewController | 列表展示界面,负责呈现短视频的数据。 |
TCVideoListCell | 短视频列表适配层(Cell)。 |
TCLiveListModel | 视频数据( TCLiveInfo、TCLiveUserInfo)。 |
UGCKitWrapper 创建并展示 UGCKitRecordViewController。类名 | 描述 |
UGCKitWrapper | 短视频录制/编辑流程的接入封装,负责按主题创建并展示录制页与编辑页。 |
UGCKitRecordViewController | 短视频录制页面。 |
UGCKitRecordConfig | 录制参数配置(画面比例、分辨率、码率、最小时长/最长时长、fps、水印、合唱视频、合拍模式等)。 |
UGCKitMediaPickerViewController 实现,同时可配合 TCVideoEditPrevViewController 做拼接前的预览。类名 | 描述 |
UGCKitMediaPickerViewController | 本地媒体选择界面。 |
UGCKitMediaPickerConfig | 媒体选择参数(可选数量、媒体类型、列数、是否拼接视频等)。 |
TCVideoEditPrevViewController | 短视频合成预览界面。 |
UGCKitCutViewController 负责选择视频区间。UGCKitEditViewController,底部有音乐、滤镜、速度、特效、贴纸、字幕等功能。UGCKitVideoEffectManager 统一管理。类名 | 描述 |
UGCKitCutViewController | 短视频裁剪界面。 |
UGCKitEditViewController | 短视频裁剪后编辑界面,底部有音乐、滤镜、速度、特效、贴纸、字幕等功能。 |
UGCKitVideoEffectManager | 编辑特效(贴纸、字幕、时间特效等)管理类。 |
UGCKitEditConfig | 编辑参数配置(旋转角度、压缩分辨率、码率、水印、片尾水印、生成模式等)。 |
UGCVideoJoinDemo/ 目录与 UGCKit 中的合成能力负责短视频合成相关功能。combineVideos)在选择阶段由 UGCKitMediaPickerViewController + UGCKitAssetLoader 完成,录制页也实现了 TXVideoJoinerListener 以支持合拍、多段合成场景。类名 | 描述 |
TCVideoEditPrevViewController | 短视频合成/拼接预览界面。 |
UGCKitAssetLoader | 媒体资源加载与拼接类。 |
类名 | 描述 |
TCVideoPublishController | 短视频发布界面。 |
TCUploadHelper | 上传辅助类。 |
类名 | 描述 |
TCBasePlayViewController | 播放页基类。 |
TCVodPlayViewController | 短视频点播播放界面。 |
TCPlayDecorateView | 播放页装饰层(点赞、评论、分享等控件)。 |
TCPlayViewCell | 播放列表 Cell。 |
文件/目录 | 说明 |
UGCKit/Classes/Source | 源码目录,按功能划分为 Common、Record、Edit、VideoCut、MediaPicker、Music、upload、Model、Theme、Report。 |
UGCKit/Assets | UI 图片与动效资源。 |
UGCKit/Localizable | 多语言资源。 |
UGCKitRecordViewController | 短视频录制模块 View Controller。 |
UGCKitEditViewController | 短视频编辑模块 View Controller。 |
UGCKitCutViewController | 短视频裁剪模块 View Controller。 |
UGCKitMediaPickerViewController | 视频/图片选择模块 View Controller。 |
UGCKitBGMListViewController | 背景音乐列表界面。 |
UGCKitTheme | 主题配置(图标、颜色、本地化字符串等)。 |
UGCKitMedia / UGCKitResult / UGCKitWatermark | 媒体、结果与水印数据模型。 |
UGCKitReporter | 数据上报接口。 |
UGCKit.h | 框架公共头文件入口。 |
UGCKitConstants.h | 常量配置信息(缓存路径等)。 |
文件/目录 | 说明 |
TXUGCPublish | 短视频上传入口。 |
QuicClient | QUIC 客户端封装,负责连接、请求、取消与回调转发。 |
TVCQuicConfigProxy | QUIC 配置代理。 |
TVCClient / TVCConfig / TVCReport | 上传客户端、配置与数据上报。 |
TXUGCPublishOptCenter / TXUGCPublishUtil | 上传优化中心与辅助工具。 |
QCloudQuic 与 QCloudCOSXML 依赖提供底层 QUIC 与对象存储能力。上传前会探测 QUIC 链路是否连通,从而提升上传速度与成功率;当业务无需 QUIC 加速时,可移除相关依赖而不影响上传主流程。UGCKit 的录制控制器 UGCKitRecordViewController 中,您可以参考该方式快速接入。文件/目录 | 说明 |
XiaoShiPin/TXBeautyRes | 存放腾讯特效中使用的滤镜和贴纸,以及 TEBeautyKit 中美颜面板需要使用的配置文件。 |
TEBeautyKit | 腾讯特效美颜 Kit(Pod 依赖),负责 SDK 初始化与纹理处理。 |
TEPanelView | 腾讯特效美颜面板视图。 |
TEUIConfig | 美颜面板资源配置。 |
TEUIProperty | 美颜属性数据模型。 |
XMagic | 腾讯特效渲染引擎。 |
UGCKitRecordViewController | 美颜接入位置。 |
文件/目录 | 说明 |
Filter | 滤镜定义。 |
Interfaces | 美颜面板动作协议。 |
Model | 美颜动作代理与动态贴纸管理。 |
View | 美颜面板视图与主题。 |
Assets | 美颜面板 UI 与滤镜资源。 |
TCBeautyPanel | 美颜面板组件。 |
TCBeautyPanelView | 美颜面板视图。 |
TCBeautyPanelActionPerformer | 美颜参数设置协议,由 TCBeautyPanelActionProxy 代理给 SDK 对象。 |
TCBeautyPanelActionProxy | 美颜动作代理。 |
TCFilter | 滤镜定义与资源管理。 |
TCPituMotionManager | 动态贴纸(P 图)管理。 |
TCBeautyPanelTheme | 美颜面板主题配置。 |
TCMenuView | 美颜面板菜单视图。 |
TCBeautyPanel.h | 框架公共头文件入口。 |
文档反馈