文档

转码

更新时间:

本文提供了Python SDK转码的操作步骤及完整的代码示例。

完整代码

import os
import json

from urllib.parse import quote
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkcore.auth.credentials import AccessKeyCredential
from aliyunsdkmts.request.v20140618.SubmitJobsRequest import SubmitJobsRequest

# 读取环境变量中设置的ACCESS_KEY   ACCESS_KEY_SECRET信息
credentials = AccessKeyCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'])
# region_id 为调用的服务地域ID,支持的地域参考 https://help.aliyun.com/document_detail/43248.html
client = AcsClient(region_id = 'cn-shanghai', credential = credentials)

mps_region_id = 'cn-shanghai'
# 管道ID
pipeline_id = '9ba1a2c3dc22c4df9c6****'
# 模板ID
template_id = 'S00000001-200010'
# OSS的Location
oss_location = 'oss-cn-shanghai'
# OSS的Bucket
oss_bucket = '<your bucket name>'
# 输入Object
oss_input_object = 'input.mp4'
# 输出Object
oss_output_object = 'output.mp4'

request = SubmitJobsRequest()
request.set_accept_format('json')
# Input参数结构,object需要进行url编码
job_input = {'Location': oss_location,
             'Bucket': oss_bucket,
             'Object': quote(oss_input_object) }
request.set_Input(json.dumps(job_input))
# Output参数结构
output = {'OutputObject': quote(oss_output_object)}
output['Container'] = {'Format': 'mp4'}
output['Video'] = {'Codec': 'H.264',
                   'Bitrate': 1500,
                   'Width': 1280,
                   'Fps': 25}
output['Audio'] = {'Codec': 'AAC',
                   'Bitrate': 128,
                   'Channels': 2,
                   'Samplerate': 44100}
output['TemplateId'] = template_id
outputs = [output]
request.set_Outputs(json.dumps(outputs))
request.set_OutputBucket(oss_bucket)
request.set_OutputLocation(oss_location)
request.set_PipelineId(pipeline_id)

response = client.do_action_with_exception(request)
# 输出打印
print(str(response, encoding='utf-8'))

  • 本页导读 (1)
文档反馈