PAG官网 | PAG动效

PAG官网 | PAG动效

  • 首页
  • 产品
  • 功能
  • 文档
  • 案例
  • CN
  • GitHub
  • 论坛交流
  • 免费下载
  • Languages iconCN
    • EN

›TAVMedia

了解 PAG

  • Introduction
  • FAQs

快速开始

  • Install PAGViewer
  • Install PAGExporter
  • Export PAG Files
  • SDK Integration

导出插件

  • Use Configuration Panel
  • Use Exporting Panel
  • Export BMP Compositions
  • Config Fill Modes
  • Config Time Stretch Modes
  • Exporting Shortcut Keys
  • Error Code
  • Auto Detection Rules
  • Text Editing Rules
  • Add Text Background
  • Export Audio
  • Manually Install PAGExporter

预览工具

  • Preview Replacements
  • View File Structure
  • Preview Shortcut Keys
  • Export Image Sequence
  • File Encryption
  • Add Watermark
  • Upgrade to Beta Version

性能优化

  • Use Performance Panel
  • PAG File Optimization

移动端进阶

  • Common API Overview
  • Use PAGImageView
  • Video Replacement
  • Play Audio
  • Text Layer Description
  • Use Encripted File
  • Export To Video
  • SDK Authentication

Web 进阶

  • SDK Installation
  • Load PAG File
  • Play PAG File
  • Platform Capabilities
  • Use WebWorker

API 参考

  • API Document

视频教程

  • PAG Workflow
  • File Optimization Best Practices
  • Use PAGExporter Panel
  • PAG Online Q&A

资源下载

  • PAGViewer Installer
  • PAG Test Files
  • PAG Demo Projects
  • China LiveVideoStackCon2022
  • PAG Conversion Tool
  • PAG File Format Spec

TAVMedia

  • Introduction to TAVMedia
  • TAVMedia Quick access
  • Common API Overview

其他

  • From Lottie To PAG
  • PAG Dictionary

TAVMedia Quick access

SDK 获取

Android 版 SDK

iOS 版 SDK

Android 端接入

基本要求

  • 支持 android 4.4 及以上系统。

  • 推荐使用 gralde 3.0 及以上版本编译。

接入方式

aar 接入

  1. 将 tavmedia 的 aar 文件放置在 Android 工程目录的 libs 目录下。

  2. 添加 aar 库依赖。

  • 在 app 的 gradle 文件 app/build.gradle 中,添加如下 tavmedia 的库依赖。

    implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
    // aar方式依赖需要手动添加exifinterface和tavmedia_pag_decode的依赖
    implementation("androidx.exifinterface:exifinterface:2.0.15")
    implementation 'com.tencent.tav:tavmedia_pag_decode:1.0.0' // 如果项目同时依赖了libpag,不需要添加这行
    
  • 在混淆列表中,添加以下 tavmedia 的 keep 规则。

    -keep class com.tencent.tavmedia.**{*;}
    -keep class androidx.exifinterface.** {*;}
    -keep class org.libpag.** {*;}
    
  1. 配置完成后,执行 sync 后再进行编译。

maven 接入

  1. 在工程目录下修改 build.gradle 文件,增加 mavenCentral()。

    repositories {
      ...
      maven { url "https://mirrors.tencent.com/repository/maven/tencent_public" }    
      ...
     }
    
  2. 添加依赖

  • 在 app 的 gradle 文件 app/build.gradle 中,添加如下 tavmedia 的库依赖。

    implementation "com.tencent.tav:tavmedia:2.0.12"
    
  • 如果项目同时依赖了 libpag,则请使用如下依赖。

    implementation('com.tencent.tav:tavmedia:2.0.12') {
        exclude group: 'com.tencent.tav', module: 'tavmedia_pag_decode'
    }
    
  • 在混淆列表中,添加如下 tavmedia 的 keep 规则。

    -keep class com.tencent.tavmedia.**{*;}
    -keep class androidx.exifinterface.** {*;}
    -keep class org.libpag.** {*;}
    

iOS 端接入

基本要求

  • 支持 iOS 9 及以上。

  • 需要使用 Xcode11.0 及以上版本进行编译。

使用 CocoaPods

  1. 在终端窗口中执行如下命令,安装 CocoaPods。

说明:

执行命令前需在 Mac 中安装 Ruby 环境。

sudo gem install cocoapods
  1. 进入项目所在路径,执行以下命令创建 Podfile 文件。

    pod init
    
  2. 根据您的项目需要选择合适的版本,按照以下方式编辑 Profile 文件。

    platform :ios, '8.0'
    target 'App' 
    dopod 'TAVMedia'
    end
    
  3. 在终端窗口中执行以下命令,以更新本地库文件,并安装 SDK。

    pod install
    

    pod 命令执行完后,会生成集成了 SDK 的 .xcworkspace 后缀的工程文件,双击打开即可。

  4. 将 Bundle Identifier 修改成与申请的测试授权一致。

下载 SDK 并手动导入

  1. 下载并解压 SDK 库文件。

  2. 打开您的 Xcode 工程项目,将文件夹中的 framework 添加到实际工程中。

  3. 选择要运行的 TARGETS,选择 General,并展开 Frameworks,Libraries,and Embedded Content 项,单击展开项中的 + 号图标以添加依赖库。依次添加下载的 TAVMedia.xcframework 和 FFmpeg.xcframework。如下图所示:
    img

  1. 由于 TAVMedia 暂时不支持 Bitcode,需要配置 Build Settings > Build Options > Enable Bitcode 为 No。

  2. 将 Bundle Identifier 修改成与申请的测试授权一致。

TAVMedia SDK License 指引

TAVMedia License 提供了鉴权功能,购买相应套餐之后获取正式版 License ,可以获得一年的使用权。若无 License 文件进行授权操作,则预览和导出画面上将带有水印。

本文将对 License 文件的新增、鉴权及常见问题进行说明指引。

获取 License

联系商务,选择购买 SDK,并获取正式版 License 使用授权(有效期1年至到期次日00:00:00为止)。

购买成功后会提供 License 文件的 URL 下载地址和密钥 Key。在应用中通过 URL 链接下载对应的 License 文件到本地进行鉴权验证

License 鉴权

TAVMedia SDK 中提供了鉴权的对应的 API ,请按需选择:

Android

String licenseUrl = "replace_your_license_url";
String licenseAppId = "replace_your_app_id";
String licenseKey = "replace_your_key";

licenseAuthListener = (errorCode, msg) -> {
    if (errorCode == TAVLicense.LICENSE_AUTH_SUCCESS) {
        Log.d("export", "auth success " + msg);
    } else {
        Log.e("export", "auth failed and errorCode is " + errorCode + " " + msg);
    }
};

TAVLicense.getInstance().Auth(getBaseContext(), licenseUrl, licenseKey, licenseAppId, licenseAuthListener);

核心接口类 TAVLicense 提供了鉴权方法 Auth()。

public void Auth(Context context, String url, String key, String appId, TAVLicenseAuthListener listener)

参数含义如下:

参数 含义
context 上下文
url License 链接地址
key 密钥
appId 授权时提供的 AppID
listener 鉴权结果对应的回调,返回相应错误码

iOS

NSString *licenseUrl = @"replace_your_license_url";
NSString *licenseAppId = @"replace_your_app_id";
NSString *licenseKey = @"replace_your_key";
id<TAVLicenseAuthListener> listener = replace_your_Listener;
[TAVLicense Auth:licenseUrl key:licenseKey appID:licenseAppId listener:listener];

核心接口类 TAVLicense 提供了鉴权方法 Auth()。

@interface TAVLicense : NSObject
+ (void)Auth:(NSString *)url key:(NSString *)key appID:(NSString *)appID listener:(id<TAVLicenseAuthListener>)listener;
@end

参数含义如下:

参数 含义
url License 链接地址
key 密钥
appId 授权时提供的 AppID
listener 鉴权结果对应的回调,返回相应错误码

TAVLicenseAuthListener 协议会返回鉴权之后的结果,您可参考 错误码 了解返回结果信息。

@protocol TAVLicenseAuthListener <NSObject>
- (void)onLicenseAuthResult:(TAVLicenseAuthResult)result msg:(NSString *)msg;
@end

错误码

错误码 含义
0 鉴权成功
-1 参数错误
-2 APPID 错误
-3 包名错误
-4 时间过期
-5 解密失败
-6 License 文件不存在
-7 License 下载出错

License 续期

License 到期之后需要在控制台进行续费和更新,然后再次进行鉴权操作。

相关问题

如何获取正式版 License?

若您需在业务中使用 TAVMedia SDK 功能,请联系商务,根据您的需求选择 SDK 套餐进行购买。

购买后即可获取 License,在通过控制台将 License 绑定后,即可使用相应功能。

License 的有效期是多长?过期后如何更新 License?

TAVMedia License 的有效期是创建成功后,从签发 License 日起计算一年(365天)的时长。例如,您在2022年01月01日申请并创建成功正式版 License,正式版 License 将在2023年01月02日的00:00:00过期。

正式版 License 过期后需要重新购买新的 License 进行续期。

License 支持的包名个数是多少?授权台数是多少?

目前单个 License 仅支持一个包名,但对授权终端的台数无限制。

TAVMedia SDK Demo 体验

TAVMedia SDK 分为试用版和正式版 试用版 SDK Demo 提供 TAVMedia 的具体场景应用,帮助您快速开发视频编辑、模板应用、特效添加的短视频 App。您可以在下方卡片中获取源码 Demo, 并参考 接入指引 进行接入。

请参考以下链接下载源码:

iOS 源码

Android 源码

← Introduction to TAVMediaCommon API Overview →
  • SDK 获取
  • Android 端接入
    • 基本要求
    • 接入方式
  • iOS 端接入
    • 基本要求
    • 使用 CocoaPods
    • 下载 SDK 并手动导入
  • TAVMedia SDK License 指引
  • 获取 License
  • License 鉴权
    • Android
    • iOS
    • 错误码
  • License 续期
  • 相关问题
  • TAVMedia SDK Demo 体验
Address: Tencent Binhai Building, No. 33 Haitian Second Road, Nanshan District, Shenzhen, Guangdong Province, China.
TEL: 0755-86013388
QQ Group: 893379574
Copyright © 2018 - 2025 Tencent. All Rights Reserved.
Privacy Policy
公司地址:广东省深圳市南山区海天二路33号腾讯滨海大厦
联系电话:0755-86013388
QQ群:893379574
Copyright © 2018 - 2025 Tencent. All Rights Reserved.
隐私政策
Copyright © 2018 - 2025 Tencent. All Rights Reserved.
Address: Tencent Binhai Building, No. 33 Haitian Second Road, Nanshan District, Shenzhen, Guangdong Province, China.
TEL: 0755-86013388
QQ Group: 893379574
Privacy Policy
Copyright © 2018 - 2025 Tencent. All Rights Reserved.
公司地址:广东省深圳市南山区海天二路33号腾讯滨海大厦
联系电话:0755-86013388
QQ群:893379574
隐私政策