术语库

常规 - 媒体

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

AOMedia Video 1 编解码器

如需了解详情,请参阅 Wikipedia 页面

AVC

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

如需了解详情,请参阅 Wikipedia 页面

编解码器

此术语具有多重含义,具体取决于上下文。 以下两种定义最为常用:

  • 用于对访问单元进行编码或解码的硬件或软件组件。
  • 音频或视频样本格式规范。
容器

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

DASH

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

DRM

数字版权管理。

如需了解详情,请参阅 Wikipedia 页面

无缝播放

跳过轨道末尾和/或下一轨道开头的流程,以避免轨道之间出现静音间隙。

如需了解详情,请参阅 Wikipedia 页面

HEVC

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

HLS

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

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

清单

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

MPD

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

PCM

脉冲编码调制。

如需了解详情,请参阅 Wikipedia 页面

Smooth Streaming

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

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

跟踪

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

常规 - Android

AudioTrack

用于播放音频的 Android API。

如需了解详情,请参阅 Javadoc

CDM

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

如需了解详情,请参阅 Javadoc

IMA

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

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

MediaCodec

一种用于访问平台中的媒体编解码器(即编码器和解码器组件)的 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

MediaSource

提供有关媒体结构(作为 Timeline)的概要信息,并创建用于播放的 MediaPeriod 实例(对应于 Timeline 的各个时间段)。

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

MediaPeriod

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

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

渲染程序

读取、解码和渲染媒体样本的组件。SurfaceAudioTrack 是视频和音频数据渲染到的标准 Android 平台组件。

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

时间轴

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

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

TrackGroup

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

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

TrackSelection

一种选择,包含 TrackGroup轨道的静态子集,以及可能从该子集中选择的轨道。对于自适应流式传输,每当开始加载新的媒体块时,TrackSelection 都会负责选择合适的轨道。

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

TrackSelector

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

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