文档

截图

更新时间:

视频截图是指对视频截取指定时间、指定尺寸的图片,用于生产视频封面、雪碧图、播放器进度条缩略图等场景,截图作业支持指定时间点、时间间隔、截图数量、类型以及是否拼图等。您可以通过媒体处理控制台、API或SDK提交截图作业。本文提供Python SDK使用截图相关功能的API调用示例。

完整代码

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.SubmitSnapshotJobRequest import SubmitSnapshotJobRequest

# 读取环境变量中设置的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'
pipeline_id = '9bad3801a2d561c22c4df9c6****'
oss_location = 'oss-cn-shanghai'
oss_bucket = '<your bucket name>'
oss_input_object = 'input.mp4'
oss_output_object = 'output_{Count}.jpg'

request = SubmitSnapshotJobRequest()
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))
# SnapshotConfig->OutputFile截图输出文件位置
job_output = {'Location': oss_location,
              'Bucket': oss_bucket,
              'Object': quote(oss_output_object) }
snapshot_config = {'OutputFile': job_output}
snapshot_config['Time'] = 2
snapshot_config['Interval'] = 2
snapshot_config['Num'] = 3
snapshot_config['Height'] = 360
request.set_SnapshotConfig(json.dumps(snapshot_config))
request.set_PipelineId(pipeline_id)


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

相关文档

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