全部产品
云市场

简介

更新时间:2018-12-28 12:59:06

概述

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

前提条件

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

整体流程

云剪辑是一个云端一体的产品,包括前端组件/页面与后端服务两大部分。云剪辑前端组件/页面详情请参见用户指南>制作中心,后端服务分为两部分内容:媒体合成服务和云剪辑工程管理服务。
您可以利用在线的云剪辑工具,对上传到点播媒资库的云端素材进行剪辑,提交合成;也可以自行组织时间线数据,直接提交合成。合成的新视频将存储到点播媒资库,您可以对它们快速进行分发播放,无需再进行下载和上传的操作。
云剪辑系统架构图如下:云剪辑整体架构

名词 说明
素材 用于进行剪辑制作的原材料。
时间线 将素材按照视频创意进行编排和特效设计的产物。
云剪辑工程 用于描述一次视频创作过程中涉及的数据。一般包括基本元数据(如标题、创建时间等),本次视频创作所需的素材,以及描述实际视频创作内容的时间线。
合成任务 当视频创作完成后,可将最终制作好的时间线提交合成,生成新的媒体资源。媒体资源的合成是一个异步的过程,合成任务则描述了任务从开始创建到最终完成的过程。
成片 云剪辑的最终产物,也会存储到点播媒资库。

核心链路

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

输入

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

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

素材 支持格式
视频 封装格式: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数据。

媒体合成服务是云剪辑的核心服务,负责最终成片的生成。该服务的处理模式为异步处理。用户调用ProduceEditingProjectVideo服务,该服务会同步返回合成的新资源Id,并根据参数的情况启动异步的合成任务。相关API详情请参见视频合成。用户可以通过接收媒体合成完成回调事件ProduceMediaComplete来获取合成完成的状态,当接收到该通知时,标志着新资源的源文件已经合成完毕,如下图所示:云剪辑合成任务提交与回调

也可以主动根据新资源Id查询资源状态,当资源状态在上传完成状态之后,标志着新资源的源文件已经合成完毕。这种方式效率相对较低,建议通过事件回调方式接收合成完成通知。

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

输出

输出,即云剪辑合成的目标成片。目前,云剪辑成片均输出到点播媒资库,支持三种输出资源类型:视频、纯音频和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接口。合成服务交互2
  • 方式2
  1. 创建云剪辑工程,创建时根据需要指定工程的Timeline数据(也可以在创建的时候不指定),对应AddEditingProject接口。
  2. 更新云剪辑工程的Timeline数据,对应UpdateEditingProject接口。
  3. 根据工程Id合成,对应ProduceEditingProjectVideo接口。合成服务交互3

使用示例

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

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

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

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

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