Base URLs:

鉴权与返回约定(请先阅读)

Header 鉴权参数

  • X-ACCESSID:用户 AK 的 accessId
  • X-TIMESTAMP:当前时间戳(秒)
  • X-SIGNATURENONCE:签名随机串(建议每次请求使用新的随机值,避免重放)
  • X-SIGNATURE:签名值

X-SIGNATURE 计算规则

将以下字段按顺序拼接,中间以换行符 \n 连接:

  1. accessId(即 X-ACCESSID
  2. accessKey(用户 AK 的 accessSecret)
  3. signatureNonce(即 X-SIGNATURENONCE
  4. timeStamp(即 X-TIMESTAMP
  5. body(HTTP 请求原始 Body 字符串;无 Body 时为空字符串)

拼接字符串示例:

stringToSign = accessId + "\n" + accessKey + "\n" + signatureNonce + "\n" + timeStamp + "\n" + body

最终签名:

X-SIGNATURE = md5(stringToSign)

返回码约定

  • flag = 100:请求成功
  • flag != 100:请求失败,具体原因见 flagString

请求格式约定

  • 所有接口统一使用 application/json 作为请求体格式。
  • 请在请求 Header 中设置 Content-Type: application/json

上传接口测试样例视频

为便于联调「分片上传 → 完成上传」流程,可使用下方公开测试视频作为本地源文件:下载后按接口要求将各分片做 Base64 编码,再依次调用下文 POST 上传文件分片POST 完成分片上传 两个接口即可完整走通。

项目 说明
建议文件名 test.mp4(与本地保存名、fileName 参数保持一致即可)
下载地址(HTTPS) https://static-pro.guangdianyun.tv/common/file/test.mp4

该文件仅用于接口功能验证与联调,请勿作为生产业务素材依赖;实际分片时请遵守单分片小于 10M 等下文参数约束。

POST 上传文件分片

POST /mls/mlsOpenApi/uploadMlsPart

Body 请求参数

{
  "fileName": "test.mp4",
  "part": "base64_encode('xxxxxxx')",
  "partNum": 1
}

请求参数

名称 类型 必选 说明
fileName string 完整文件名(含后缀)
part string 分片内容需要将做一次base64_encode;分片小于10M
partNum int 分片序号,取值范围 1~1000

返回示例

200 Response

{
    "flag": 100,
    "flagString": "success",
    "data": {
        "partSize": 2097152,
        "partName": "1-test.mp4.part"
    }
}

POST 完成分片上传

POST /mls/mlsOpenApi/completeMlsUpload

Body 请求参数

{
  "fileName": "test.mp4"
}

请求参数

名称 类型 必选 说明
fileName string 与分片上传阶段保持一致的文件名(含后缀)

返回示例

200 Response

{
    "flag": 100,
    "flagString": "success",
    "data": {
        "fileName": "test.mp4",
        "size": 38112078,
        "location": "http://1089.long-vod.cdn.jstest.aodianyun.cn/u/1089/mp4/0x0/9c259c15483898854dad9938736a6c78.mp4", //视频地址
        "thumbnail": "http://cdn-dvr.jstest.aodianyun.cn/pic/g-dvr/u/1089/images/9c259c15483898854dad9938736a6c78/0/0" // 封面图
    }
}

POST 获取用户可用的语种

POST /mls/mlsOpenApi/getSupportLanguageList

请求参数

返回示例

200 Response

{
    "flag": 100,
    "flagString": "success",
    "data": {
        "list": [
            {
                "id": 2,
                "language_name": "英文",
                "language_code": "english",
                "enable": 1,
                "create_time": 1770444003,
                "uptime": 1770444003
            },
            {
                "id": 5,
                "language_name": "西班牙语",
                "language_code": "spanish",
                "enable": 1,
                "create_time": 1770444003,
                "uptime": 1770444003
            },
            {
                "id": 6,
                "language_name": "俄语",
                "language_code": "russian",
                "enable": 1,
                "create_time": 1770444003,
                "uptime": 1770444003
            },
            {
                "id": 7,
                "language_name": "法语",
                "language_code": "french",
                "enable": 1,
                "create_time": 1770444003,
                "uptime": 1770444003
            },
            {
                "id": 8,
                "language_name": "德语",
                "language_code": "german",
                "enable": 1,
                "create_time": 1770444003,
                "uptime": 1770444003
            },
            {
                "id": 9,
                "language_name": "意大利语",
                "language_code": "italian",
                "enable": 1,
                "create_time": 1770444003,
                "uptime": 1770444003
            },
            {
                "id": 10,
                "language_name": "葡萄牙语",
                "language_code": "portuguese",
                "enable": 1,
                "create_time": 1770444003,
                "uptime": 1770444003
            },
            {
                "id": 11,
                "language_name": "印度尼西亚语",
                "language_code": "indonesian",
                "enable": 1,
                "create_time": 1770444003,
                "uptime": 1770444003
            },
            {
                "id": 12,
                "language_name": "越南语",
                "language_code": "vietnamese",
                "enable": 1,
                "create_time": 1770444003,
                "uptime": 1770444003
            },
            {
                "id": 13,
                "language_name": "波兰语",
                "language_code": "polish",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 14,
                "language_name": "土耳其语",
                "language_code": "turkish",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 15,
                "language_name": "荷兰语",
                "language_code": "dutch",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 17,
                "language_name": "阿拉伯语",
                "language_code": "arabic",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 19,
                "language_name": "韩语",
                "language_code": "korean",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 20,
                "language_name": "日语",
                "language_code": "japanese",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 23,
                "language_name": "丹麦语",
                "language_code": "danish",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 24,
                "language_name": "芬兰语",
                "language_code": "finnish",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 25,
                "language_name": "挪威语",
                "language_code": "norwegian",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 26,
                "language_name": "瑞典语",
                "language_code": "swedish",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 27,
                "language_name": "希腊语",
                "language_code": "greek",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 29,
                "language_name": "印地语",
                "language_code": "hindi",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            },
            {
                "id": 30,
                "language_name": "马来语",
                "language_code": "malay",
                "enable": 1,
                "create_time": 1772611506,
                "uptime": 1772611506
            }
        ]
    }
}

POST 获取任务列表

POST /mls/mlsOpenApi/getUserMlsList

Body 请求参数

{
  "page": 1,
  "num": 15,
  "resStatus": -1,
  "title": "1",
  "episodeId": ""
}

请求参数

名称 类型 必选 说明
page int 页码,默认从 1 开始
num int 每页数量
resStatus int 状态筛选,-1 表示全部 0待处理,1处理中,2部分完成,3全部完成,4全部失败
title string 按项目标题模糊筛选
episodeId int 按 ID 精确筛选

返回示例

200 Response

{
  "flag": 100,
  "flagString": "success",
  "data": [
    {
      "episodeId": 26,
      "dramaId": 14,
      "uin": 1089,
      "parentId": "01",
      "userId": 1089,
      "title": "工程1",
      "duration": 32,
      "origin_url": "https://mls-long.jstest.aodianyun.cn/u/1089/mp4/0x0/mls-108929d58182668ebbe0aa7bdb1030f10953.mp4",
      "languages": "italian",
      "resStatus": 0,
      "results": "[{\"language\":\"italian\",\"status\":0,\"uptime\":1776133477,\"url\":\"\"}]",
      "is_pay": 0,
      "is_del": 0,
      "create_time": 1776133477,
      "uptime": 1776133477
    }
  ],
  "total": 3
}

POST 创建任务

POST /mls/mlsOpenApi/addMlsTask

Body 请求参数

{
  "title": "工程1",
  "origin_url": "http://1089.long-vod.cdn.jstest.aodianyun.cn/u/1089/mp4/0x0/mls-108929d58182668ebbe0aa7bdb1030f10953.mp4",
  "languages": "italian"
}

请求参数

名称 类型 必选 说明
title string 标题
origin_url string 源视频地址(可访问的媒体 URL)
languages string 目标语种编码(如:italian), 多个以逗号隔开

返回示例

200 Response

{
    "flag": 100,
    "flagString": "success",
    "data": {
        "episodeId": 30
    }
}

POST 编辑任务

POST /mls/mlsOpenApi/updateMlsTask

Body 请求参数

{
  "episodeId": 26,
  "title": "222",
  "languages": "indonesian"
}

请求参数

名称 类型 必选 说明
episodeId int ID
title string 任务标题
languages string 其它目标语种编码(如:indonesian), 多个以逗号隔开

返回示例

200 Response

{
  "flag": 100,
  "flagString": "success"
}

POST 删除任务

POST /mls/mlsOpenApi/deleteMlsTask

Body 请求参数

{
  "episodeId": 27
}

请求参数

名称 类型 必选 说明
episodeId int ID

返回示例

200 Response

{
  "flag": 100,
  "flagString": "success"
}
最后编辑: 广电云技术部  文档更新时间: 2026-04-15 10:16   作者:广电云技术部