轉(zhuǎn)碼任務(wù)
更新時(shí)間:
通過閱讀本文,您可以了解通過服務(wù)端SDK調(diào)用OpenAPI發(fā)起并查詢智能媒體服務(wù)轉(zhuǎn)碼任務(wù)的示例代碼。
使用說明
發(fā)起轉(zhuǎn)碼任務(wù)時(shí),需要先根據(jù)用戶所提供的region(提供服務(wù)的區(qū)域)、name(轉(zhuǎn)碼任務(wù)名稱)、input_path(轉(zhuǎn)碼任務(wù)的輸入OSS路徑)、output_path(轉(zhuǎn)碼任務(wù)的輸出OSS路徑)和template_id(轉(zhuǎn)碼模板ID)參數(shù)提交轉(zhuǎn)碼任務(wù)。轉(zhuǎn)碼任務(wù)處理成功后,可以根據(jù)返回的job_id(任務(wù)ID)查詢?cè)撧D(zhuǎn)碼任務(wù)信息。
轉(zhuǎn)碼任務(wù)參數(shù)需注意以下幾點(diǎn):
region為提供服務(wù)的區(qū)域。
name可以為空。
input_path、output_path必須和region在同一區(qū)域。
template_id可通過轉(zhuǎn)碼模板管理頁面獲取。
說明
region目前支持區(qū)域如下:
點(diǎn)播媒體處理:華東2(上海)、華北2(北京)、華南1(深圳)
實(shí)時(shí)媒體處理:華東2(上海)
示例代碼
您可以通過阿里云OpenAPI開發(fā)者門戶在線調(diào)試。
import json
import os
import sys
from typing import List
from alibabacloud_ice20201109.client import Client as ICE20201109Client
# 引入阿里云IMS SDK
from alibabacloud_ice20201109 import models as ice20201109_models
# Credentials和云產(chǎn)品SDK都需引入Client,此處為創(chuàng)建別名
from alibabacloud_credentials.client import Client as CredClient
# 引入阿里云SDK核心包
from alibabacloud_tea_openapi.models import Config
#######需要的依賴#############
#pip install alibabacloud_credentials
#pip install alibabacloud_ice20201109==1.3.11
class Sample:
# 初始化客戶端
@staticmethod
def create_client(region: str) -> ICE20201109Client:
# 使用默認(rèn)憑證初始化Credentials Client
cred = CredClient()
config = Config(credential = cred)
# 配置云產(chǎn)品服務(wù)接入地址(endpoint)
config.endpoint = 'ice.' + region + '.aliyuncs.com'
# 使用Credentials Client初始化ECS Client
return ICE20201109Client(config)
# @staticmethod
# def create_client(
# access_key_id: str,
# access_key_secret: str,
# region: str,
# ) -> ICE20201109Client:
# 如需硬編碼AccessKey ID和AccessKey Secret,代碼如下,但強(qiáng)烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號(hào)下所有資源的安全
# config = open_api_models.Config(
# # 必填,您的 AccessKey ID,
# access_key_id = access_key_id,
# # 必填,您的 AccessKey Secret,
# access_key_secret = access_key_secret
# )
# # 訪問的域名
# config.endpoint = 'ice.' + region + '.aliyuncs.com'
# return ICE20201109Client(config)
# 讀取命令行參數(shù)
@staticmethod
def main() -> None:
region = 'cn-shanghai'
name = 'name'
input_path = 'input path'
output_path = 'output path'
template_id = 'template id'
# 初始化客戶端
client = Sample.create_client(region)
# 構(gòu)造提交任務(wù)請(qǐng)求
request = ice20201109_models.SubmitTranscodeJobRequest(
name = name,
# 輸入信息
input_group = [
ice20201109_models.SubmitTranscodeJobRequestInputGroup(
type = 'OSS',
media = input_path
)
],
# 輸出信息
output_group = [
ice20201109_models.SubmitTranscodeJobRequestOutputGroup(
output = ice20201109_models.SubmitTranscodeJobRequestOutputGroupOutput(
type = 'OSS',
media = output_path
),
process_config = ice20201109_models.SubmitTranscodeJobRequestOutputGroupProcessConfig(
transcode = ice20201109_models.SubmitTranscodeJobRequestOutputGroupProcessConfigTranscode(
template_id = template_id
)
)
)
]
)
# 發(fā)送提交任務(wù)請(qǐng)求
response = client.submit_transcode_job(request)
# 打印結(jié)果信息
print('[LOG]', json.dumps(response.to_map()))
# 提取任務(wù)ID,并構(gòu)造查詢?nèi)蝿?wù)請(qǐng)求
job_id = response.body.transcode_parent_job.parent_job_id
query_request = ice20201109_models.GetTranscodeJobRequest(
parent_job_id = job_id
)
# 發(fā)送查詢?nèi)蝿?wù)情況請(qǐng)求
query_response = client.get_transcode_job(query_request)
# 打印結(jié)果信息
print('[LOG]', json.dumps(query_response.to_map()))
if __name__ == '__main__':
Sample.main()
相關(guān)接口
文檔內(nèi)容是否對(duì)您有幫助?