保利威文档中心

幫助中心

搜尋影片

更新時間:2023-07-17 09:59:52

介面描述

1、搜索视频详细内容
2、接口支持https协议

介面URL

http://api.polyv.net/v2/video/search-videos

線上API呼叫

請求方式

GET

介面限制

1、介面同時支援HTTP、HTTPS,建議使用HTTPS確保介面安全,介面呼叫有頻率限制,詳細請查看

請求參數說明

參數名 必選 類型 說明
userid true String 保利威點播帳戶id,可參考【取得金鑰】取得,取得路徑:官網->登入->點播(API介面)
ptime true Long 目前時間的毫秒級時間戳記,3分鐘內有效
sign true String 簽名,為40位大寫的SHA1值,產生簽名的secretkey金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則
filters false String 需要回傳的影片資訊,多個以英文逗號分隔,預設僅回傳基礎資訊
basicInfo:基礎資訊
metaData:中繼資料
transcodeInfo:轉碼資訊
snapshotInfo:截圖資訊
cateId false Long 影片分類id,該參數取自【取得分類及子分類
title false String 按標題/影片vid模糊搜尋
tag false String 按影片標籤模糊搜尋
uploader false String 上傳者,例如:主帳號
status false String 影片狀態,預設搜尋全部狀態的影片,多個狀態以英文逗號分隔,查詢已發布狀態的影片只需傳61/60其中一個即可,如"61,50",可參考【status欄位說明
containSubCate false Boolean 是否包含子分類
true:包含
false:不包含,預設為true
startTime false Long 按建立時間範圍查詢,起始時間戳記,13位時間戳記
endTime false Long 結束時間戳記,13位時間戳記
startModifyTime false Long 按修改時間範圍查詢,起始時間戳記,13位時間戳記
endModifyTime false Long 修改時間的結束時間戳記,13位時間戳記
encrypted false Boolean 是否加密
playAuthEnable false Boolean 是否開啟了播放授權
sort false String 結果排序,可以按建立時間或播放次數降序/升序排序
creationTimeAsc:建立時間升序
creationTimeDesc:建立時間降序
playTimesAsc:播放次數升序
playTimesDesc:播放次數降序
page false Integer 頁碼,預設為1
pageSize false Integer 頁面大小,預設為10,最大1000

status欄位說明

影片狀態碼 說明
60/61 已發布
10 等待編碼
20 正在編碼
50 等待審核
51 審核不通過
-1 已刪除

範例

http://api.polyv.net/v2/video/search-videos?cateId=1615795867474&uploader=%E4%B8%BB%E8%B4%A6%E5%8F%B7&sign=1BE730A20058481E794D3B5BE27ED9FBF7B491C0&containSubCate=true&pageSize=10&filters=basicInfo%2CmetaData&page=1&sort=creationTimeDesc&userid=1b448be323&ptime=1620289391124&status=60

回應參數說明

參數名 類型 說明
code Integer 回應狀態碼,200為成功回傳,非200為失敗【詳見全域錯誤說明
status String 回應狀態文字資訊
message String 回應描述資訊,當code為400或500時,輔助描述錯誤原因
data Object 回應成功時回傳搜尋結果【詳見data欄位說明】,回應失敗時回傳空

data欄位說明

欄位 類型 說明
pageNumber Integer 目前的頁數
totalPages Integer 總頁數
pageSize Integer 每頁筆數
contents Array 搜尋影片的結果列表【詳見contents欄位說明
totalItems Integer 總筆數

contents欄位說明

欄位 類型 說明
vid String 影片id
basicInfo Object 影片的詳細資訊 【詳見basicInfo欄位說明
metaData Object 影片的中繼資料 【詳見metaData欄位說明
transcodeInfos Array 影片的轉碼資訊列表 【詳見transcodeInfos欄位說明
snapshotInfo Object 影片的截圖資訊 【詳見snapshotInfo欄位說明

basicInfo欄位說明

欄位 類型 說明
title String 影片標題
description String 影片描述
duration Long 來源影片時長,單位:秒
thumbnailURL String 首圖地址,小圖
coverURL String 首圖地址,大圖
creationTime String 建立時間,格式為:yyyy-MM-dd HH:mm:ss
updateTime String 更新時間,格式為:yyyy-MM-dd HH:mm:ss
size Long 來源檔案大小,單位:Bytes
status Integer 影片狀態碼
cateId Long 分類id;其中1為根目錄,即"預設分類"
cateName String 分類名稱
tags String 標籤
uploader String 上傳者
playTimes Integer 播放次數
md5Checksum String 影片來源檔案校驗md5校驗和

metaData欄位說明

欄位 類型 說明
size Long 來源檔案大小,單位:Bytes
format String 影片容器類型,如mp4、flv等
duration Long 來源影片時長,單位:秒
bitrate Integer 影片碼率,單位:kbps
fps Integer 影片幀率
height Integer 解析度高,單位:px
width Integer 解析度寬,單位:px
codec String 編碼格式,例如:h264、h265等

transcodeInfos欄位說明

欄位 類型 說明
playUrl String 播放地址
definition String 清晰度
SOURCE:原始清晰度
LD:普清
SD:標清
HD:高清
bitrate Integer 碼率kbps
duration Long 時長,秒
encrypt Boolean 是否加密
true:加密影片
false:非加密
format String 轉碼格式,如mp4、flv、pdx、hls
fps Integer 影片幀率
height Integer 解析度高,單位:px
width Integer 解析度寬,單位:px
status String 影片狀態
normal:可以正常播放
unavailable:不能正常播放

snapshotInfo欄位說明

欄位 類型 說明
imageUrl String[] 截圖url陣列,小圖
bigImageUrl String[] 截圖url陣列,大圖

Java請求範例

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

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

private static final Logger log = LoggerFactory.getLogger(VodSearchTest.class);
/**
 * 搜索视频
 * @throws Exception
 * @throws NoSuchAlgorithmException
 */
@Test
public void testSearchVideo() throws Exception, NoSuchAlgorithmException {
    //公共参数,填写自己的实际参数
    String secretKey = super.secretKey;
    String userId = super.userId;
    String ptime = String.valueOf(System.currentTimeMillis());
    //业务参数
    String url = "http://api.polyv.net/v2/video/search-videos";
    String filters = "basicInfo,metaData";
    String cateId = "1615795867474";
    String uploader = "主账号";
    String status = "60";
    String containSubCate = "true";
    String page = "1";
    String pageSize = "10";
    String sort = "creationTimeDesc";

    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("userid", userId);
    requestMap.put("ptime", ptime);
    requestMap.put("cateId", cateId);
    requestMap.put("filters", filters);
    requestMap.put("uploader", uploader);
    requestMap.put("status", status);
    requestMap.put("containSubCate", containSubCate);
    requestMap.put("page", page);
    requestMap.put("pageSize", pageSize);
    requestMap.put("sort", sort);
    requestMap.put("sign", VodSignUtil.getSign(requestMap, secretKey));
    String response = HttpUtil.get(url, requestMap);
    log.debug("测试搜索视频,{}", response);
    //do somethings

}

回應範例

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

成功範例

{
  "code": 200,
  "status": "success",
  "message": "success",
  "data": {
    "pageNumber": 1,
    "totalPages": 1,
    "pageSize": 10,
    "contents": [
      {
        "vid": "1b448be32389acdf41f567e3a0bf0c19_1",
        "basicInfo": {
          "title": "3-25测试裁剪",
          "description": "",
          "duration": 81,
          "coverURL": "https://img.videocc.net/uimage/1/1b448be323/9/1b448be32389acdf41f567e3a0bf0c19_0_b.jpg",
          "creationTime": "2021-03-25 14:33:29",
          "updateTime": "2021-03-25 14:35:22",
          "size": 3101307,
          "status": 61,
          "cateId": 1616654004170,
          "cateName": "fx20lh79cf",
          "tags": "2191541_fx20lh79cf-2e77d0a29c11adbf9fea7a1a206fa666|ppt|playback",
          "uploader": "API",
          "playTimes": 1
        },
        "metaData": {
          "size": 3101307,
          "format": "m3u8",
          "duration": 81,
          "bitrate": 0,
          "fps": 25,
          "height": 720,
          "width": 1280,
          "codec": "h264"
        }
      },
      {
        "vid": "1b448be3230e2235bc8f43c3aafa23b5_1",
        "basicInfo": {
          "title": "合并后文件名1234",
          "description": "",
          "duration": 321,
          "coverURL": "https://img.videocc.net/uimage/1/1b448be323/5/1b448be3230e2235bc8f43c3aafa23b5_0_b.jpg",
          "creationTime": "2021-03-15 16:11:08",
          "updateTime": "2021-03-15 16:16:21",
          "size": 19117170,
          "status": 61,
          "cateId": 1615795867478,
          "cateName": "fwr2dfsptr",
          "tags": "2191541_fwr2dfsptr-b90e4e77230c24f895b1ffeabe3059cb|ppt|playback",
          "uploader": "API",
          "playTimes": 0
        },
        "metaData": {
          "size": 19117170,
          "format": "m3u8",
          "duration": 321,
          "bitrate": 0,
          "fps": 25,
          "height": 720,
          "width": 1280,
          "codec": "h264"
        }
      }
    ],
    "totalItems": 2
  }
}

異常範例

簽名不正確

{
  "code":400,
  "status":"error",
  "message":"the sign is not right",
  "data":""
}

時間戳記過期

{
    "code": 400,
    "status": "error",
    "message": "ptime is too old.",
    "data": ""
}

內部錯誤,或傳了非法參數,程式轉換異常

{
    "code": 500,
    "status": "fail",
    "message": "undefined error",
    "data": null
}
联系客服,在线咨询