vod migrate tool
Project description
简介
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,相互无关联;
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vodmigrate-1.0.12.tar.gz
.
File metadata
- Download URL: vodmigrate-1.0.12.tar.gz
- Upload date:
- Size: 19.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c02809de5065604ac6bb0da396dd7a0ddffcc2d273e5231f907db84806b36a8 |
|
MD5 | b7bd5c1b64a3a23fcb0e9e03be10c4dd |
|
BLAKE2b-256 | 37fe9f8d5e16158f1993e2a91beff9f04d3f25943edd43820a28acc31f8ac9f5 |
File details
Details for the file vodmigrate-1.0.12-py2.py3-none-any.whl
.
File metadata
- Download URL: vodmigrate-1.0.12-py2.py3-none-any.whl
- Upload date:
- Size: 22.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a2dd0b375487974f91ad2550c9fcfaa9a28dca2f654de402ab122e1640670e6 |
|
MD5 | 68088d328290d7edaeee908103faf073 |
|
BLAKE2b-256 | 826e881964c664d5f6d2d43d5d757842bd0fc6f59014383014f5e89ca92a50fe |