You need to enable JavaScript to run this app.
导航
媒体处理任务
最近更新时间:2025.02.18 16:08:47首次发布时间:2022.01.24 16:36:50
我的收藏
有用
有用
无用
无用

本文为您提供服务端 Python SDK 的媒体处理任务相关的 API 调用示例。

初始化

使用前请前完成初始化,参考初始化

提交媒体处理任务

接口请求参数和返回参数详见 OpenAPI:提交媒体处理任务

示例一:根据工作流模板触发任务

# coding:utf-8
from __future__ import print_function

from volcengine.imp.ImpService import ImpService
from volcengine.imp.models.business.imp_common_pb2 import *
from volcengine.imp.models.request.request_imp_pb2 import *

if __name__ == '__main__':
    imp_service = ImpService()
    # call below method if you dont set ak and sk in $HOME/.vcloud/config
    imp_service.set_ak('your ak')
    imp_service.set_sk('your sk')

    # SubmitJob
    try:
        req = ImpSubmitJobRequest()
        req.InputPath.Type = 'VOD'
        req.InputPath.VodSpaceName = 'your space'
        req.InputPath.FileId = 'your vid'
        req.TemplateId = 'your template id'
        req.CallbackArgs = 'your callback args'

        resp = imp_service.submit_job(req)
    except Exception:
        raise
    else:
        print("resp:\n ", resp)
        if resp.ResponseMetadata.Error.Code == '':
            print(resp.Result)
        else:
            print(resp.ResponseMetadata.Error)

示例二:单任务触发

# coding:utf-8
from __future__ import print_function

from volcengine.imp.ImpService import ImpService
from volcengine.imp.models.business.imp_common_pb2 import *
from volcengine.imp.models.request.request_imp_pb2 import *

if __name__ == '__main__':
    imp_service = ImpService()
    # call below method if you dont set ak and sk in $HOME/.vcloud/config
    imp_service.set_ak('your ak')
    imp_service.set_sk('your sk')

    # SubmitJob by Job
    try:
        req = ImpSubmitJobRequest()
        req.InputPath.Type = 'VOD'
        req.InputPath.VodSpaceName = 'your vod space'
        req.InputPath.FileId = 'your vid'
        req.OutputPath.Type = 'VOD'
        req.OutputPath.VodSpaceName = 'your vod space'
        req.Job.TranscodeVideo.Container = 'your container'
        req.Job.TranscodeVideo.Video.Codec = 'your video codec'
        req.Job.TranscodeVideo.Audio.Codec = 'your audio codec'
        req.CallbackArgs = 'your callback args'

        resp = imp_service.submit_job(req)
    except Exception:
        raise
    else:
        print("resp:\n ", resp)
        if resp.ResponseMetadata.Error.Code == '':
            print(resp.Result)
        else:
            print(resp.ResponseMetadata.Error)

查询媒体处理任务

接口请求参数和返回参数详见 OpenAPI:查询媒体处理任务

# coding:utf-8
from __future__ import print_function

from volcengine.imp.ImpService import ImpService
from volcengine.imp.models.business.imp_common_pb2 import InputPath
from volcengine.imp.models.request.request_imp_pb2 import *

if __name__ == '__main__':
    imp_service = ImpService()
    # call below method if you dont set ak and sk in $HOME/.vcloud/config
    imp_service.set_ak('your ak')
    imp_service.set_sk('your sk')

    # RetrieveJob
    try:
        req = ImpRetrieveJobRequest()
        req.JobIds.extend(['your JobId1', 'your JobId2'])
        resp = imp_service.retrieve_job(req)
    except Exception:
        raise
    else:
        print("resp:\n ", resp)
        if resp.ResponseMetadata.Error.Code == '':
            print("Result:\n ", resp.Result)
        else:
            print(resp.ResponseMetadata.Error)

取消媒体处理任务

接口请求参数和返回参数详见 OpenAPI:取消媒体处理任务

# coding:utf-8
from __future__ import print_function

from volcengine.imp.ImpService import ImpService
from volcengine.imp.models.business.imp_common_pb2 import InputPath
from volcengine.imp.models.request.request_imp_pb2 import *

if __name__ == '__main__':
    imp_service = ImpService()
    # call below method if you dont set ak and sk in $HOME/.vcloud/config
    imp_service.set_ak('your ak')
    imp_service.set_sk('your sk')

    # KillJob
    try:
        req = ImpKillJobRequest()
        req.JobId = 'your JobId'
        resp = imp_service.kill_job(req)
    except Exception:
        raise
    else:
        print("resp:\n ", resp)
        if resp.ResponseMetadata.Error.Code == '':
            pass
        else:
            print(resp.ResponseMetadata.Error)