Emby 中文文档 下载 App

Emby 串流播放原理 — Direct Play、Direct Stream、Transcode 三种模式

三种播放模式

Emby 在收到客户端的播放请求后,会先做一轮兼容性检查,然后选择最优的播放方式。三种模式按理想程度排序:

模式CPU 占用画质损失何时触发
Direct Play零无最理想。文件格式/编码/码率客户端原生支持 + 带宽足够
Direct Stream几乎零几乎无只有容器格式需要改(比如 MKV → MP4),视频/音频编码不变
Transcode高可能有编码不支持、码率过高、需要转音频格式、要加字幕等

Direct Play(直播)

这是你想要的模式。Emby Server 只把文件数据从磁盘读取出来通过网络发给客户端,不做任何处理。客户端自己解码播放。

触发条件:

Direct Stream(微调直播)

容器格式需要改,但视频和音频编码保持不变。常见场景:

Transcode(实时转码)

资源消耗最大的模式。Emby Server 用 ffmpeg + 硬件加速/软解把视频重新编码成客户端能播的格式。常见触发场景:

为什么要搞转码

一句话:文件和客户端/网络对不上的时候,转码让它们对上。

举个具体的例子:你有一部 4K HEVC 编码、码率 60Mbps 的电影,在公司用手机(iOS,只支持 H.264 硬解 + 4G 带宽 15Mbps)看:

怎么看当前播放是哪种模式

Web Client 或 Android TV 客户端 播放时:

也可以在 Server Dashboard 看实时活动:Home → Active Sessions → 点击正在播放的会话 → 展开 Details,里面有:

Dashboard 转码设置页面
转码设置页面显示当前硬件解码器状态和实时会话

怎么尽量多 Direct Play

这是优化播放体验的核心目标——Direct Play = 不转码 = Server 零压力 = 画质最完整。

策略一:统一媒体库的编码格式

全部转成 H.264 + AAC + MP4 容器。这是"最保守"的格式,所有 Emby 客户端(包括最老的)都原生支持。你在 Web Client 里还能开视频 + 软字幕一起 Direct Play,因为 AAC 支持 PGS 字幕 overlay。

如果不想全转成 H.264(4K 片源体积大很多),至少把音频统一成 AAC 或 AC3(Dolby Digital)——这两个在几乎所有平台都原生支持。

策略二:合理设置客户端比特率

Emby 客户端的 Max streaming bitrate 设置很重要:

使用场景推荐设置
局域网千兆100Mbps 或 Unlimited
局域网百兆40~50Mbps
远程访问(4G)5~10Mbps
远程访问(家庭宽带)20~30Mbps

如果文件码率高于这个设置,Emby 会强制降码率转码。设太高网络扛不住会缓冲;设太低浪费了好画质。

策略三:远程访问用 Emby Connect

Emby Connect 会根据你的网络情况自动选择最优的连接方式(P2P 直连优先,不行再中继)。局域网内 Emby 会自动检测,自动用高码率;远程自动降码率。

策略四:开硬件加速

即使还是要转码,硬件转码比软解快 5~10 倍、CPU 占用低很多。详见 硬件加速转码。

转码触发排查清单

文件明明客户端应该能播但还是在转码?按顺序查:

  1. 比特率够不够?客户端设的 Max streaming bitrate 和文件实际码率对比
  2. 视频编码?H.265/HEVC 在很多 Android TV 盒子上能硬解,但在老款上不行
  3. 音频编码?DTS 在 iOS / Apple TV 上不支持,强制转码
  4. 字幕格式?PGS/VobSub 会触发转码
  5. 客户端"强制转码"开关?某些客户端有 "Force Transcoding for formats" 选项
  6. 容器格式?MKV 某些平台上会被 Direct Stream(重封装)或强制转码