如何下载阿里云视频点播数据

本文涉及的产品
对象存储 OSS,20GB 3个月
文件存储 NAS,50GB 3个月
云备份 Cloud Backup,100GB 3个月
简介: 如何下载阿里云视频点播(VOD)数据

场景

音频和视频可以很生动形象的记录事件的发生,它可以帮助人们回忆往事,也可以帮助人们学习知识,是一个非常实用的媒体。因此有很多的应用衍生而出,比如,抖音、快手、微信视频号等等。

阿里云的视频点播功能为不熟悉音视频技术的开发者提供了很大的便利,通过使用视频点播产品可以快速搭建出一个视频应用,在控制台还可以对视频信息进行管理。阿里云同时提供了存储视频的OSS,如果想要下载视频可以到视频详情页点击播放视频后,通过下载按钮进行下载,但如果是想要批量下载多个视频呢?单个点击效率太低,除此之外,这可能还需要一个比较大空间,为了让客户能自动下载到自己的电脑中,因此需要一个工具来实现这个功能。

方案

由于这个需求是客户自己个人临时需要用的,所以为了更快满足他的需求,方案如下:

RPA:Robotic process automation,机器人流程自动化,是通过软件机器人及人工智能技术为业务实现自动化的一种技术。

在本次方案中采用的的是影刀,大家也可以尝试使用其他的RPA工具。

在实现的过程中,我先将需要导出的视频通过视频点播的API接口生成了播放链接(这个链接我设置了有效期为30天,防止视频太大导致没下载完链接失效了),然后将所有的播放链接导出到 Excel 中,最后再用RPA工具直接读取 Excel 中的数据进行下载。

这里没有在RPA中直接读取数据库的原因是因为RPA工具需要安装在客户的电脑上运行,如果直接访问数据库,那么首先数据库需要开放对客户的网络白名单,同时还需要客户在自己的电脑上安装对应的数据库插件,并配置连接串,这从安全角度来说,明显是不行的。

以下使用PHP语言演示代码:

1、生成视频播放链接

安装扩展包

composer require alibabacloud/vod-20170321
<?php
  use AlibabaCloud\SDK\Vod\V20170321\Vod;
use AlibabaCloud\Tea\Exception\TeaError;
use AlibabaCloud\Tea\Utils\Utils;
use Darabonba\OpenApi\Models\Config;
use AlibabaCloud\SDK\Vod\V20170321\Models\GetPlayInfoRequest;
use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
//产品图片上传
class VideoExport extends Command
{
  public static function createClient($accessKeyId, $accessKeySecret){
    $config = new Config([
                         // 必填,您的 AccessKey ID
                         "accessKeyId" => $accessKeyId,
                         // 必填,您的 AccessKey Secret
                         "accessKeySecret" => $accessKeySecret
                         ]);
    // Endpoint 请参考 https://api.aliyun.com/product/vod
    $config->endpoint = "vod.cn-shanghai.aliyuncs.com";
    return new Vod($config);
  }
  /**
     * Execute the console command.
     *
     * @return mixed
     */
  public function handle()
  {
    //导出视频数据
    $accessKeyId = "your key";
    $accessKeySecret = 'your secret';
    $client = $this->createClient($accessKeyId,$accessKeySecret);
    $list = app("db")->connection("mysql")->table('tbvideo')->select(
      "video_id"
      "id"
    )->get();
    foreach ($list as $item) {
      $getPlayInfoRequest = new GetPlayInfoRequest([
                                                   "videoId" => $item->video_id,
                                                   "authTimeout" => 2592000,//30天,单位秒
                                                   "formats" => "mp4"//设置播放格式mp4,下载的时候也会是这个格式
                                                   ]);
      $runtime = new RuntimeOptions([]);
      $downloadUrl = "";//下载链接
      $title = "";//下载标题
      try {
        // 复制代码运行请自行打印 API 的返回值
        $ret = $client->getPlayInfoWithOptions($getPlayInfoRequest, $runtime);
        $downloadUrl = $ret->body->playInfoList->playInfo[0]->playURL;
        $title = $ret->body->videoBase->title;
      }
      catch (\Exception $error) {
        echo $error->message;
      }
      app("db")->connection("mysql")->table('tbvideo')->where("id",$item->id)
        ->update(["download_url"=>$downloadUrl,"title" => $title]);
    }
  }
}

2、RPA下载

以上就是批量下载视频点播的过程,如有更好的方法,欢迎交流。

相关文章
|
14天前
|
人工智能 分布式计算 DataWorks
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
2024年5月31日,在中国信通院组织的首批数据智能平台专项测试中,阿里云数据智能平台解决方案(MaxCompute、DataWorks、PAI)顺利完成测试。
85 5
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
|
5天前
|
Cloud Native 文件存储 数据库
《阿里云产品四月刊》—CPFS 智算版数据流动(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
5天前
|
Cloud Native 文件存储 对象存储
《阿里云产品四月刊》—CPFS 智算版数据流动(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—CPFS 智算版数据流动(3)
|
29天前
|
存储 负载均衡 安全
使用阿里云解决云上数据保存的挑战
在数字化时代,数据成为企业重要资产,但快速增长的数据管理变得复杂。为此,作者选择了阿里云作为云上数据存储解决方案。阿里云凭借其高性能、高可靠和高安全的云存储服务,如对象存储OSS、文件存储NAS等,解决了数据保存问题。此外,阿里云的多副本和多机房策略确保了数据的可靠性和安全性,同时,丰富的存储产品线满足了不同场景的需求,帮助企业降低存储成本并提高数据访问效率。通过实施数据迁移、访问和备份恢复,作者成功优化了数据管理并期待未来与阿里云的更多合作。
55 8
|
5天前
|
Cloud Native 对象存储 文件存储
《阿里云产品四月刊》—CPFS 智算版数据流动(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
9天前
|
Java 对象存储
阿里云OSS上传下载文件java
阿里云OSS上传下载文件java
50 0
|
2月前
|
SQL 运维 关系型数据库
阿里云DTS踩坑经验分享系列|数据不一致修复大法
阿里云数据传输服务DTS在帮助用户迁移数据、同步数据时,在某些复杂场景下会出现源库与目标库数据不一致的问题,造成数据错误,给用户带来困扰。由于数据不一致的问题很难完全避免,为了及时修复不一致的数据,DTS产品推出数据订正功能,保障用户在同步\迁移数据时的数据一致性。本文介绍了产生数据不一致的一些典型场景,并重点阐述了如何使用DTS数据订正功能来修复不一致的数据。
279 4
|
14天前
|
Java Apache Maven
杨校老师课堂之Maven下载与配置阿里云镜像
杨校老师课堂之Maven下载与配置阿里云镜像
53 0
|
2月前
|
OLAP 数据处理 Apache
众安保险 CDP 平台:借助阿里云数据库 SelectDB 版内核 Apache Doris 打破数据孤岛,人群圈选提速4倍
众安保险在CDP(Customer Data Platform,客户数据平台)建设中,通过引入阿里云数据库SelectDB版内核Apache Doris,成功打破了数据孤岛,并显著提升了人群圈选的速度
205 1
|
2月前
|
运维 数据挖掘 Serverless
阿里云Elasticsearch Serverless助力某电商平台公司实现商品订单数据的实时写入查询
某电商平台公司采用阿里云Elasticsearch Serverless解决方案,实现商品、订单和其他关键信息的写入和查询的实时响应。
237 1