术语表

常规 - 媒体

ABR
自适应比特率。ABR 算法是一种在播放过程中从多个轨道之间进行选择的算法,其中每个轨道以不同的比特率呈现相同的媒体。
自适应流式传输
在自适应流式传输中,可以使用多个轨道,这些轨道以不同的比特率呈现相同的媒体。所选曲目是在播放期间使用 ABR 算法动态选择的。
访问单元
媒体容器中的数据项。通常是指可解码并呈现给用户的一小段压缩媒体比特流(视频图片或可播放音频的片段)。
AV1

AOMedia Video 1 编解码器

如需了解详情,请参阅维基百科页面

AVC

高级视频编码,也称为 H.264 视频编解码器

如需了解详情,请参阅维基百科页面

编解码器

这个术语包含多余含义,有多种含义,具体取决于上下文。以下是最常用的两个定义:

  • 用于编码或解码访问单元的硬件或软件组件。
  • 音频或视频示例格式规范。
容器

媒体容器格式,例如 MP4 和 Matroska。这类格式称为容器格式,因为它们包含一个或多个媒体轨道,其中每个轨道都使用特定的编解码器(例如 MP4 文件中的 AAC 音频和 H.264 视频)。请注意,某些媒体格式既是一种容器格式,又是一种编解码器(例如 MP3)。

DASH

基于 HTTP 的动态自适应流式传输。行业驱动的自适应流式传输协议。它由 ISO/IEC 23009 定义,您可以在 ISO 公开发布的标准页面上找到该标准。

DRM

数字版权管理。

如需了解详情,请参阅维基百科页面

无间断播放

跳过曲目的结尾和/或下一个曲目的开头的过程,以避免曲目之间出现无声间隙。

如需了解详情,请参阅维基百科页面

HEVC

高效视频编码,也称为 H.265 视频编解码器

HLS

HTTP Live Streaming。Apple 的自适应流式传输协议。

如需了解详情,请参阅 Apple 文档

清单

定义自适应流式传输协议中媒体结构和位置的文件。例如 DASH MPD 文件、HLS 多变体播放列表文件和 Smooth Streaming 清单文件。请勿与 AndroidManifest XML 文件混淆。

MPD

媒体呈现说明。DASH 自适应流式传输协议中使用的清单文件格式。

PCM

脉冲编码调制。

如需了解详情,请参阅维基百科页面

流畅的流式传输

Microsoft 的自适应流式传输协议。

如需了解详情,请参阅 Microsoft 文档

曲目

一项媒体内的单个音频、视频、文本或元数据流。一个媒体文件通常包含多个轨道。例如,视频文件中的一个视频轨道和一段音轨,或多个不同语言的音轨。在自适应流式传输中,还有多个轨道,其中包含不同比特率的相同内容。

常规 - Android

AudioTrack

用于播放音频的 Android API。

如需了解详情,请参阅 Javadoc

CDM

内容解密模块。Android 平台中负责解密受 DRM 保护的内容的一个组件。您可以使用 Android 的 MediaDrm API 访问 CDM。

如需了解详情,请参阅 Javadoc

互动式媒体广告

互动式媒体广告。IMA 是一个 SDK,可让您轻松地将多媒体广告集成到应用中。

如需了解详情,请参阅 IMA 文档

媒体编解码器

用于访问平台中的媒体编解码器(即编码器和解码器组件)的 Android API。

如需了解详情,请参阅 Javadoc

MediaDrm

一个用于访问平台中的 CDM 的 Android API。

如需了解详情,请参阅 Javadoc

音频分流

能够将压缩的音频直接发送到设备提供的数字信号处理器 (DSP)。音频分流功能对于低功耗音频播放非常有用。

如需了解详情,请参阅 Android 交互文档

透传 (Passthrough)

直接通过 HDMI 发送压缩的音频(无需先解码)。例如,此示例用于在 Android TV 上播放 5.1 环绕声。

如需了解详情,请参阅 Android 交互文档

Surface

请参阅 JavadocAndroid 图形文档

隧道

Android 框架用来接收压缩视频和压缩视频和 PCM 音频数据并负责解码、同步和渲染数据,并接管通常由应用处理的一些任务的过程。隧道可以改善音频与视频 (AV) 同步,使视频播放更加顺畅,还可以减少应用处理器上的负载。它主要用于 Android TV。

如需了解详情,请参阅 Android 互动文档ExoPlayer 文章

ExoPlayer

ExoPlayer 架构概览

ExoPlayer 渲染概览

带宽表

用于估算网络带宽的组件,例如通过监听数据传输。在自适应流式传输中,带宽估算值可用于在播放过程中选择不同的比特率轨道

如需了解详情,请参阅组件 Javadoc

DataSource

用于请求数据(可能通过 HTTP、从本地文件等)的组件。

如需了解详情,请参阅组件 Javadoc

提取器

一种组件,用于解析媒体容器格式,输出轨道信息和属于每个适合解码器使用的每个轨道的单独访问单元

如需了解详情,请参阅组件 Javadoc

LoadControl

决定何时开始和停止加载以及何时开始播放的组件。

如需了解详情,请参阅组件 Javadoc

媒体来源

提供有关媒体结构的概要信息(以 Timeline 形式提供),并创建用于播放的 MediaPeriod 实例(与 Timeline 的时段相对应)。

如需了解详情,请参阅组件 Javadoc

媒体周期

加载单个媒体项(例如音频文件、广告、在两个广告之间交错的内容等),并允许读取已加载的媒体(通常通过 Renderers)。关于加载媒体中的哪些轨道以及何时开始和停止加载的决定分别由 TrackSelectorLoadControl 决定。

如需了解详情,请参阅组件 Javadoc

渲染程序

用于读取、解码和渲染媒体样本的组件。SurfaceAudioTrack 是呈现视频和音频数据的目标 Android 平台组件。

如需了解详情,请参阅组件 Javadoc

时间轴

表示媒体的结构,从简单的情况(如单个媒体文件)到复杂的媒体组合(如播放列表和包含插入广告的流)。

如需了解详情,请参阅组件 Javadoc

轨道组

组包含同一视频、音频或文本内容的一种或多种表示形式,通常采用不同的比特率,用于自适应流式传输

如需了解详情,请参阅组件 Javadoc

轨道选择

选择轨道包含来自 TrackGroup轨道的静态子集,以及该子集中可能变化的所选轨道。对于自适应流式传输,每当有新的媒体块开始加载时,TrackSelection 负责选择适当的轨道。

如需了解详情,请参阅组件 Javadoc

TrackSelector

选择要播放的曲目。给定要播放的 MediaPeriod 的轨道信息以及玩家的 Renderers 的功能,TrackSelector 将为每个 Renderer 生成一个 TrackSelection

如需了解详情,请参阅组件 Javadoc