阿里云视频点播获取视频播放信息nodejs版

た 入场券 2022-09-09 01:57 455阅读 0赞

语言:nodejs

参考文档:https://help.aliyun.com/document_detail/101416.html

操作步骤:

首先;搭建nodejs运行环境;

先在本地创建一个node项目文件夹

(使用npm init命令来创建)

创建文件为index.js

参考文件:https://www.jianshu.com/p/dc83181ff598

src文件中就存在了index.js文件

2021082811381457.png

使用npm install express 安装express框架

这时,项目中的package.json文件中已经存在了相关的依赖包

2021082811384618.png

然后,我们通过express官网的示例代码,集成到自己本地的项目中。

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAc2FsZXN0aW5h_size_13_color_FFFFFF_t_70_g_se_x_16

参考网站:https://www.npmjs.com/package/express

将express的示例代码拷贝进index.js文件中。

创建sts.js文件,将阿里云访问控制中的nodejs示例代码放入sts.js文件中并加以修改:

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAc2FsZXN0aW5h_size_10_color_FFFFFF_t_70_g_se_x_16

sts.js文件如图:

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAc2FsZXN0aW5h_size_15_color_FFFFFF_t_70_g_se_x_16

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAc2FsZXN0aW5h_size_14_color_FFFFFF_t_70_g_se_x_16

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAc2FsZXN0aW5h_size_20_color_FFFFFF_t_70_g_se_x_16

代码如下:

  1. const ak=''; //填写为创建子用户时系统自动生成的ak
  2. const as=''; //填写为创建子用户时系统自动生成的as
  3. const region='cn-shanghai';
  4. const RPCClient = new Core.RPCClient({
  5. accessKeyId: ak,
  6. accessKeySecret: as,
  7. endpoint: 'http://vod.'+region+'.aliyuncs.com',
  8. apiVersion: '2017-03-21'
  9. });
  10. const getPlayInfo = function (videoId, callback) {
  11. //console.log('getPlayInfo---->', videoId)
  12. RPCClient.request("GetPlayInfo", {
  13. VideoId: videoId,
  14. ResultType:'Multiple'
  15. }).then(function (response) {
  16. callback(response)
  17. // console.log('RequestId = ' + response.RequestId);
  18. }).catch(function (response) {
  19. callback(response)
  20. // console.log('ErrorCode = ' + response.data.Code);
  21. // console.log('ErrorMessage = ' + response.data.Message);
  22. // console.log('RequestId = ' + response.data.RequestId);
  23. });
  24. }

其中,accessKeyId 就是子用户创建access Key时 保留下来的AccessKey.csv文件中的参数,填写到对应位置即可。

子用户创建及赋予权限可参考:https://blog.csdn.net/salestina/article/details/119861854

20210828135807146.png

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAc2FsZXN0aW5h_size_17_color_FFFFFF_t_70_g_se_x_16

代码中的region需要注意核对一下跟视频点播的存储管理中的区域是否一致。

index.js文件代码做下调整

目的:将sts.js文件引入index.js中并调用,并将sts.js的结果返回:

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAc2FsZXN0aW5h_size_11_color_FFFFFF_t_70_g_se_x_16

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAc2FsZXN0aW5h_size_19_color_FFFFFF_t_70_g_se_x_16

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAc2FsZXN0aW5h_size_15_color_FFFFFF_t_70_g_se_x_16 1

代码如下:

  1. const express = require('express')
  2. const app = express()
  3. const request=require('./sts')
  4. //console.log(request)
  5. app.get('/getPlayInfo', function (req, res) {
  6. request.getPlayInfo(req.query.videoid, function (result) {
  7. res.send(result)
  8. })
  9. })
  10. app.listen(81)
  11. //console.log("sts启动:81")

因为程序访问的是81端口,所以要保证服务器上的81端口是打开状态。

使用node命令启动index.js文件。

访问地址:

域名:81/getPlayInfo?videoid=

例如:testvideo.com:81/getPlayInfo?videoid=288ec2f3196c4053a6c25de78678fd43

得到的结果:

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAc2FsZXN0aW5h_size_20_color_FFFFFF_t_70_g_se_x_16 1

发表评论

表情:
评论列表 (有 0 条评论,455人围观)

还没有评论,来说两句吧...

相关阅读

    相关 阿里视频点播

    一 阿里云视频点播 1 功能介绍 视频点播(ApsaraVideo VoD,简称VoD)是集视频采集、编辑、上传、媒体资源管理、自动化转码处理(窄带高清TM)、视频