You need to enable JavaScript to run this app.
导航

视频剪辑

最近更新时间2023.06.02 10:42:11

首次发布时间2022.10.28 17:25:20

本文为您提供了服务端 Python SDK 的视频剪辑模块相关的 API 调用示例。主要包含:提交剪辑任务、查询任务进度、查询任务详情等。

初始化

使用前请先完成初始化

提交剪辑任务

接口请求参数和返回参数详见 OpenAPI:提交剪辑任务

# coding:utf-8
from __future__ import print_function

import json

from volcengine.vod.VodService import VodService
from volcengine.vod.models.request.request_vod_pb2 import VodSubmitDirectEditTaskAsyncRequest

if __name__ == '__main__':
    vod_service = VodService()

    # call below method if you dont set ak and sk in $HOME/.vcloud/config
    vod_service.set_ak('ak')
    vod_service.set_sk('sk')
    req = VodSubmitDirectEditTaskAsyncRequest()
    req.Uploader = 'your uploader'
    req.Application = 'VideoTrackToB'
    req.Priority = 0
    req.CallbackUri = 'your callback uri'
    req.CallbackArgs = 'your callback args'
    editParam = {
        "Canvas": {
            "Height": 2160,
            "Width": 3840
        },
        "Output": {
            "Alpha": False,
            "Codec": {
                "AudioBitrate": 128,
                "AudioCodec": "aac",
                "Crf": 23,
                "Preset": "slow",
                "VideoCodec": "h264"
            },
            "DisableAudio": False,
            "DisableVideo": False,
            "Fps": 30
        },
        "Track": [
            [
                {
                    "ID": "video1",
                    "Source": "your source",
                    "TargetTime": [
                        0,
                        10000
                    ],
                    "Type": "video"
                }
            ]
        ],
        "Upload": {
            "SpaceName": "your uploader",
            "VideoName": "your video name"
        },
        "Uploader": "your uploader"
    }
    req.EditParam = json.dumps(editParam).encode('utf-8')
    resp = vod_service.submit_direct_edit_task_async(req)
    l = json.loads(resp)
    print(json.dumps(l, ensure_ascii=False, indent=4))
    print("****")

查询任务进度

接口请求参数和返回参数详见 OpenAPI:查询任务进度

# coding:utf-8
from __future__ import print_function

import json

from volcengine.vod.VodService import VodService
from volcengine.vod.models.request.request_vod_pb2 import VodGetDirectEditProgressRequest

if __name__ == '__main__':
    vod_service = VodService()

    # call below method if you dont set ak and sk in $HOME/.vcloud/config
    vod_service.set_ak('ak')
    vod_service.set_sk('sk')

    req = VodGetDirectEditProgressRequest()
    req.ReqId = 'your ReqId'
    resp = vod_service.get_direct_edit_progress(req)
    l = json.loads(resp)
    print(json.dumps(l, ensure_ascii=False, indent=4))
    print("****")

查询任务详情

接口请求参数和返回参数详见 OpenAPI:查询任务详情

# coding:utf-8
from __future__ import print_function

import json

from volcengine.vod.VodService import VodService
from volcengine.vod.models.request.request_vod_pb2 import VodGetDirectEditResultRequest

if __name__ == '__main__':
    vod_service = VodService()

    # call below method if you dont set ak and sk in $HOME/.vcloud/config
    vod_service.set_ak('ak')
    vod_service.set_sk('sk')
    req = VodGetDirectEditResultRequest()
    req.ReqIds.extend(['your ReqId'])

    resp = vod_service.get_direct_edit_result(req)
    l = json.loads(resp)
    print(json.dumps(l, ensure_ascii=False, indent=4))
    print("****")