术语表

常规 - 媒体

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

AOMedia 视频 1 编解码器

有关更多信息,请参阅维基百科页面

AVC

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

有关更多信息,请参阅维基百科页面

编解码器

此术语被重载,并且根据上下文具有多种含义。以下两个定义是最常用的

  • 用于编码或解码访问单元的硬件或软件组件。

  • 音频或视频样本格式规范。
容器

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

DASH

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

DRM

数字版权管理。

有关更多信息,请参阅维基百科页面

无缝播放

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

有关更多信息,请参阅维基百科页面

HEVC

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

HLS

HTTP 实时流。Apple 的自适应流协议。

有关更多信息,请参阅Apple 文档

清单

一个文件,定义了自适应流协议中媒体的结构和位置。示例包括DASHMPD 文件、HLS 多变体播放列表文件和Smooth Streaming 清单文件。不要与 AndroidManifest XML 文件混淆。

MPD

媒体演示描述。在DASH自适应流协议中使用的清单文件格式。

PCM

脉冲编码调制。

有关更多信息,请参阅维基百科页面

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 交互文档

直通

能够将压缩音频直接通过 HDMI 发送,而无需先对其进行解码。例如,这用于在 Android TV 上播放 5.1 环绕声。

有关更多信息,请参阅Android 交互文档

Surface

请参阅JavadocAndroid 图形文档

隧道

Android 框架接收压缩视频和压缩或PCM音频数据,并承担解码、同步和渲染的责任,接管应用程序通常处理的一些任务的过程。隧道可以改善音频到视频 (AV) 同步,可以使视频播放更流畅,并且可以减少对应用程序处理器的负载。它主要用于 Android 电视。

有关更多信息,请参阅Android 交互文档ExoPlayer 文章

ExoPlayer

ExoPlayer architecture overview

ExoPlayer rendering overview

BandwidthMeter

估计网络带宽的组件,例如通过侦听数据传输。在自适应流中,带宽估计可用于在播放期间在不同的比特率轨道之间进行选择。

有关更多信息,请参阅组件Javadoc

DataSource

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

有关更多信息,请参阅组件Javadoc

Extractor

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

有关更多信息,请参阅组件Javadoc

LoadControl

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

有关更多信息,请参阅组件Javadoc

MediaSource

提供有关媒体结构的高级信息(作为Timeline)并创建MediaPeriod 实例(对应于Timeline的周期)以进行播放。

有关更多信息,请参阅组件Javadoc

MediaPeriod

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

有关更多信息,请参阅组件Javadoc

Renderer

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

有关更多信息,请参阅组件Javadoc

Timeline

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

有关更多信息,请参阅组件Javadoc

TrackGroup

包含一个或多个相同视频、音频或文本内容表示的组,通常在自适应流中以不同的比特率。

有关更多信息,请参阅组件Javadoc

TrackSelection

一个选择,由TrackGroup轨道的静态子集和子集中可能变化的选定轨道组成。对于自适应流TrackSelection 负责在每次开始加载新的媒体块时选择合适的轨道。

有关更多信息,请参阅组件Javadoc

TrackSelector

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

有关更多信息,请参阅组件Javadoc