智能点播VideoWorks

    VOD迁移VideoWorks方案

    场景描述

    由于VOD和VideoWorks是两套数据体系,数据不相通。
    VOD的用户在使用VideoWorks时,对于增量数据,可以直接使用VideoWorks。
    对于存量数据想要迁移到VideoWorks时,针对VOD中的几种数据分别处理:

    • 源视频:需要将VOD中的源视频迁移到VideoWorks中;
    • 转码后的数据信息:不做迁移,在VideoWorks中根据源视频重新自动转码一次;
    • 配置信息:需要用户根据VOD中的配置,在VideoWorks中重新配置;
    • 统计类数据:不做迁移。

    VideoWorks对接

    在VOD数据迁移前,首先要完成VideoWork的对接,对接流程参考官方说明文档: https://cloud.baidu.com/doc/VideoWorks/s/4jyz7sjkq

    2.1 VideoWorks配置

    全局设置

    • 存储管理:创建要使用的源文件的存储bucket和转码后文件的存储bucket,如果已有,可以复用;
    • 域名管理:配置要访问的域名,也可以用bos中开通的cdn域名;
    • 通知管理:配置回调的通知地址。

    处理设置

    • 转码队列:转码需要配置MCT的队列,如果已有,可以复用;
    • 水印模板:如果转码中需要用到水印,需要配置水印模板;不需要,则可以跳过;
    • 转码模板:对应VOD中转码模板组下的模板;可参考VOD中的模板参数配置VideoWorks中的模板。其中VideoWorks中模板配置的必填参数如下:

      • “基础配置”中“模板名称”可自定义;“音/视频容器”对应VOD模板的“容器”;
      • “视频”配置中“编码规格”对应VOD模板的“编码规格”;“码率”对应VOD模板的“视频码率”;“最大宽度”对应VOD模板中“分辨率”的宽;“最大高度”对应VOD模板中“分辨率”的高;
      • “音频”配置中,“码率”如果没有特殊配置,可填默认的“160”; -“内容加密”配置中,“密钥策略”对应VOD模板中“内容加密策略”;
      • 其他非必填字段可默认。

    工作流设置

    • 根据老的模板组中转码个数配置相应的转码节点;
    • 同时要配置一个缩略图节点:缩略图的输出bucket和队列可自定义选择,其他配置可默认。

    ⚠️以上的配置都完成后,可通过console创建一个任务,验证一下转码的效果与VOD中的效果是否一致。
    举例:用户在VOD有一个模板组下有4个模板,则需要在VideoWorks中配置4个转码模板和一个缩略图模板。

    VOD的模板组:
    image2020-5-19_21-17-32.png

    VideoWorks中工作流配置:
    image2020-5-19_21-24-36.png

    2.2 研发对接API

    VideoWorks中的数据接口和数据结构都与VOD中的不相同,需要研发同学重新对接一下。

    2.2.1 媒资处理
    VOD中媒资处理分为三步:申请媒资→ 上传媒资→处理媒资
    VideoWorks中媒资处理分为两步:上传媒资→处理媒资
    其中上传媒资:可以调用BOS的相关工具和SDK上传要处理的媒资

    处理媒资接口文档:https://cloud.baidu.com/doc/VideoWorks/s/Qjypghncb

    2.2.2 媒资查询
    媒资查询相关的接口文档:https://cloud.baidu.com/doc/VideoWorks/s/Qjypghncb

    VOD数据迁移

    将VOD的源视频迁移到VideoWorks中用户自己的bucket上。
    操作流程如下:

    1)申请VOD源视频读权限

    官网工单申请开通对VOD中源视频的读权限,需提供userID。
    客户需记录源视频存储的bucket。

    2)VideoWorks配置

    确认VideoWorks中已经创建好存放源视频的bucket。“全局设置 → 存储管理”。
    配置VideoWorks中迁移后的视频自动转码。“全局设置 → 存储管理 → 绑定工作流”创建规则,如下图示例:

    image2020-5-19_18-50-25.png

    其中监测事件:选择CopyObject

    覆盖资源:配置要迁移的资源路径,资源后缀为空

    触发工作流:选择要使用处理的工作流

    配置完成后,bucket上复制新文件时,会自动进行转码处理。

    3)迁移数据

    可以使用BOS的CMD工具,批量复制VOD的源视频到VideoWorks的bucket中。CMD工具介绍:https://cloud.baidu.com/doc/BOS/s/Sjwvyqetg

    使用CMD的sync方法进行数据复制,命令示例:bcecmd bos sync bos:/{sourceBucket}/src/ bos:/{targetBucket}/{path}/

    其中,sourceBucket为步骤1 中VOD源视频存储的bucket;

    {sourceBucket}/src/为VOD中源视频的存储的路径,VOD中源文件的存储地址为:/src/{mediaId};

    targetBucket为步骤2中绑定工作流的bucket;

    path为步骤2中绑定工作流中规则里配置的路径。

    步骤2中配置了自动触发的工作流,即数据复制完成后会自动触发工作流进行转码。转码后会生成一个新的mediaId。
    举例:VOD中的媒资:mda-keqitvim036igjui,源视频在VOD中的存储地址是:bucket/src/mda-keqitvim036igjui;
    迁移到VideoWorks的bucket01中,路径是path01;则迁移后的存储地址为:/bucket01/path/mda-keqitvim036igjui。
    迁移后会触发工作流进行转码,生成一个新的媒资Id。

    4) 数据关联

    步骤3中迁移后的VideoWorks的源数据路径为:/bucket/path/{mediaId}。
    用户可以调用VideoWorks中【查询媒资列表】接口遍历VideoWorks中的媒资数据,根据返回的sourceKey字段(即源视频的存储路径),解析出VOD的mediaId。即可以将VideoWorks的媒资跟VOD中的媒资关联起来。

    后续处理

    1)VOD中的数据
    对于VOD中的数据数据迁移验证完成后,如果老数据不再使用,可以调用删除接口进行删除。

    2)VideoWorks中bucket的配置
    在数据迁移的步骤2中,配置bucket上绑定工作流自动触发转码,如果后续不需要自动转码,可以删除绑定规则。

    上一篇
    服务端Java-SDK