全部产品

概述

更新时间:2020-11-30 16:40

视频剪辑(云剪辑)服务是视频点播的制作中心,提供在线可视化的剪辑平台(控制台)及相应的OpenAPI。本文为您介绍云剪辑的整体工作流程、核心链路以及API的用法及示例。

简介

视频制作在整个视频链路(采集、制作、播放/互动、媒资管理)中具有非常重要的地位,将前期的采集拍摄和最终的分发播放连成一体,起着承前启后的作用。云剪辑服务就是视频点播的制作中心,支持剪切拼接、混音、字幕、图片叠加、遮标、转场特效等一系列功能。

云剪辑是一个云端一体的产品,包括前端组件/页面与后端服务两大部分。

  • 云剪辑前端组件/页面

    包括剪切、拼接、遮标、文字、调整顺序等组件或页面功能。具体操作,请参见视频剪辑

  • 后端服务

    分为两部分内容:媒体合成服务和云剪辑工程管理服务。

    • 您可以利用在线的云剪辑工具,对上传到点播媒资库的云端素材进行剪辑,提交合成;

    • 也可以自行组织时间线数据,直接提交合成。

    合成的新视频将存储到点播媒资库,您可以对它们快速进行分发播放,无需再进行下载和上传的操作。

云剪辑系统架构图如下:云剪辑整体架构

名词

说明

素材

用于进行剪辑制作的原材料。

可用于剪辑的媒体资源需要存到点播媒资库,支持类型包括视频、音频、图片和文本。

云剪辑工程

用于描述一次视频创作过程中涉及的数据。一般包括基本元数据(如标题、创建时间等),本次视频创作所需的素材,以及描述实际视频创作内容的时间线。

时间线

将素材按照视频创意进行编排和特效设计的产物。

媒体合成

当视频创作完成后,可将最终制作好的时间线提交合成,生成新的媒体资源。媒体资源的合成是一个异步的过程,合成任务则描述了任务从开始创建到最终完成的过程。

成片

云剪辑的最终产物,也会存储到点播媒资库。

使用前提

  • 输入:可用于剪辑的媒体资源需要存到点播媒资库(多种途径:上传、直播录制)。

  • 输出:剪辑合成的媒体资源也将存到点播媒资库。

核心链路

云剪辑的核心链路分为输入、处理和输出三部分。

  • 输入

    云剪辑素材库,用来进行剪辑制作的原材料。

    按素材类型,素材库可分为视频、音频、图片。各类素材文件支持的格式如下:

    素材

    支持格式

    视频

    封装格式:3GP、AVI、FLV、MP4、M3U8、MPG、ASF、WMV、MKV、MOV、TS、WebM、MXF等。

    编码格式:H.264/AVC、H.263、 H.263+、MPEG-1、MPEG-2、MPEG-4、MJPEG、VP8、VP9、Quicktime、RealVideo、Windows Media Video等。

    音频

    封装格式:3GP、AVI、FLV、MP4、M3U8、MPG、ASF、WMV、MKV、MOV、TS、WebM、MXF等。

    编码格式:AAC、AC-3、ADPCM、AMR、DSD、MP1、MP2、MP3、PCM、RealAudio、Windows Media Audio。

    图片

    JPG、JPEG、PNG、GIF、APNG

    说明

    目前素材库的来源为点播媒资库资源。点播媒资库资源,一般包括源文件与转码输出文件。为了保证得到最好质量的成片,云剪辑合成服务使用点播资源的源文件进行剪辑与合成。

  • 处理

    剪辑合成处理过程中最核心的对象是:时间线(Timeline)。Timeline包含了多个轨道(又叫多层),每个轨道又可以包含多个素材片段(clip)。您可以为这些clip指定入出点、顺序以及相应的effect等参数。

    Timeline来源如下:

    • 使用前端剪辑组件进行剪辑操作,并进行保存,可生成Timeline数据。

    • 可以通过调用视频合成服务的OpenAPI或SDK,直接传入Timeline数据。

    媒体合成服务是云剪辑的核心服务,负责最终成片的生成。该服务的处理模式为异步处理。用户调用视频合成接口,该服务会同步返回合成的新资源ID,并根据参数的情况启动异步的合成任务。

    • 用户可以通过接收媒体合成完成事件的通知,来获取合成完成的状态,当接收到该通知时,标志着新资源的源文件已经合成完毕。云剪辑合成任务提交与回调

    • 也可以主动根据新资源ID查询资源状态,当资源状态在上传完成状态之后,标志着新资源的源文件已经合成完毕。

      说明

      这种方式效率相对较低,建议通过事件回调方式接收合成完成通知。

    云剪辑工程管理服务包括云剪辑工程的创建、更新、删除、获取,查询,以及为云剪辑工程设置素材等服务。对云剪辑服务有更深入管理需求的用户,可以使用云剪辑工程管理服务对视频创作过程的工程进行管理。

  • 输出

    云剪辑合成的目标成片。目前,云剪辑成片均输出到点播媒资库,支持三种输出资源类型:视频、纯音频和GIF。

    云剪辑合成输出最核心设计原则是:源文件输入输出。

    合成策略

    云剪辑服务用于合成的是素材的原始文件,而合成的成片文件也作为点播资源的原始文件存储到媒资库。云剪辑合成的目标媒体资源(Media),还有以下几个原则:

    • 目标媒体资源分辨率与Timeline所使用的素材源文件分辨率有关:取其最大宽高。例如:Timeline使用了3个素材,其源文件分辨率分别为:1280×720,1920×1080,720×1280,则目标成片的分辨率为1920×1280。

    • 目标媒体资源码率与Timeline所使用的素材源文件码率有关:取其最大码率。

    • 云剪辑默认的合成目标类型为视频,编码格式是H.264,封装格式为MP4;也支持用户配置和请求级别的合成模版指定,对输出目标资源类型(纯音频、GIF等)以及合成模版的详细参数进行设置。

    合成目标文件的输出格式如下:

    素材

    支持格式

    视频

    封装格式:FLV、MP4、TS 、M3U8、MPD。

    编码格式:H.264/AVC、 H.265/HEVC。

    音频

    封装格式:FLV、MP4、TS 、M3U8、MPD。

    编码格式:MP3、AAC、VORBIS、FLAC。

    图片

    GIF

    云剪辑合成完成,即目标资源的源片生成完毕之后,可根据需要自动发起针对该源片的转码和截图流程,方便客户快速分发。

    • 可通过ProduceConfig中的TemplateGroupId来设置源片合成之后启动的转码流程,不设置该参数时,合成之后根据配置的默认模版组启动转码流程。转码模版组的具体配置参考转码设置

    • 转码和截图流程是在媒体合成的源片生成之后才发起的,属于媒体合成的后处理流程。

媒体合成API用法

  • 通过时间线合成

    直接指定时间线,即Timeline数据,调用ProduceEditingProjectVideo接口,绝大多数场景下,使用这种方式即可,见下图:合成服务交互1

  • 通过云剪辑工程合成

    通过云剪辑工程Id进行媒体合成的方式,适用于对云剪辑工程进行深入管理,并经由云剪辑工程来提交合成任务的场景。这种方式又可细分为两种:

    • 方式1

      1. 创建云剪辑工程,创建时直接指定工程的Timeline数据,对应AddEditingProject接口。

      2. 根据工程Id合成,对应ProduceEditingProjectVideo接口。

      方式1

    • 方式2

      1. 创建云剪辑工程,创建时根据需要指定工程的Timeline数据(也可以在创建的时候不指定),对应AddEditingProject接口。

      2. 更新云剪辑工程的Timeline数据,对应UpdateEditingProject接口。

      3. 根据工程Id合成,对应ProduceEditingProjectVideo接口。

      方式2

使用示例

视频剪辑提供了丰富的使用示例,特别是通过时间线(Timeline)进行剪辑合成,覆盖如下方面:

  • 剪切合并:实现整段合成、保留片头剪切、保留片尾剪切、掐头去尾和多段视频截取任意区间合并等。

  • 音频处理:实现音频处理的各种场景,如静音、混音、音频提取、音量调节、配音等。

  • 图片叠加:实现全程叠加、指定区域叠加图片等,包括单视频叠加和多视频叠加。

  • 文字叠加:实现全程叠加、指定区域叠加文字等。