阿里云首页 视频点播 相关技术圈

媒体上传

点播服务端提供丰富的上传接口,支持开发者采用不同的上传方式实现媒体上传。本文介绍Node.js SDK调用服务端上传接口的使用场景和调用示例。

使用场景

注意

本文仅提供API调用示例,即在点播服务中获取上传凭证和地址等操作示例。要实现完整的媒体文件上传逻辑,请参考下表跳转至对应的上传方式和使用场景。

接口

使用场景

获取音视频上传地址和凭证

  • OSS原生SDK上传场景下,用户应用服务器集成点播服务端SDK并调用相关接口获取或刷新上传地址和凭证。获取到的上传地址和凭证需要Base64解码后作为初始化OSS上传客户端实例的参数。详情请参见基于OSS原生SDK上传

  • 点播客户端上传SDK场景下,用户应用服务器集成点播服务端SDK并调用相关接口获取或刷新上传地址和凭证。获取到的上传地址和凭证无需解码即可下发给客户端。详情请参见客户端上传SDK指引

刷新音视频上传凭证

获取图片上传地址和凭证

获取辅助媒资上传地址和凭证

URL批量拉取上传

  • 调用URL批量拉取上传接口实现离线拉取上传。这种方式可以免去先将文件下载到本地服务器或终端再使用上传SDK上传到点播的过程。

  • 调用获取URL上传信息获取上传进度。

获取URL上传信息

前提条件

  • 调用接口前请先安装SDK。操作指引请参见安装

  • 调用接口前请先初始化客户端示例。操作指引请参见初始化

接口调用示例

获取音/视频上传地址和凭证

调用CreateUploadVideo接口,完成获取音/视频上传地址和凭证功能。

接口参数和返回字段请参见CreateUploadVideo。调用示例如下:

// 请求示例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("CreateUploadVideo", {
    Title: 'this is a sample',
    FileName: 'filename.mp4'
}, {}).then(function (response) {
    console.log('VideoId = ' + response.VideoId);
    console.log('UploadAddress = ' + response.UploadAddress);
    console.log('UploadAuth = ' + response.UploadAuth);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

刷新音/视频上传凭证

调用RefreshUploadVideo接口,完成刷新音/视频上传凭证功能。

接口参数和返回字段请参见RefreshUploadVideo。调用示例如下:

// 请求示例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("RefreshUploadVideo", {
    VideoId: 'VideoId'
}, {}).then(function (response) {
    console.log('UploadAddress = ' + response.UploadAddress);
    console.log('UploadAuth = ' + response.UploadAuth);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

获取图片上传地址和凭证

调用CreateUploadImage接口,完成获取图片上传地址和凭证功能。

接口参数和返回字段请参见CreateUploadImage。调用示例如下:

// 请求示例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("CreateUploadImage", {
    ImageType: 'cover',
    ImageExt: 'jpg'
}, {}).then(function (response) {
    console.log('ImageId = ' + response.ImageId);
    console.log('ImageURL = ' + response.ImageURL);
    console.log('UploadAddress = ' + response.UploadAddress);
    console.log('UploadAuth = ' + response.UploadAuth);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

获取辅助媒资上传地址和凭证

调用CreateUploadAttachedMedia接口,完成获取辅助媒资上传地址和凭证功能。

接口参数和返回字段请参见CreateUploadAttachedMedia。调用示例如下:

// 请求示例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

client.request("CreateUploadAttachedMedia", {
    BusinessType: 'watermark',
    MediaExt: 'gif',
    Title: 'this is a sample'
}, {}).then(function (response) {
    console.log('MediaId = ' + response.MediaId);
    console.log('MediaURL = ' + response.MediaURL);
    console.log('UploadAddress = ' + response.UploadAddress);
    console.log('UploadAuth = ' + response.UploadAuth);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});

URL批量拉取上传

调用UploadMediaByURL接口,完成URL批量拉取上传功能。

接口参数和返回字段请参见UploadMediaByURL。调用示例如下:

// 请求示例
var client = initVodClient('<Your AccessKeyId>','<Your AccessKeySecret>');

var url = 'http://xxxx.mp4';
var uploadMetadatas = [{
    SourceUrl: url,
    Title: 'upload by url sample'
}];
client.request("UploadMediaByURL", {
    UploadURLs: url,
    UploadMetadatas: JSON.stringify(uploadMetadatas)
}, {}).then(function (response) {
    console.log('UploadJobs = ');
    console.log(response.UploadJobs);
    console.log('RequestId = ' + response.RequestId);
}).catch(function (response) {
    console.log('ErrorCode = ' + response.data.Code);
    console.log('ErrorMessage = ' + response.data.Message);
    console.log('RequestId = ' + response.data.RequestId);
});