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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 如何下载阿里云视频点播(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下载

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

相关文章
|
1月前
|
关系型数据库 MySQL 数据挖掘
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
DTS 作为阿里云核心的数据交互引擎,以其高效的实时数据流处理能力和广泛的数据源兼容性,为用户构建了一个安全可靠、可扩展、高可用的数据架构桥梁。阿里云数据库 SelectDB 通过与 DTS 联合,为用户提供了简单、实时、极速且低成本的事务数据分析方案。用户可以通过 DTS 数据传输服务,一键将自建 MySQL / RDS MySQL / PolarDB for MySQL 数据库,迁移或同步至阿里云数据库 SelectDB 的实例中,帮助企业在短时间内完成数据迁移或同步,并即时获得深度洞察。
阿里云 SelectDB 携手 DTS ,一键实现 TP 数据实时入仓
|
1月前
|
Java API 开发工具
如何用阿里云 oss 下载文件
阿里云对象存储服务(OSS)提供了多种方式下载文件,以下讲解下各种方式的下载方法
980 1
|
1月前
|
SQL 人工智能 数据挖掘
阿里云DMS,身边的智能化数据分析助手
生成式AI颠覆了人机交互的传统范式,赋予每个人利用AI进行低门槛数据分析的能力。Data Fabric与生成式AI的强强联合,不仅能够实现敏捷数据交付,还有效降低了数据分析门槛,让人人都能数据分析成为可能!阿里云DMS作为阿里云统一的用数平台,在2021年初就开始探索使用Data Fabric理念构建逻辑数仓来加速企业数据价值的交付,2023年推出基于大模型构建的Data Copilot,降低用数门槛,近期我们将Notebook(分析窗口)、逻辑数仓(Data Fabric)、Data Copilot(生成式AI)进行有机组合,端到端的解决用数难题,给用户带来全新的分析体验。
110149 118
阿里云DMS,身边的智能化数据分析助手
|
2月前
|
存储 人工智能 Cloud Native
阿里云瑶池数据库训练营权益:《玩转Lindorm》学习资料开放下载!
阿里云瑶池数据库训练营权益:《玩转Lindorm》学习资料开放下载!
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云瑶池数据库训练营权益:PolarDB开发者大会主题资料开放下载!
阿里云瑶池数据库训练营权益:PolarDB开发者大会主题资料开放下载!
|
2月前
|
存储 数据可视化 数据管理
基于阿里云服务的数据平台架构实践
本文主要介绍基于阿里云大数据组件服务,对企业进行大数据平台建设的架构实践。
723 2
|
2月前
|
人工智能 Cloud Native 关系型数据库
阿里云瑶池数据库训练营权益:2022-2023云栖大会主题资料开放下载!
阿里云瑶池数据库训练营权益:2022-2023云栖大会主题资料开放下载!
|
1月前
|
消息中间件 编解码 运维
阿里云 Serverless 异步任务处理系统在数据分析领域的应用
本文主要介绍异步任务处理系统中的数据分析,函数计算异步任务最佳实践-Kafka ETL,函数计算异步任务最佳实践-音视频处理等。
175313 348
|
1月前
|
存储 数据采集 Apache
众安保险 CDP 平台:借助阿里云数据库 SelectDB 版内核 Apache Doris 打破数据孤岛,人群圈选提速4倍
随着业务在金融、保险和商城领域的不断扩展,众安保险建设 CDP 平台以提供自动化营销数据支持。早期 CDP 平台依赖于 Spark + Impala + Hbase + Nebula 复杂的技术组合,这不仅导致数据分析形成数据孤岛,还带来高昂的管理及维护成本。为解决该问题,众安保险引入 Apache Doris,替换了早期复杂的技术组合,不仅降低了系统的复杂性,打破了数据孤岛,更提升了数据处理的效率。
众安保险 CDP 平台:借助阿里云数据库 SelectDB 版内核 Apache Doris 打破数据孤岛,人群圈选提速4倍
|
2月前
|
域名解析 应用服务中间件 对象存储
解决阿里云oss图片浏览器访问直接下载而不是打开
解决阿里云oss图片浏览器访问直接下载而不是打开
387 0