腾讯云云点播Flutter 上传 SDK_音视频解决方案_同尘科技

云点播 2年前 (2023-10-31) 浏览 136

对于在 Flutter 平台上传视频的场景,云点播提供了 Flutter 上传 SDK 。上传流程请参见 客户端上传指引。

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

环境准备

Flutter:Flutter 2.5.0及更高版本。Dart 2.19.2及更高版本但低于3.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中增加如下配置:




iOS

iOSInfo.plist中增加如下配置:

NSAppTransportSecurity

    NSAllowsArbitraryLoads
    

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

使用

1. 引入文件。

import 'package:vod_upload_flutter/txugc_publish.dart';

2. 创建对象。

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

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

相关 API

上传视频

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);

回调接口及参数解释

视频上传参数

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

媒体上传参数

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

视频上传回调

ITXVideoPublishListener

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

参数解释

onPublishProgress

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

onPublishComplete

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

TXPublishResult

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

媒体文件上传回调

ITXMediaPublishListener

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

参数解释:onMediaPublishProgress

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

onMediaPublishComplete

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

TXMediaPublishResult

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

预上传回调

IPrepareUploadCallback

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

上传状态信息

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 当前步骤收到服务器响应耗时



对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?