▷ 示例格式

⌹ 365提款成功但是不到账 ⏱️ 2026-07-16 11:21:09 👤 admin 👁️‍🗨️ 7351 ❤️ 792
示例格式

在定义 ExoPlayer 支持的格式时,请务必注意,“媒体格式”是在多个级别定义的。从最低级别到最高级别,这些方法如下所示:

各个媒体样本(例如视频帧或音频帧)的格式。这些是格式示例。请注意,典型的视频文件至少包含两种采样格式的媒体;一种用于视频(例如 H.264),另一种用于音频(例如 AAC)。

用于存放媒体样本和关联元数据的容器的格式。这些是容器格式。媒体文件具有单一的容器格式(例如 MP4),通常通过文件扩展名来指示。请注意,对于某些纯音频格式(例如 MP3),样本格式和容器格式可能相同。

DASH、SmoothStreaming 和 HLS 等自适应流式传输技术。这些不是媒体格式,但仍需定义 ExoPlayer 提供的支持级别。

以下部分从最高到最低级别定义了 ExoPlayer 的支持。最后两部分介绍了对独立字幕格式和 HDR 视频播放的支持。

自适应流式传输

DASH

ExoPlayer 支持多种容器格式的 DASH。媒体流必须经过解复用,这意味着视频、音频和文本必须在 DASH 清单中的不同 AdaptationSet 元素中定义(CEA-608 是例外情况,如下表中所述)。所含音频和视频样本格式也必须受支持(有关详情,请参阅样本格式部分)。

功能

支持

评论

容器

FMP4

仅限解复用的流

WebM

仅限解复用的流

Matroska

仅限解复用的流

MPEG-TS

未计划任何支持

字幕

TTML

原始格式,或根据 ISO/IEC 14496-30 嵌入在 FMP4 中

WebVTT

原始格式,或根据 ISO/IEC 14496-30 嵌入在 FMP4 中

CEA-608

使用 SCTE 无障碍描述符发出信号时嵌入到 FMP4 中

CEA-708

使用 SCTE 无障碍描述符发出信号时嵌入到 FMP4 中

元数据

EMSG 元数据

嵌入在 FMP4 中

内容保护

Widevine

“cenc”方案:API 19 及更高版本;“cbcs”方案:API 25 及更高版本

PlayReady SL2000

Android TV,仅限“cenc”方案

ClearKey

API 21 及更高级别,仅限“cenc”方案

广告插播

多时段播放

服务器引导的广告插播

(xlinks)

IMA 服务器端广告和客户端广告

广告插播指南

直播

常规直播播放

超低延迟 CMAF 直播

通用媒体客户端数据

(CMCD)

CMCD 集成指南

SmoothStreaming

ExoPlayer 支持采用 FMP4 容器格式的 SmoothStreaming。媒体流必须进行解复用,这意味着视频、音频和文本必须在 SmoothStreaming 清单中以不同的 StreamIndex 元素进行定义。所含音频和视频样本格式也必须受支持(如需了解详情,请参阅样本格式部分)。

功能

支持

评论

容器

FMP4

仅限解复用的流

字幕

TTML

嵌入在 FMP4 中

内容保护

PlayReady SL2000

仅分发至 Android TV

直播

常规直播播放

通用媒体客户端数据 (CMCD)

集成指南

HLS

ExoPlayer 支持采用多种容器格式的 HLS。所含音频和视频样本格式也必须受支持(有关详情,请参阅样本格式部分)。我们强烈建议 HLS 内容制作方生成高画质的 HLS 流,如这篇博文中所述。

功能

支持

评论

容器

MPEG-TS

FMP4/CMAF

ADTS (AAC)

MP3

字幕

CEA-608

CEA-708

WebVTT

元数据

ID3

SCTE-35

内容保护

AES-128

Sample AES-128

Widevine

API 19 及更高版本(“cenc”方案)和 25 及更高版本(“cbcs”方案)

PlayReady SL2000

仅分发至 Android TV

服务器控制

增量更新

阻止播放列表重新加载

阻止加载预加载提示

长度未定义的字节范围除外

广告插播

服务器引导的广告插播(插页式广告)

部分支持

仅限包含 X-ASSET-URI 的 VOD。

直播和X-ASSET-LIST将在稍后添加。

IMA 服务器端广告和客户端广告

广告插播指南

直播

常规直播播放

低延迟 HLS (Apple)

低延迟 HLS(社区)

通用媒体客户端数据

CMCD

CMCD 集成指南

渐进式容器格式

ExoPlayer 可以直接播放以下容器格式的媒体流。

所含音频和视频样本格式也必须受支持(有关详情,请参阅样本格式部分)。如需了解图片容器和格式支持,请参阅图片。

容器格式

支持

评论

MP4

M4A

FMP4

WebM

Matroska

MP3

部分视频流只能使用恒定比特率搜索进行搜索**

Ogg

包含 Vorbis、Opus 和 FLAC

WAV

MPEG-TS

MPEG-PS

FLV

不可搜索*

ADTS (AAC)

只能使用恒定比特率搜索**

FLAC

使用 FLAC 库或 ExoPlayer 库中的 FLAC 提取器***

AMR

只能使用恒定比特率搜索**

* 不支持搜索,因为容器未提供元数据(例如,样本索引),无法让媒体播放器以高效的方式执行搜索。如果需要搜索,我们建议使用更合适的容器格式。

** 这些提取器具有 FLAG_ENABLE_CONSTANT_BITRATE_SEEKING 标志,用于启用基于恒定比特率假设的近似搜索。此功能默认处于未启用状态。如需为所有支持此功能的提取器启用此功能,最简单的方法是使用 DefaultExtractorsFactory.setConstantBitrateSeekingEnabled,如此处所述。

*** FLAC 库提取器输出原始音频,该音频可由框架在所有 API 级别上处理。ExoPlayer 库 FLAC 提取器会输出 FLAC 音频帧,因此需要使用 FLAC 解码器(例如,处理 FLAC 的 MediaCodec 解码器 [从 API 级别 27 开始需要],或启用了 FLAC 的 FFmpeg 库)。如果应用是使用 FLAC 库构建的,则 DefaultExtractorsFactory 会使用扩展提取器。否则,它会使用 ExoPlayer 库提取器。

RTSP

ExoPlayer 同时支持直播和点播 RTSP。支持的采样格式和网络类型如下所列。

支持的样本格式

H264(SDP 媒体说明必须在 fmtp 属性中包含 SPS/PPS 数据,以进行解码器初始化)。

AAC(采用 ADTS 位流)。

AC3.

注意: 请针对此问题发表评论,以请求支持其他样本格式。

支持的网络类型

通过 UDP 单播的 RTP(不支持多播)。

交错式 RTSP,使用 TCP 通过 RTSP 传输 RTP。

示例格式

默认情况下,ExoPlayer 使用 Android 的平台解码器。因此,支持的样本格式取决于底层平台,而不是 ExoPlayer。如需查看有关 Android 设备支持的样本格式的文档,请参阅支持的媒体格式。请注意,除了列出的格式之外,个别设备可能还支持其他格式。

除了 Android 的平台解码器之外,ExoPlayer 还可以使用软件解码器扩展程序。这些必须手动构建,并包含在希望使用它们的项目中。我们目前为 AV1、VP9、FLAC、Opus、FFmpeg、MIDI、IAMF 和 MPEG-H 提供软件解码器库。

FFmpeg 库

FFmpeg 库支持解码各种不同的音频样本格式。您可以选择在构建库时包含哪些解码器,如库的 README.md 中所述。下表提供了音频样本格式与相应 FFmpeg 解码器名称之间的映射。

示例格式

解码器名称

Vorbis

vorbis

Opus

opus

FLAC

flac

ALAC

alac

PCM μ-law

pcm_mulaw

PCM A-law

pcm_alaw

MP1、MP2、MP3

MP3

AMR-NB

amrnb

AMR-WB

amrwb

AAC

aac

AC-3

ac3

E-AC-3

eac3

DTS、DTS-HD

DCA

TrueHD

mlp truehd

图片

ExoPlayer 支持以下图片格式。如需了解如何与可能支持不同格式集成的外部库集成,请参阅图片加载库。

映像格式

支持

备注

BMP

GIF

不支持提取器

JPEG

JPEG 动态照片

支持静态图片和视频

JPEG Ultra HDR

在 Android 14 之前或在非 HDR 显示屏上回退到 SDR

PNG

WebP

HEIF/HEIC

HEIC 动态照片

AVIF(基准)

仅在 Android 14 及更高版本上解码

独立字幕格式

ExoPlayer 支持各种格式的独立字幕文件。字幕文件可以按照媒体文件页面中的说明进行旁加载。

容器格式

支持

MIME 类型

WebVTT

MimeTypes.TEXT_VTT

TTML / SMPTE-TT

MimeTypes.APPLICATION_TTML

SubRip

MimeTypes.APPLICATION_SUBRIP

SubStationAlpha (SSA/ASS)

MimeTypes.TEXT_SSA

HDR 视频播放

ExoPlayer 可处理各种容器中的高动态范围 (HDR) 视频提取,包括 MP4 中的 Dolby Vision 和 Matroska/WebM 中的 HDR10+。解码和显示 HDR 内容取决于 Android 平台和设备的支持。如需了解如何检查 HDR 解码/显示功能以及 HDR 支持在不同 Android 版本中的限制,请参阅 HDR 视频播放。

播放需要支持特定编解码器配置文件的 HDR 流时,即使编解码器列表中相同 MIME 类型但不支持该配置文件的另一个解码器显示在更上方,ExoPlayer 的默认 MediaCodec 选择器也会选择支持该配置文件的解码器(如果有)。这样一来,在流超出同一 MIME 类型硬件解码器的能力范围时,可能会选择软件解码器。

◈ 相关文章

原创阴阳师新SSR花鸟卷怎么样?阴阳师花鸟卷技能解读对比分析
⌹ 365提款成功但是不到账

▷ 原创阴阳师新SSR花鸟卷怎么样?阴阳师花鸟卷技能解读对比分析

⏱️ 08-02 👁️‍🗨️ 5294
meal餐,一顿饭
⌹ 365bet现场滚球

▷ meal餐,一顿饭

⏱️ 10-16 👁️‍🗨️ 4476