保利威文档中心

幫助中心

分頁查詢暫存影片大綱

更新時間:2026-09-22 17:01:21

介面描述

1、分页查询指定频道下已创建的暂存视频大纲(AI看)任务,无需逐个提交暂存文件ID。
2、接口返回大纲和答题内容的 json 地址,内容需由调用方自行请求该地址获取。
3、接口仅查询已有结果,不会触发大纲生成。
4、接口支持 HTTPS 协议。

介面URL

https://api.polyv.net/live/v4/channel/record-file/subtitle/outline/list

請求方式

GET

介面限制

1、介面呼叫有頻率限制,建議使用 HTTPS,詳見呼叫限制

2、請在服務端產生簽章並呼叫介面,嚴禁在 Web、App、小程式等用戶端儲存或使用 appSecret

3、只回傳已建立過大綱任務的暫存檔案;從未發起過大綱產生的暫存檔案不會出現在結果中。

4、只回傳目前帳號有權限存取的頻道資料。

請求參數說明

參數名 必填 類型 說明
appId true String 帳號 appId,詳見取得金鑰
timestamp true Long 目前 13 位毫秒級時間戳,3 分鐘內有效
sign true String 32 位大寫 MD5 簽章,詳見簽章產生規則
channelId true Integer 頻道號
fileId false String 暫存檔案 ID。不傳則查詢該頻道下全部大綱任務;僅支援單個,不支援批量
pageNumber false Integer 分頁頁碼,預設 1
pageSize false Integer 每頁資料量,預設 10

請求範例

https://api.polyv.net/live/v4/channel/record-file/subtitle/outline/list?appId=yourAppId&timestamp=1700000000000&sign=YOUR_SIGN&channelId=1234567&pageNumber=1&pageSize=10

回應參數說明

參數名 類型 說明
code Integer HTTP 語義狀態碼,200 表示請求成功
status String 回應狀態,成功為 success,失敗為 error
success Boolean 是否成功回應
requestId String 請求 ID;排查問題時請一併提供,不應作為業務欄位儲存
error Object 請求失敗時的錯誤資訊,詳見error 參數說明
data Object 分頁資料,詳見data 參數說明

error參數說明

參數名 類型 說明
code Integer 錯誤碼
desc String 錯誤描述

data參數說明

參數名 類型 說明
pageNumber Integer 目前頁碼
pageSize Integer 每頁資料量
totalPages Long 總頁數
totalItems Long 總資料量
contents Array 目前頁大綱任務列表,詳見contents 參數說明

contents參數說明

參數名 類型 說明
fileId String 暫存檔案 ID,與暫存列表、字幕列表的 fileId 一致
status String 大綱產生狀態:init 初始化、srt_processing 字幕產生中、outline_processing 大綱產生中、audit 待審核、success 完成、fail 產生失敗
outlineUrl String 大綱內容的 json 位址,需自行請求該位址取得內容;未產生完成時為空,結構詳見大綱內容結構
questionUrl String 答題內容的 json 位址,需自行請求該位址取得內容;未產生或未開啟答題時為空,結構詳見答題內容結構
failReason String 產生失敗原因,statusfail 時回傳,其餘為空

同一頁中可能同時存在已完成、產生中、產生失敗的記錄,單個檔案的產生狀態不影響同頁其他檔案的回傳。

大綱內容結構

請求 outlineUrl 得到的 json 結構如下:

參數名 類型 說明
introduction String 整場內容簡介
outlineContent Array 大綱分段列表
outlineContent[].title String 分段標題
outlineContent[].startTime String 分段開始時間,格式 HH:mm:ss,SSS
outlineContent[].endTime String 分段結束時間,格式 HH:mm:ss,SSS
outlineContent[].startIndex Integer 分段對應字幕的開始序號
outlineContent[].endIndex Integer 分段對應字幕的結束序號
outlineContent[].summary Array 該分段的內容要點,字串陣列
outlineContent[].keyword Array 該分段的關鍵詞,字串陣列
{
  "introduction": "本场直播的整体内容简介",
  "outlineContent": [
    {
      "title": "分段标题",
      "startTime": "00:00:00,020",
      "endTime": "00:03:17,080",
      "startIndex": 0,
      "endIndex": 94,
      "summary": [
        "该分段的内容要点一",
        "该分段的内容要点二"
      ],
      "keyword": [
        "关键词一",
        "关键词二"
      ]
    }
  ]
}

答題內容結構

請求 questionUrl 得到的 json 結構如下:

參數名 類型 說明
questions Array 題目列表
questions[].questionId String 題目 ID
questions[].summaryId Integer 題目關聯的大綱分段序號
questions[].question String 題幹
questions[].selectOptions Array 選項列表
questions[].selectOptions[].option String 選項標識,如 AB
questions[].selectOptions[].content String 選項內容
questions[].answer String 正確答案,對應選項標識
questions[].type String 題目類型:single 單選、multiple 多選
questions[].videoReviewTime Long 影片回顧時間點,單位:秒
questions[].questionTriggerTime Long 題目彈出時間點,單位:秒
questions[].videoReviewTimeFormat String 影片回顧時間點,格式 HH:mm:ss,SSS
questions[].questionTriggerFormat String 題目彈出時間點,格式 HH:mm:ss,SSS
{
  "questions": [
    {
      "questionId": "示例题目ID",
      "summaryId": 1,
      "question": "题干内容",
      "selectOptions": [
        {
          "option": "A",
          "content": "选项A的内容"
        },
        {
          "option": "B",
          "content": "选项B的内容"
        }
      ],
      "answer": "A",
      "type": "single",
      "videoReviewTime": 120,
      "questionTriggerTime": 180,
      "videoReviewTimeFormat": "00:02:00,000",
      "questionTriggerFormat": "00:03:00,000"
    }
  ]
}

Java請求範例

快速接入基礎程式碼請 下載相關依賴原始碼點擊下載原始碼,下載後加入到自己的原始碼工程中即可。測試案例中的 HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。

強烈建議您使用直播Java SDK完成API的功能對接,直播Java SDK 對API呼叫邏輯、例外處理、資料簽章、HTTP請求執行緒池進行了統一封裝和最佳化。

private static final Logger log = LoggerFactory.getLogger(getClass());
/**
 * 分页查询暂存视频大纲
 * @throws IOException
 * @throws NoSuchAlgorithmException
 */
@Test
public void pageRecordFileOutlineTest() throws IOException, NoSuchAlgorithmException {
    //公共参数,填写自己的实际参数
    String appId = super.appId;
    String appSecret = super.appSecret;
    String timestamp = String.valueOf(System.currentTimeMillis());

    //业务参数
    String url = "https://api.polyv.net/live/v4/channel/record-file/subtitle/outline/list";
    String channelId = "1234567";

    //http 调用逻辑
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp", timestamp);
    requestMap.put("channelId", channelId);
    requestMap.put("pageNumber", "1");
    requestMap.put("pageSize", "10");
    requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));

    String response = HttpUtil.get(url, requestMap);
    log.info("测试分页查询暂存视频大纲成功:{}", response);
    //do somethings
}

回應範例

系統全域錯誤說明詳見全域錯誤說明

成功範例:

{
  "code": 200,
  "status": "success",
  "success": true,
  "requestId": "示例请求ID",
  "error": null,
  "data": {
    "pageNumber": 1,
    "pageSize": 10,
    "totalPages": 1,
    "totalItems": 3,
    "contents": [
      {
        "fileId": "示例暂存文件ID1",
        "status": "success",
        "outlineUrl": "https://liveimages.videocc.net/video-outline/xxxxxxxxxx/示例大纲文件.json",
        "questionUrl": "https://liveimages.videocc.net/video-question/xxxxxxxxxx/示例答题文件.json",
        "failReason": null
      },
      {
        "fileId": "示例暂存文件ID2",
        "status": "outline_processing",
        "outlineUrl": null,
        "questionUrl": null,
        "failReason": null
      },
      {
        "fileId": "示例暂存文件ID3",
        "status": "fail",
        "outlineUrl": null,
        "questionUrl": null,
        "failReason": "找不到暂存文件字幕"
      }
    ]
  }
}

異常範例:

{
  "code": 400,
  "status": "error",
  "requestId": "示例请求ID",
  "error": {
    "code": 20001,
    "desc": "application not found."
  },
  "success": false
}
联系客服,在线咨询
在线咨询