在web开发中,视频上传功能是一个非常常见的需求。使用阿里云视频点播服务作为存储服务可以提高视频上传的效率和稳定性,同时也提供了一系列的工具和API供开发者使用。本文将介绍如何使用@alicloud/pop-core获取阿里云视频点播vod上传地址和凭证作为web端上传sdk,同时还将提供解决获取上传凭证报错InvalidStorage.NotFound
问题的方法。通过本文的学习,读者可以在自己的项目中快速添加视频上传功能,并解决常见的错误问题。
音视频上传:首先,用户需要将自己的音频或视频上传到阿里云VOD。该过程可以使用VOD控制台、上传SDK、API操作等方式进行。阿里云VOD支持多种媒体格式的上传,并对上传的音频或视频进行整合处理。
媒体处理:上传后,VOD会自动对音视频文件进行处理。这一过程包括转码、封装、分辨率适配等,产生可在各类设备上播放的视频和音频。此外,用户还可以配置水印、截图、净化等附加处理。
媒体资料管理:处理完成后,VOD将为每个音频或视频生成唯一的VideoID,并存储相关的元数据信息。用户可以利用API或SDK对这些信息进行查询、修改等操作。
存储与分发:VOD为用户提供了音视频存储服务,能够实现音视频的存储和备份。此外,通过阿里云全球CDN网络,VOD还可以实现音视频的快速分发。
播放:阿里云VOD提供了多种方式供用户进行音视频播放,包括通过播放器SDK在客户端进行播放,通过Web播放器在网页中播放,或通过URL在第三方播放器中播放。
分析与优化:此外,阿里云VOD还提供了丰富的音视频分析功能,帮助用户理解音视频的播放情况、用户行为等,并据此对音视频的发布策略进行优化。
具体流程大家可以看看这篇购买开通视频点播服务
创建成功之后就会获取到秘钥Id 和Secret
为用户添加权限
搜索vod
这里以node为例
其他方式可参考官网:https://help.aliyun.com/zh/vod/developer-reference/obtain-upload-urls-and-credentials?spm=a2c4g.11186623.0.0.d5851ee8drr4nV#task-1997361
npm install @alicloud/pop-core --save
AccessKey初始化
填入AccessKey信息,进行初始化。示例如下:
var RPCClient = require('@alicloud/pop-core').RPCClient;
function initVodClient(accessKeyId, accessKeySecret,) {
var regionId = 'cn-shanghai'; // 点播服务接入地域
var client = new RPCClient({//填入AccessKey信息
accessKeyId: accessKeyId,
accessKeySecret: accessKeySecret,
endpoint: 'http://vod.' + regionId + '.aliyuncs.com',
apiVersion: '2017-03-21'
});
return client;
}
这里面的accessKeyId
和 accessKeySecret
就是我们上面创建ram
用户中的id
和secret
function getvod = async (req, res) => {
// 请求示例
let client = initVodClient( // 这里就是传入创建rma账号的id和secret
'accessKeyId',
'accessKeySecret'
);
const vodback = await client.request("CreateUploadVideo", {
Title: 'test vod',
FileName: 'filename.mp4'
}, {})
res.status(200).json({vod:vodback})
}
这时我们就可以写个接口测试一下
router.get('/getvod', getvod)
然后使用postman调用该接口,如果报错The storageLocation does not exist
可能是以下原因:
你可能没有在你的ALICLOUD账户中创建该存储位置。你需要到你的ALICLOUD管理控制台中去创建这个位置。
你可能错误地拼写了存储位置的名称。确保你提供的名称与ALICLOUD中的存储位置名称完全一致。
如果你在代码中硬编码了存储位置的名称,那么可能是大小写错误或者多余的空格导致的。再次检查你的代码。
可能是**@alicloud/pop-core库的版本不兼容**,建议更新到最新版本。
code: 'InvalidStorage.NotFound'
message: 'The storageLocation does not exist'
我这里就是第一个,没有启动存储位置。
啊啊啊啊啊 这里卡了我好久啊,问了阿里云的在线服务,需要启用存储位置才行!!!
npm run dev
将uploadAutn.vue
中的createUrl
换为自己的获取上传凭证的接口地址
在本文中,我们介绍了如何使用@alicloud/pop-core获取阿里云视频点播vod上传地址和凭证,同时提供了一种解决报错InvalidStorage.NotFound
问题的方法。通过本文的学习,读者可以轻松添加视频上传功能到自己的项目中,并且在遇到问题时也能够快速解决。阿里云视频点播服务是一个非常可靠和高效的视频存储和处理服务,它不仅支持视频上传和存储,还提供了多种视频处理和分发的功能。在未来的工作中,阿里云视频点播服务将是一个非常有用的工具,我们希望通过本文帮助读者更好地了解和使用它。