云点播 Flutter 上传 SDK

对于在 Flutter 平台上传视频的场景,云点播提供了 Flutter 上传 SDK 。上传流程。

相关产品
云点播 产品页,含版本规格、价格与购买入口。
SDK 名称 云点播 Flutter 上传 SDK
版本号 V1.5.2
SDK 介绍 为 App 的最终用户提供本地视频上传到云点播平台的场景
开发者 腾讯云计算(北京)有限责任公司
合规使用说明 云点播媒体上传 SDK 合规使用指南
个人信息处理规则 云点播媒体上传 SDK 隐私保护协议
下载 SDK 1. 单击下载 Flutter 上传 SDK 及源码,将下载好的压缩包解压,可以看到 vod_upload 目录。2. 上传源码在 vod_upload/lib 目录下。

一、环境准备

·Flutter:

·Flutter 3.0.0及更高版本。

·Dart 2.19.2及更高版本但低于4.0版本。

·Android:

·Android Studio 3.5及更高版本。

·Android 4.1及更高版本。

·iOS:

·Xcode 11.0及更高版本。

·iOS 9.0及更高版本。

·请确保你的项目已设置有效的开发者签名。

三、引入依赖

1. 将 SDK 源码复制到项目的目录下。

2. 在pubspec.yaml中引入SDK。

vod_upload_flutter:
path: ./vod_upload

3. 项目根目录下运行flutter pub get命令刷新依赖。

注意:1. 最好在项目根目录、SDK目录、SDK Example目录下分别运行flutter pub get命令,不然有可能报错。

注意:2. SDK Example目录为SDK的测试项目,如无需要可以删除。

五、Android

在AndroidManifest.xml中增加如下配置:

<!–网络权限–>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

六、iOS

在iOS的Info.plist中增加如下配置:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

注意:如需运行SDK中提供的Demo,还应声明相册使用权限。

七、使用

1. 引入文件。

import 'package:vod_upload_flutter/txugc_publish.dart';

2. 创建对象。

var uploader = TXUGCPublish(
id: "",
);

注意:id可以为任意字符串,只要保证不重复即可,主要目的是将 Flutter 对象与原生层对象进行映射。

九、上传视频

uploader.publishVideo(TXPublishParam(
signature: "",
videoPath: "",
fileName: "",
));

十、取消上传视频

uploader.cancelUploadVideo();

十一、恢复上传视频

uploader.resumeUploadVideo(TXPublishParam(
signature: "",
videoPath: "",
fileName: "",
));

十二、上传媒体文件

uploader.publishMedia(TXMediaPublishParam(
signature: "",
mediaPath: "",
fileName: "",
));

十三、取消上传媒体文件

uploader.cancelUploadMedia();

十四、恢复上传媒体文件

uploader.resumeUploadMedia(TXMediaPublishParam(
signature: "",
mediaPath: "",
fileName: "",
));

十五、预上传

TXUGCPublish.prepareUpload(signature, callback);

注意:预上传为静态方法。

十六、获取上传信息

// android端只能在上传过程中获取信息, iOS端全程都可以获取信息
uploader.getStatusInfo();

十七、上报 AppId

uploader.setAppId(appId);

十八、设置视频上传回调

uploader.setVideoListener(listener);

十九、设置媒体上传回调

uploader.setMediaListener(listener);

21、视频上传参数

TXPublishParam

字段名 类型 是否必填 解释 默认值
signature string 是 签名 null
videoPath string 是 视频路径 null
fileName string 是 文件名 null
enableResume boolean 否 是否启用续点。 true
enableHttps boolean 否 是否启用 https。 false
coverPath string 否 封面图 null
enablePreparePublish boolean 否 是否启用预上传(关闭后可手动预上传)。 true
sliceSize integer 否 分片大小。支持最小为1M,最大10M,默认0。代表上传文件大小除以10。 0
concurrentCount integer 否 分片上传并发数量(若 ≤ 0,则取 SDK 内部默认值2)。 -1

22、媒体上传参数

TXMediaPublishParam

字段名 类型 是否必填 解释 默认值
signature string 是 签名 null
mediaPath string 是 视频路径 null
fileName string 是 文件名 null
enableResume boolean 否 是否启用续点。 true
enableHttps boolean 否 是否启用 https。 false
enablePreparePublish boolean 否 是否启用预上传(关闭后可手动预上传)。 true
sliceSize integer 否 分片大小。支持最小为1M,最大10M,默认0。代表上传文件大小除以10。 0
concurrentCount integer 否 分片上传并发数量(若 ≤ 0,则取 SDK 内部默认值2)。 -1

23、视频上传回调

ITXVideoPublishListener

方法名 参数 解释
onPublishProgress void 上传进度回调
onPublishComplete void 上传完成回调

24、参数解释

onPublishProgress

参数名 类型 解释
uploadBytes integer 上传的字节数
totalBytes integer 总计字节数

onPublishComplete

参数名 类型 解释
result TXPublishResult 上传结果

TXPublishResult

字段名 类型 解释
retCode integer 错误码
descMsg string 错误描述信息
videoId string 视频文件 Id
videoURL string 视频播放地址
coverURL string 封面存储地址

25、媒体文件上传回调

ITXMediaPublishListener

方法名 参数 解释
onMediaPublishProgress void 上传进度回调
onMediaPublishComplete void 上传完成回调

参数解释:

onMediaPublishProgress

参数名 类型 解释
uploadBytes integer 上传的字节数
totalBytes integer 总计字节数

onMediaPublishComplete

参数名 类型 解释
result TXPublishResult 上传结果

TXMediaPublishResult

字段名 类型 解释
retCode integer 错误码
descMsg string 错误描述信息
mediaId string 视频文件 Id
mediaURL string 视频播放地址

26、预上传回调

IPrepareUploadCallback

方法名 返回值 解释
onLoading void 开始预上传回调
onFinish void 预上传完成回调

27、上传状态信息

ReportInfo

字段名 类型 解释
reqType string 请求类型,标识是在哪个步骤。
errCode string 错误码。
cosErrCode string COS 上传错误码。
errMsg string 错误信息。
reqTime string 当前步骤的开始时间。
reqTimeCost string 当前步骤的耗时。
fileSize string 文件大小。
fileType string 文件类型。
fileName string 文件名。
fileId string 文件 Id。
appId string 使用 TXUGCPublish 设置进来的点播 appId。
reqServerIp string 当前正在进行步骤所访问的 ip。
reportId string 客户自定义上报 id,可通过 TXUGCPublish 构造方法传入。
reqKey string 请求键值,一般由文件最后修改时间和本次上传开始时间组成。
vodSessionKey string 点播服务器会话键值,从申请上传接口获得。
cosRegion string 当前上传所访问的区域。
requestId string 当前 COS 上传的请求 id。
cosVideoPath string 当前 COS 视频上传的路径。
vodErrCode integer 信令请求错误码。
useHttpDNS integer 是否使用 httpDns 进行域名解析。
useCosAcc integer 是否开启了 COS 域名加速。
tcpConnTimeCost integer 当前步骤连接服务器耗时。
recvRespTimeCost integer 当前步骤收到服务器响应耗时。
赞 (0)
上一篇 4天前
下一篇 4天前