Package: vodmigrate
简介VOD Migrate Tool 是一个集成了数据迁移功能的一体化工具。通过编写简单的配置文件，用户可以将源地址媒体文件快速迁移至 VOD 中。支持的数据源本地文件夹Url列表腾讯云 COSAWS S3阿里云 OSS七牛云 对象存储使用环境系统环境支持 Windows、Linux 和 macOS 系统。软件依赖Python 2.7/3.4+。最新版本的 pip。安装通过 Pip 安装(推荐)您可以通过 pip 安装方式将 SDK 安装到您的项目中，如果您的项目环境尚未安装 pip，请详细参见 pip 官网安装。pip install vodmigrate通过源码包安装下载最新代码，解压后：gitclonehttps://github.com/tencentyun/vod-migrate.gitcdvod-migrate
pythonsetup.pyinstall使用示例执行命令:
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从本地迁移至 VODmigrateUrl下载 URL 迁移到 VODmigrateCos从 腾讯云 COS 迁移至 VODmigrateAws从 AWS S3 迁移至 VODmigrateAli从阿里云 OSS 迁移至 VODmigrateQiniu从七牛迁移至 VOD2. 配置迁移任务用户根据实际的迁移需求进行相关配置，主要包括迁移至 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并发迁移文件的数量，最大值50supportMediaClassification支持迁移的媒体类型列表：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、EPS3. 配置数据源信息根据[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 = ''配置项描述regionBucket 的 Region 信息，请参照可用地域bucketBucket 的名称，命名格式为<BucketName-APPID>，即 Bucket 名必须包含 APPID，例如 examplebucket-1250000000secretIdBucket 隶属的用户的密钥 SecretId，可在云 API 密钥查看。secretKeyBucket 隶属的用户的密钥 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 = ''配置项描述regionAWS 对象存储 RegionbucketAWS 对象存储 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七牛下载地址，对应 downloadDomainprefix要迁移的路径的前缀，如果是迁移 Bucket 下所有的数据，则 prefix 为空限制说明该工具定位为一次性的迁移工具；迁移分为：源站文件扫描、迁移中、迁移完成，三个阶段。文件扫描完成后，如果配置需变更，这时候需将db文件清空（删除migrate.db或者修改db存储路径），以规避配置文件md5校验报错；迁移的文件必须显示的带后缀；暂不支持HLS/DASH迁移；迁移后无法维持原视频的目录关系、每个视频都是独立的 FileId，相互无关联；