Emby 中文文档 下载 App

Emby 转码不触发排查 — 为什么好好的文件就是要转码

排查的四个维度

Emby 做兼容性检查时按这个顺序判断是否需要转码:

  1. 比特率匹配吗? → 文件码率 > 客户端 Max streaming bitrate → 转码
  2. 视频编码支持吗? → HEVC/H.265 在某些老设备上不支持 → 转码
  3. 音频编码支持吗? → DTS / DTS-HD / TrueHD 在 iOS / Apple TV 上不支持 → 转码
  4. 字幕格式支持吗? → PGS 蓝光字幕在 Web Client / 某些客户端上需要转码烧录 → 转码

按这个顺序检查,大概率能在第三项之前找到原因。

第一步:确认文件的实际编码信息

用 MediaInfo(免费跨平台工具)或 Emby 内置的 Media Info:

Emby 内置:

  1. Web Client 或 Android TV 客户端里找到那个视频
  2. 详情页下拉到底部 → Media Info(或类似入口)
  3. 能看到完整的视频/音频/字幕编码信息
Emby 内置 Media Info
Emby 详情页底部的 Media Info 显示了完整的编码信息

记下:

第二步:和客户端能力交叉对比

常见客户端的编码支持

客户端H.264HEVC/H.265VP9AACAC3/DTSDTS-HD/TrueHDMKV 容器PGS 字幕
Android TV(现代盒子)✅✅(大多支持)✅✅✅ DTS 有时需转码❌ 需转码✅✅
Apple TV 4K✅✅✅✅❌ DTS 不支持❌ 需转码⚠️ 需 Direct Stream⚠️ 需转码
iOS / iPad✅✅❌✅❌ DTS 不支持❌ 需转码❌ 需 Direct Stream❌ 需转码
Web Client(Chrome)✅✅✅✅⚠️ 有限❌ 需转码❌ 需 Direct Stream❌ 需转码
Fire TV Stick✅✅(新机型)✅✅✅❌ 需转码✅✅
Windows Theater✅✅✅✅✅✅(需系统编解码包)✅✅

⚠️ 以上为通用情况,不同机型/系统版本可能有差异。Apple TV 4K 2 代起 HEVC 支持更好。

最常见的转码触发场景

  1. DTS 音轨 + iOS/Apple TV → 音频强制转 AAC(苹果生态不支持 DTS)
  2. HEVC 视频 + 老款 Android TV 盒子 → 视频强制转 H.264(老机型无 HEVC 硬解)
  3. PGS 蓝光字幕 + Web Client → 字幕需要烧录进画面(浏览器没有原生 PGS 支持)
  4. MKV 容器 + iOS → 容器重封装(Direct Stream,不是真转码,但如果转码设置有冲突也可能硬转)
  5. 高码率原盘 + 远程访问带宽不够 → 视频强制降码率

第三步:Server 端日志确认

如果客户端端信息不明确,可以看 Emby Server 的转码日志:

Dashboard → Help → Logs → 在日志里搜索那个文件的名字,会看到类似:

[Transcode] Audio codec DTS not supported by client, transcoding to AAC
[Transcode] Video codec HEVC not supported by client, transcoding to H264
[Transcode] Subtitle codec pgs requires burn-in, transcoding required
[Transcode] Media bitrate 60 Mbps exceeds client setting 25 Mbps

日志会明确告诉你为什么转码。

第四步:解决办法

找到原因后,按下面的对策解决:

对策一:客户端设置里强制硬解

某些客户端有 "Force Direct Play" 或 "Force Transcoding for specific formats" 的设置:

对策二:统一转码媒体库(最彻底)

如果很多文件都在转码,最彻底的方案是把媒体库统一转成最保守的格式:

视频:H.264 / HEVC(客户端都支持的编码)
音频:AAC 或 AC3(Dolby Digital)—— 所有平台原生支持
容器:MP4(最通用的容器)
字幕:SRT(文字型,所有客户端都支持)

用 HandBrake(免费跨平台)批量转换:

# 批量把一个目录里的所有 MKV 转成 MP4 + AAC
HandBrakeCLI -i /path/to/Movies -o /path/to/Movies-new \
  --preset "Fast 1080p30" \
  --encoder x264 \
  --mixdown stereo \
  --audio aac

转换完成后删掉旧库重建新库即可。

对策三:强制某个格式 Direct Play

Emby Server Dashboard → Advanced → Playback → Transcoding 里可以加规则:

这个高级功能需要 Premiere。

对策四:用 Direct Stream 代替转码

Direct Stream 是"不改变视频音频编码,只换容器",几乎零资源。如果你的文件是 MKV + H.264 + AAC,iOS 客户端不支持 MKV 但支持 H.264 + AAC,Emby 会自动 Direct Stream(重封装成 MP4 流),不会真转码。

如果观察到是 Direct Stream 而不是 Transcode,不用担心——这是正常且高效的行为。

报告 Bug

如果一切检查过了文件应该 Direct Play 但还是在转码,可以去 Emby 社区论坛报告,附上:

社区开发者通常能快速定位问题。