Coder Social home page Coder Social logo

vod-migrate's Introduction

logo

简介

VOD Migrate Tool 是一个集成了数据迁移功能的一体化工具。通过编写简单的配置文件,用户可以将源地址媒体文件快速迁移至 VOD 中。

支持的数据源

  • 本地文件夹
  • Url列表
  • 腾讯云 COS
  • AWS S3
  • 阿里云 OSS
  • 七牛云 对象存储

使用环境

系统环境

支持 Windows、Linux 和 macOS 系统。

软件依赖

  • Python 2.7/3.4+。
  • 最新版本的 pip。

安装

通过 Pip 安装(推荐)

您可以通过 pip 安装方式将 SDK 安装到您的项目中,如果您的项目环境尚未安装 pip,请详细参见 pip 官网安装。

pip install vodmigrate

通过源码包安装

下载最新代码,解压后:

git clone https://github.com/tencentyun/vod-migrate.git
cd vod-migrate
python setup.py install

使用示例

执行命令: vodmigrate config.toml

?

  • 迁移完成后,结果将输出到配置项"migrateResultOutputPath"对应的目录,文件名为: vod_migrate_result.txt。

配置文件说明

配置文件采用toml格式(参考:test/config_template.toml,请确保文件为UTF-8编码),内容可以分为以下几部分:

1. 配置迁移类型

type 表示迁移类型,用户根据迁移需求填写对应的标识。例如,需要将本地数据迁移至 VOD,则 [migrateType] 的配置内容是 type=migrateLocal

[migrateType]
type="migrateLocal"

目前支持的迁移类型如下:

migrateType 描述
migrateLocal 从本地迁移至 VOD
migrateUrl 下载 URL 迁移到 VOD
migrateCos 从 腾讯云 COS 迁移至 VOD
migrateAws 从 AWS S3 迁移至 VOD
migrateAli 从阿里云 OSS 迁移至 VOD
migrateQiniu 从七牛迁移至 VOD

2. 配置迁移任务

用户根据实际的迁移需求进行相关配置,主要包括迁移至 VOD 信息配置及迁移任务相关配置。

# 迁移工具公共配置
[common]
secretId = "SECRETID"
secretKey = "SECRETKEY"
region = 'REGION'
subAppId = 0
concurrency = 5
supportMediaClassification = [ 'video', 'audio', 'image' ]
excludeMediaType = [  ]
migrateDbStoragePath = ''
migrateResultOutputPath = ''
名称 描述
secretId 用户密钥 SecretId,请将 SECRETID 替换为您的真实密钥信息。可前往 访问管理控制台 中的云 API 密钥页面查看获取
secretKey 用户密钥 SecretKey,请将 SECRETKEY 替换为您的真实密钥信息。可前往 访问管理控制台 中的云 API 密钥页面查看获取
region 接入点地域,即请求到哪个地域的云点播服务器,不同于存储地域,具体参考支持的 地域列表
subAppId 点播子应用 ID 。如果需要将文件迁移到子应用,则将该字段填写为子应用 ID;否则无需填写该字段。
concurrency 并发迁移文件的数量,最大值50
supportMediaClassification 支持迁移的媒体类型列表:video(视频),audio(音频),image(图像)
excludeMediaType 需要排除的文件类型列表
migrateDbStoragePath 迁移db保存路径,为空表示当前目录
migrateResultOutputPath 迁移结果保存路径(一条迁移记录对应一行json格式字符串),为空表示当前目录

文件类型说明:

  • 视频:MP4、TS、FLV、WMV、ASF、RM、RMVB、MPG、MPEG、3GP、MOV、WEBM、MKV、AVI,不支持HLS、DASH
  • 音频:MP3、M4A、FLAC、OGG、WAV
  • 图像:JPG、JPEG、PNG、GIF、BMP、TIFF、AI、CDR、EPS

3. 配置数据源信息

根据[migrateType]的迁移类型配置相应的分节。例如[migrateType]的配置内容是type=migrateLocal, 则用户只需配置[migrateLocal]分节即可。

3.1 配置本地数据源 migrateLocal

若从本地迁移至 VOD,则进行该部分配置,具体配置项及说明如下:

# 从本地迁移到 VOD 配置分节
[migrateLocal]
localPath = ''
excludes = [ ]
配置项 描述
localPath 本地路径,要求格式为绝对路径
excludes 要排除的目录的绝对路径,表示将 localPath 下面某些目录下文件不进行迁移
3.2 配置 URL 列表数据源 migrateUrl

若从指定 URL 列表迁移至 VOD,则进行该部分配置,具体配置项及说明如下:

# 从 URL 列表下载迁移到 VOD 配置分节
[migrateUrl]
urllistPath = 'D:\folder\urllist.txt'
配置项 描述
urllistPath 存储URL 列表的文件绝对路径;文件的内容为 URL 文本,一行一条 URL 原始地址。
3.3 配置 COS 数据源 migrateCos

若从腾讯云 COS 迁移至 VOD,则进行该部分配置,具体配置项及说明如下:

# 从腾讯云 COS 迁移至 VOD 配置分节
[migrateCos]
region = 'ap-shanghai'
bucket = 'examplebucket-1250000000'
secretId = 'COS_SECRETID'
secretKey = 'COS_SECRETKEY'
prefix = ''
配置项 描述
region Bucket 的 Region 信息,请参照 可用地域
bucket Bucket 的名称,命名格式为 <BucketName-APPID> ,即 Bucket 名必须包含 APPID,例如 examplebucket-1250000000
secretId Bucket 隶属的用户的密钥 SecretId,可在 云 API 密钥 查看。
secretKey Bucket 隶属的用户的密钥 secret_key,可在 云 API 密钥 查看。
prefix 要迁移的路径的前缀,如果是迁移 Bucket 下所有的数据,则 prefix 为空
3.4 配置 AWS 数据源 migrateAws

若从 AWS 迁移至 VOD,则进行该部分配置,具体配置项及说明如下:

# 从 AWS 迁移到 VOD 配置分节
[migrateAws]
region = 'ap-northeast-2'
bucket = 'bucket-aws'
accessKeyId = 'AccessKeyId'
accessKeySecret = 'AccessKeySecret'
prefix = ''
配置项 描述
region AWS 对象存储 Region
bucket AWS 对象存储 Bucket 名称
accessKeyId 将 AccessKeyId 替换为用户的密钥
accessKeySecret 将 AccessKeySecret 替换为用户的密钥
prefix 要迁移的路径的前缀,如果是迁移 Bucket 下所有的数据,则 prefix 为空
3.5 配置阿里 OSS 数据源 migrateAli

若从阿里云 OSS 迁移至 VOD,则进行该部分配置,具体配置项及说明如下:

# 从阿里 OSS 迁移到 VOD 配置分节
[migrateAli]
bucket = 'bucket-aliyun'
accessKeyId = 'yourAccessKeyId'
accessKeySecret = 'yourAccessKeySecret'
endPoint = 'oss-cn-hangzhou.aliyuncs.com'
prefix = ''
配置项 描述
bucket 阿里云 OSS Bucket 名称
accessKeyId 将 yourAccessKeyId 替换为用户的密钥
accessKeySecret 将 yourAccessKeySecret 替换为用户的密钥
endPoint 阿里云 endpoint 地址
prefix 要迁移的路径的前缀,如果是迁移 Bucket 下所有的数据, 则 prefix 为空
3.6 配置七牛数据源 migrateQiniu

若从七牛迁移至 VOD,则进行该部分配置,具体配置项及说明如下:

# 从七牛迁移到 VOD 配置分节
[migrateQiniu]
bucket = 'bucket-qiniu'
accessKeyId = 'AccessKey'
accessKeySecret = 'SecretKey'
endPoint = 'www.bkt.clouddn.com'
prefix = ''
配置项 描述
bucket 七牛对象存储 Bucket 名称
accessKeyId 将 AccessKey 替换为用户的密钥
accessKeySecret 将 SecretKey 替换为用户的密钥
endPoint 七牛下载地址,对应 downloadDomain
prefix 要迁移的路径的前缀,如果是迁移 Bucket 下所有的数据,则 prefix 为空

限制说明

  • 该工具定位为一次性的迁移工具;迁移分为:源站文件扫描、迁移中、迁移完成,三个阶段。文件扫描完成后,如果配置需变更,这时候需将db文件清空(删除migrate.db或者修改db存储路径),以规避配置文件md5校验报错;
  • 迁移的文件必须显示的带后缀;
  • 暂不支持HLS/DASH迁移;
  • 迁移后无法维持原视频的目录关系、每个视频都是独立的 FileId,相互无关联;

vod-migrate's People

Contributors

soulhdb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.