词汇表

通用 - 媒体

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

脉冲编码调制。

如需了解更多信息,请参阅维基百科页面

Smooth Streaming

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

如需了解更多信息,请参阅 Microsoft 文档

轨道

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

通用 - Android

AudioTrack

一个用于播放音频的 Android API。

如需了解更多信息,请参阅 Javadoc

CDM

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

如需了解更多信息,请参阅 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 TV。

如需了解更多信息,请参阅 Android 交互文档ExoPlayer 文章

ExoPlayer

ExoPlayer architecture overview

ExoPlayer rendering overview

BandwidthMeter

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

如需了解更多信息,请参阅组件 Javadoc

DataSource

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

如需了解更多信息,请参阅组件 Javadoc

Extractor

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

如需了解更多信息,请参阅组件 Javadoc

LoadControl

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

如需了解更多信息,请参阅组件 Javadoc

MediaSource

提供有关媒体结构的高级信息(作为 Timeline),并为播放创建 MediaPeriod 实例(对应于 Timeline 的时段)。

如需了解更多信息,请参阅组件 Javadoc

MediaPeriod

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

如需了解更多信息,请参阅组件 Javadoc

Renderer

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

如需了解更多信息,请参阅组件 Javadoc

Timeline

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

如需了解更多信息,请参阅组件 Javadoc

TrackGroup

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

如需了解更多信息,请参阅组件 Javadoc

TrackSelection

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

如需了解更多信息,请参阅组件 Javadoc

TrackSelector

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

如需了解更多信息,请参阅组件 Javadoc