Transcoder API 概览

本页面介绍 Transcoder API 的技术概览,包括功能、术语和有用的概念。Transcoder API 实现 REST 和 RPC API,可让您在 Google Cloud 中提交、监控和管理转码作业。要使用 Transcoder API 提交作业,您首先需要将媒体资源上传到 Cloud Storage。处理作业后,Transcoder API 会将生成的媒体保存回 Cloud Storage。

特性

Transcoder API 支持以下功能:

  • 不同容器格式的输出,包括 MPEG-4 (MP4)、基于 HTTP 的动态自适应流式传输(DASH,也称为 MPEG-DASH)和 HTTP Live Streaming (HLS)
  • 以不同的比特率和分辨率输出
  • 以编程方式优化视频输出,包括:
  • 配置低层级编码参数,例如比特率
  • 使用综合的编辑列表重新合成现有媒体内容
  • 指定音频音量标准化
  • 配置输出视频的加密以支持数字版权管理和内容保护,其中包括:
    • 适用于 HLS 格式的 FairPlay 流式传输
    • 适用于 MPEG-DASH 格式的 PlayReady
    • 适用于 Chromium Web 浏览器和 Android 上的 MPEG-DASH 和 HLS 的Widevine
  • 插入广告关键帧以允许视频播放器客户端插入广告
  • 使用生成的视频帧精灵表创建缩略图。
  • 创建作业模板以保存和重复使用自定义或复杂的配置,从而对作业进行转码

如需详细了解 MP4 和 MPEG-DASH 标准,请参阅动态图像专家组网站。如需详细了解 HLS 标准,请参阅 HTTP Live Streaming

支持的输入和输出

下表显示了支持 Transcoder API 的输入和输出格式。

输入
容器AVI、GXF、MKV (Matroska)、MOV、MPEG2-TS、MP4、MXF(仅 OP1A)、WMV
视频编解码器DNxHD、DV/DVProHD、DV25、DV50、H.261、H.262、H.263、H.264 (AVC)、H.265 (HEVC)、MPEG-1、MPEG-2、MPEG-4 第 2 部分、ProRes、Theora、VC-1、VP8、VP9、XDCAM
音频编解码器AAC、AC3、AIFF、E-AC3、MP3、Opus、PCM、WAV、WMA、WMA2、Vorbis
字幕SCC、SRT、VTT
叠加层JPG
输出
容器Apple HLS(使用 MPEG2-TS、fMP4)、MPEG-DASH(使用 fMP4)、MP4
视频编解码器H.264 (AVC)、H.265 (HEVC)、VP9
音频编解码器AAC-HE、AAC-HEv2、AAC-LC、AC3、E-AC3、MP3
字幕CEA-608/708、WebVTT
映像JPG 图块、单个图片

支持内容加密的容器

下表显示了支持内容加密的容器。

类型 科技 格式 视频编解码器 音频编解码器
H.264 H.265 AAC
DRM FairPlay HLS TS (SAMPLE-AES) fMP4 (SAMPLE-AES) TS (SAMPLE-AES)
fMP4 (SAMPLE-AES) fMP4 (SAMPLE-AES)
DRM Widevine、PlayReady DASH fMP4 (MPEG-CENC) fMP4 (MPEG-CENC)
DRM Widevine、PlayReady HLS fMP4 (MPEG-CENC) fMP4 (MPEG-CENC)
内容保护 AES-128 HLS、DASH fMP4、TS (AES-128) fMP4、TS (AES-128) fMP4、TS (AES-128)

安全

Transcoder API 安全模型基于 Google 的 Identity and Access Management。借助 IAM 的精细权限,您可以完全控制由谁使用媒体数据执行哪些操作。

概念与术语

本部分提供了有关如何使用 Transcoder API 的有用术语的术语库。

广告插播时间点

广告插播时间点是一种在媒体播放之前或播放期间播放的短广告。Transcoder API 支持作业配置中的广告插播时间点关键帧。Transcoder API 不会插入或播放广告,也不会停止媒体播放;视频播放器客户端负责处理关键帧。

Atom

Atom 是定义视频元数据和位置的基础数据结构。视频具有包含不同类型 Atom 的复杂嵌套层次结构,包括音频、修改和文本 Atom。

音频 Atom

音频 Atom 将音频从基本流映射到修改列表。

编解码器类型和配置文件

在为视频流选择编解码器时,您可以指定编解码器类型(例如 H.264)和配置文件(例如默认的 high 配置文件)。

容器

容器是一个封装容器,用于描述多路复用流中不同组件(包括媒体文件和元数据)之间的关系。Transcoder API 支持 MP4、MPEG-DASH 和 HLS 容器格式。

修改 Atom

“修改 Atom”定义了您要在修改列表中组合的流的各个片段的开始和结束偏移量。

修改列表

修改列表将一系列修改定义为针对转码作业生成文件或清单的时间轴。

基本流

基本流是输入文件(例如音频、视频或字幕文本轨道)的编码。您必须先封装基本流,然后才能将基本流映射和共享到不同的输出格式。

熵编码

熵编码是 Transcoder API 支持的一种无损压缩形式。配置作业时,您可以指定上下文自适应可变长度编码 (CAVLC) 或上下文自适应二进制解析编码 (CABAC) 熵编码器。

Job

作业是使用 Transcoder API 管理工作的基本单元。当您将作业提交到 Transcoder API 时,它会在被称为区域的地理位置进行处理。您可以列出和管理某个区域的所有作业。

作业配置

作业配置表示您在创建作业并将其提交到 Transcoder API 时可以自定义的多种设置。您可以指定配置设置,如修改列表以及在输出清单中插入广告插播时间点标记的位置。您可以创建可重复使用的作业配置,作为在 Google Cloud 区域中使用的作业模板。

作业模板

默认情况下,Transcoder API 会应用名为 preset/web-hd 的预设模板来填充作业配置。您可以创建和管理自己的自定义作业模板,并在创建作业时指定这些模板。

预处理

预处理是主转码开始之前发生的作业阶段。配置预处理阶段时,您可以应用颜色、去噪和去块等过滤条件。去块有助于减少压缩操作引起的块工件。

预处理配置

预处理配置表示在作业转码阶段之前可以应用于视频的过滤条件设置。您可以应用各种过滤条件,包括色彩饱和度、去块和去噪。

速率控制模式

速率控制模式指示是使用固定速率因子 (CRF) 模式还是可变比特率 (VBR) 模式来处理作业。CRF 可确保处理的媒体资源保持一致的质量。VBR 可优化编码过程,减小处理的媒体资源的文件大小。对于流处理使用场景,请选择 VBR 速率控制模式。如果要进行归档,请选择 CRF 速率控制模式。

清单

清单是流向客户端的自动调节媒体流的可用内容和元数据的说明。在 Transcoder API 中,您可以将作业配置为输出带文件名的清单、多路复用流列表以及清单类型(必须为 HLS 或 MPEG-DASH)。

文本 Atom

文本 Atom 将基本流中的文本映射到修改列表。

文本流

文本流会对与视频关联的文本数据(例如字幕)进行编码。

后续步骤