詞彙解釋

一般 - 媒體

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 公開標準頁面查看。

數位著作權管理

數位著作權管理。

詳情請參閱 Wikipedia 頁面。

無間隙播放

這項程序會略過曲目結尾、下一首曲目的開頭,或兩者皆略過,避免曲目之間出現無聲間隙。

詳情請參閱 Wikipedia 頁面。

HEVC

高效率視訊編碼,又稱 H.265 視訊轉碼器。

HLS

HTTP 即時串流。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 保護的內容。CDMs 是透過 Android 的 MediaDrm API 存取。

詳情請參閱 Javadoc。

IMA

互動式媒體廣告。IMA 是一種 SDK,可將多媒體廣告整合至應用程式。

詳情請參閱 IMA 說明文件。

MediaCodec

Android API,用於存取平台中的媒體轉碼器 (即編碼器和解碼器元件)。

詳情請參閱 Javadoc。

MediaDrm

Android API,用於存取平台中的 CDM。

詳情請參閱 Javadoc。

音訊卸載

可將壓縮音訊直接傳送至裝置提供的數位訊號處理器 (DSP)。音訊卸載功能適用於低功耗音訊播放。

詳情請參閱「Android 互動說明文件」。

直通

可透過 HDMI 直接傳送壓縮音訊,不必先解碼。舉例來說,這項功能可用於在 Android TV 上播放 5.1 環場音效。

詳情請參閱「Android 互動說明文件」。

Surface

請參閱 Javadoc 和 Android 圖像說明文件。

通道

Android 架構接收壓縮視訊和壓縮或 PCM 音訊資料的程序,並負責解碼、同步及算繪資料,接管通常由應用程式處理的部分工作。通道化可改善音訊與視訊 (AV) 同步、讓影片播放更流暢,並減少應用程式處理器的負擔。主要用於 Android TV。

詳情請參閱「Android 互動說明文件」和「ExoPlayer 文章」。

ExoPlayer

ExoPlayer 架構總覽
圖 1. ExoPlayer 架構總覽,顯示媒體資料流程和資訊流程。
ExoPlayer 算繪總覽,顯示從佇列到平台接收器的媒體解碼和算繪管道
圖 2. ExoPlayer 算繪總覽。
BandwidthMeter

估算網路頻寬的元件,例如監聽資料傳輸。在適應性串流中,系統會根據頻寬估算值,在播放期間選取不同的位元率音軌。

詳情請參閱元件的 Javadoc。

DataSource

用於要求資料的元件 (可能透過 HTTP、本機檔案等)。

詳情請參閱元件的 Javadoc。

擷取器

這個元件會剖析媒體「容器」格式,輸出「軌」資訊和屬於各個軌的個別「存取單元」,供解碼器使用。

詳情請參閱元件的 Javadoc。

LoadControl

這個元件會決定何時開始和停止載入,以及何時開始播放。

詳情請參閱元件的 Javadoc。

MediaSource

提供媒體結構的概略資訊 (以 Timeline 形式),並建立 MediaPeriod 例項 (對應 Timeline 的時間段) 以供播放。

詳情請參閱元件的 Javadoc。

MediaPeriod

載入單一媒體 (例如音訊檔案、廣告、兩則廣告之間穿插的內容等),並允許讀取載入的媒體 (通常是透過 Renderers)。媒體中要載入哪些軌,以及何時開始和停止載入,分別由 TrackSelector 和 LoadControl 決定。

詳情請參閱元件的 Javadoc。

轉譯器

讀取、解碼及算繪媒體樣本的元件。 Surface 和 AudioTrack 是標準 Android 平台元件,可轉譯影片和音訊資料。

詳情請參閱元件的 Javadoc。

時間軸

代表媒體的結構,從單一媒體檔案等基本案例,到複雜的媒體組合 (例如插入廣告的播放清單和串流) 皆適用。

詳情請參閱元件的 Javadoc。

TrackGroup

群組,內含同一影片、音訊或文字內容的一或多個呈現方式,通常是為了自適應串流而採用不同位元率。

詳情請參閱元件的 Javadoc。

TrackSelection

選取內容包含 TrackGroup 中的靜態曲目子集,以及子集中可能變動的所選曲目。如果是自適應串流,每當開始載入新的媒體區塊時,TrackSelection 就會負責選取適當的音軌。

詳情請參閱元件的 Javadoc。

TrackSelector

選取要播放的曲目。根據要播放的曲目資訊 MediaPeriod 和播放器 Renderers 的功能,TrackSelector 會為每個 Renderer 生成 TrackSelection。

詳情請參閱元件的 Javadoc。