tencent cloud

文档反馈

视频处理任务体系

最后更新时间:2021-10-29 11:22:06

    视频处理任务发起后需要一定的时间才能执行完成并输出结果(几分钟到几小时),它本质上属于一种离线任务。针对视频处理任务的特点,云点播提供了一套“同步发起 + 异步感知”的任务体系,业务方可以同步地发起任务,并异步接收结果通知,感知任务的执行结果。

    • 发起任务:业务方提交一个视频处理任务后,云点播立即向业务方返回一个任务 ID,任务提交后,等待一段时间后开始执行。
    • 结果通知:云点播在任务执行成功后,会立即向业务方发起结果通知,通知中包含任务 ID 和执行结果。
    • 查询任务:业务方提交任务后,可以在任意时间内通过任务 ID,同步查询任务的执行状态和执行结果。

    参数模板

    视频处理的参数通常较复杂,例如,视频转码参数包括封装格式、编码格式、码率、分辨率以及帧率等数十个参数。为了简化视频处理任务参数,云点播将各类视频处理的参数集合固化成参数模板(如 转码模板),并用模板 ID 表示。

    • 预置参数模板:对于常见的视频处理参数集合,云点播预置了一批参数模板,称为预置参数模板,模板清单请参见 预置参数模板列表
    • 自定义参数模板:可以通过控制台或服务端 API 自定义参数模板。

    任务流

    云点播中,下列视频处理操作都属于独立任务:

    • 将视频转码出一路流畅的 MP4
    • 将视频转码出一路标清的 MP4
    • 对视频按照10s为间隔做采样截图
    • 对视频做智能识别
    • 对视频做智能分类

    如果希望同时处理几个独立任务,则会产生多个任务 ID,并需要接收和处理多个任务的结果通知。为了简化多个任务的发起与感知,云点播提出了任务流。任务流本质上是一个包含多个子任务的“父任务”,发起一个任务流等同于发起任务流中包含的所有子任务。

    如图所示,任务流中包含了3个子任务,任务流在最后一个子任务(子任务3)完成时结束。任务流的结果通知不仅在任务流结束时触发,也会在各个子任务完成时触发,因此业务方可以实时感知到任意一个子任务的执行结果。

    云点播中的视频处理任务大多以任务流的方式执行,“任务流”可以被当做一种特殊的“任务”。云点播还支持 创建任务流模板,并为模板命名。发起任务流时,可以用任务流模板名字来表示要发起的任务。

    任务发起

    发起视频处理任务,主要有“通过服务端 API 发起”,“通过控制台发起”和“上传时指定要执行的任务”三种方式。

    通过服务端 API 发起

    通过服务端 API,可以直接对云点播中的视频发起任务,也可以对视频做编辑,并指定编辑生成的新视频要执行的任务。

    通过控制台发起

    通过控制台,可以对云点播中的视频发起任务,发起方式请参见 处理视频

    上传时指定要执行的任务

    云点播提供了客户端上传、服务端上传和控制台上传三种视频上传方式,这几种上传方式都可以指定视频文件上传后要执行的任务。

    • 客户端上传:通过 客户端上传签名 中的procedure参数,指定视频上传后要执行的任务。
    • 服务端上传:通过 申请上传 中的procedure参数,指定视频上传后要执行的任务。
    • 控制台上传:通过控制台上传视频,选择【上传的同时对视频进行处理操作】并指定视频上传后要执行的任务,具体操作请参考 上传视频

    结果通知

    业务方发起视频处理后,需要通过以“结果通知”的方式异步感知任务的执行结果。
    视频处理的结果通知主要有以下类型:

    视频处理的结果通知属于云点播的“事件通知”,有“HTTP 普通回调”和“可靠回调”两种接收类型,事件通知的接收方式等信息请参见 事件通知

    任务查询

    业务方除了以结果通知的方式感知任务的执行结果,还可以通过任务 ID 定时轮询任务的执行状态,即任务查询。云点播目前仅提供 获取任务列表查询任务详情 两种服务端 API 查询任务的执行状态和执行结果。

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持