You need to enable JavaScript to run this app.
导航
跑通 Demo
最近更新时间:2024.07.02 21:49:26首次发布时间:2022.11.01 20:47:17

火山引擎视频点播提供开源 Demo VEVodDemo-iOS,包含常见播放场景的完整源码。在集成点播 SDK 之前,建议您先参照本文跑通 Demo,体验点播 SDK 的功能。

Demo 介绍

播放场景

开源 Demo 中实现了以下播放场景:

  • 短剧:每集时长从几十秒到 15 分钟左右,内容一般是连续和完整的故事情节,采用竖屏沉浸式全屏播放样式。用户可通过上下滑动切换剧集,也可通过点击集数切换到到指定剧集。
  • 短视频:类似于抖音的场景,一屏只展示一个视频,用户可通过上下滑动来切换浏览不同的短视频内容。
  • 中视频:类似于西瓜视频横屏播放的场景,Feed 流中同时存在 2 个以上的视频,用户可以快速滑动浏览多个视频,每次滑动可能划过多个视频。
  • 长视频:提供沉浸式的全屏播放场景和播放页场景,适用于播放影视、综艺等长时间的视频内容。

目录结构

开源 Demo 对点播 SDK 进行了封装,抽象出播放控件层框架,以提供基础的播放功能。在播放控件层的基础上,根据常见播放场景的需求,提供场景控件层。您可以根据自身的业务需求,轻松地集成和使用这些控件层。开源 Demo 的具体目录结构如下:

├─ VOLCDemo 
└── VOLCDemo    // 主工程路径
    ├── Base    // AppDelegate 等 App 基本文件
└── Pods        // Pod 库工程路径
└── Development Pods //通过 Pod 的 Dev 模式引入的本地库
    ├── VEVodMain   // Demo 入口
    ├── VEPlayModule        // 火山引擎场景模块(短、中、长视频模块示例),依赖 VEPlayerKit,每个场景也可以单独引入,均为一个 subspec
    ├── VEPlayerKit         // 火山引擎点播播放器封装层,依赖 TTSDK-Player
    ├── VEPlayerUIModule    // 火山引擎点播 UI 控件封装层,通过协议与播放器结合,没有依赖项
    ├── VESceneKit          // 火山引擎短视频场景框架,封装了一个上下滑动场景(类似抖音主场景)的控件,没有依赖项   
└── Pods      // 其余三方库(包含 TTSDK)

Demo 体验

请前往 Demo 体验页面,扫描二维码安装体验。

开发环境要求

  • Xcode 或同等可识别 xcodeproj 格式的 IDE。
  • iOS 9.0 及以上版本。建议使用真机。

前提条件

操作步骤

  1. 在终端中运行以下命令克隆仓库到本地,并进入项目文件夹:

    git clone https://github.com/volcengine/VEVodDemo-iOS.git
    cd VEVodDemo-iOS
    
  2. 执行以下命令。执行成功后使用 Xcode 打开 VOLCDemo.xcworkspace 工程文件。

    pod install --repo-update
    
  3. 将下载至本地的 License 文件导入到工程中。

  4. AppDelegate.m 文件中,修改 appIdlicenseName 的值。

    - (void)initTTSDK {
    #ifdef DEBUG
        /// 建议 Debug 期间打开 Log 开关
        [TTVideoEngine setLogFlag:TTVideoEngineLogFlagAll];
    #endif
        
        // 替换成您在视频点播控制台中复制的应用 ID
        NSString *appId = @"your app id";
        // 替换成实际的 License 文件名称
        NSString *licenseName = @"your license file name";
        if (appId.length == 0 || licenseName.length == 0) {
            UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:NSLocalizedStringFromTable(@"tip_license_required", @"VodLocalizable", nil) preferredStyle:UIAlertControllerStyleAlert];
            UIAlertAction *vidSource = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                exit(0);
            }];
            [alert addAction:vidSource];
            [self.window.rootViewController presentViewController:alert animated:YES completion:nil];
            return;
        }
        // ...
    }
    
  5. 修改 Demo 的 Bundle Identifier,确保与您在点播控制台创建应用时填写的 Bundle ID 保持一致。

  6. 单击 Build 图标开始编译项目。编译成功后,将在您的 iOS 设备上自动打开如下界面。
    图片

后续集成方式

火山引擎提供点播 SDK、播放控件层、场景控件层三种方式实现播放场景。您可根据具体情况灵活选择适合自己的集成方式:

  • 对于成熟的视频业务,您可复用已有业务层代码,直接集成点播 SDK,更换播放内核,以最小的改动来实现迁移。
  • 对于全新的视频业务,建议接入播放控件层场景控件层,快速搭建短、中、长视频的播放场景。