已创建Azure Video Indexer资源后,如何迁移AMS带DRM视频及上传新视频
迁移Azure Media Services加密视频至Azure Video Indexer + 批量上传指南
一、迁移现有DRM保护视频的前置步骤
Azure Video Indexer(AVI)需要读取视频内容完成索引分析,因此必须先解除原AMS视频的DRM保护:
- 利用AMS的API或本地工具获取解密后的源文件:
- 通过AMS的
GetContentKeyPolicy接口获取解密密钥,结合视频加密元数据完成解密 - 或使用AMS官方下载工具,在下载加密视频时自动解密(需持有合法密钥权限)
- 通过AMS的
- 确认解密后的视频格式为AVI支持的类型(MP4、MOV、WMV等常见格式均可)
二、批量迁移解密视频到AVI
方案1:API自动化迁移(适合大型库)
- 获取AVI账户凭证:在Azure门户的AVI资源页,进入「API访问」标签,复制账户ID、区域和访问令牌
- 编写脚本循环调用AVI的上传API:
若直接上传本地文件,示例HTTP请求:
若视频存于Azure Blob,可直接用SAS URL导入(无需本地下载):POST https://api.videoindexer.ai/{region}/Accounts/{accountId}/Videos?name={video_name}&privacy=Private&accessToken={token} Content-Type: multipart/form-data [视频文件二进制数据]
在API参数中指定videoUrl为Blob的SAS链接,同时设置callbackUrl接收导入完成通知,实现异步批量处理
方案2:Azure Data Factory无代码迁移
- 创建ADF管道,源端选择存储解密视频的Azure Blob容器
- 目标端选择「Azure Video Indexer」,配置AVI账户ID、区域和访问令牌
- 设置管道触发规则(如定时触发),实现全自动批量迁移
三、类AZCopy风格批量上传新视频到AVI
方案1:直接用AZCopy上传到AVI关联Blob容器
AVI每个账户都对应一个后台Blob存储容器,上传到该容器后AVI会自动扫描并处理:
- 登录AVI门户,进入账户设置,找到关联的存储账户信息,获取Blob容器的SAS URL
- 执行AZCopy命令批量上传:
azcopy copy "/local/video/path/*" "avi_blob_container_sas_url" --recursive=true - 上传完成后,AVI会自动识别新视频并启动索引流程
方案2:AVI CLI工具批量上传
- 安装CLI工具:
npm install -g @azure/video-indexer - 配置账户信息:
video-indexer configure --accountId {your_account_id} --region {your_region} --accessToken {your_access_token} - 批量上传本地文件夹内的视频:
video-indexer upload --folder "/local/video/folder" --namePrefix "batch_upload_"
关键注意事项
- DRM后续配置:迁移完成后,若需重新启用DRM保护,可在AVI中配置Azure DRM集成,实现视频播放时的加密
- 索引自定义:上传时可通过API/CLI参数指定索引规则(如识别语言、是否提取字幕、是否分析人脸等)
- 错误重试:批量操作建议添加日志记录,对上传失败的视频单独重试
内容的提问来源于stack exchange,提问作者JavaScript Developers
相关产品推荐
相关产品推荐

