记录一次 Rclone挂载网盘,Emby播放视频出现连续跳集的原因分析以及解决

记录一次 Rclone挂载网盘为本地文件夹,Emby播放视频出现连续跳集的原因分析以及解决。

  1. Windows 客户端每次点播放都会瞬间触发「下一集」并立即调用 Playback/Stopped,播放时长为 0 ms。
  2. 服务端日志里大量 Bitrate exceeds DirectPlay / DirectStream limit → 强制转码。
  3. 转码进程被 SIGKILL(code 137),随后返回 HTTP 500 → 客户端收不到首片,于是立即跳到下一集。
  4. 根因:挂载在 /extdisk02/embyGallery/baiduLibs 的 rclone 云盘文件首次读取极慢(> 15 s),Emby 的 15 s 转码启动超时后被 systemd-oom 或者手动资源限制杀死 ffmpeg,导致首片 0.ts 生成失败。
  5. 最终表现:Windows 客户端"连环跳集",而 Web 端因为等待时间更长或已缓存,能正常播放。

解决思路(按优先级)

  1. 把「云盘 → rclone → 本地」改成「云盘 → rclone cache / vfs-cache-mode writes」

    复制代码
    rclone mount baidu: /extdisk02/embyGallery/baiduLibs \
      --vfs-cache-mode full \
      --cache-dir /var/lib/emby/rclone-cache \
      --buffer-size 256M \
      --dir-cache-time 24h \
      --poll-interval 1h

    让 rclone 先把文件拉到本地 SSD,首片秒开,Emby 不再超时。

  2. 调大 Emby 转码启动超时

    Emby Server → 转码 → 「允许转码启动时间」改成 60 s 或更长;

    同时把 /var/lib/emby/transcoding-temp 指向本地 SSD,减少 IO 阻塞。

  3. 降低码率或关闭强制转码

    • 用户策略「最大码率」≥ 20 Mbps(高于原片 1.9 Mbps),让文件 Direct Play;

    • 或者把片源统一压成 3-5 Mbps H.264,减小首片读取量。

  4. 排除 OOM / 资源限制
    dmesg | egrep -i "killed process|oom" 确认是否内存不足;

    若确实被杀,给 Emby 和 ffmpeg 加 systemd slice,限制并发转码数或增大内存。

  5. 只读挂载导致 .nfo 无法写入

    日志中 Read-only file system 不影响播放,但会污染日志。

    把库设为「只读」或把 rclone 挂载改为 --vfs-cache-mode writes 即可。


一句话总结
把云盘文件用 rclone vfs-cache-mode full 缓存到本地 SSD,再适当放宽 Emby 的转码超时或提升客户端码率限制,即可彻底消除 Windows 客户端的「连环跳集」问题。

相关推荐
呵呵哒( ̄▽ ̄)"4 小时前
专项智能练习(音频基础)
音视频
ai产品老杨11 小时前
以技术共享点燃全球能源变革新引擎的智慧能源开源了
javascript·人工智能·开源·音视频·能源
TSINGSEE13 小时前
数据库选择有讲究?SQLite、PostgreSQL还是MySQL?
mysql·音视频·实时音视频·数据库架构·视频编解码
AnySpaceOne17 小时前
MP4视频太大如何压缩?分享6种简单便捷的压缩小技巧
学习·音视频
嘀咕博客19 小时前
66MyHeyGen-开源版HeyGen,视频翻译工具
音视频·ai工具
XZHOUMIN19 小时前
66解决通过南瑞加密网关传输文件和推送视频的失败的问题
c++·音视频
todoitbo19 小时前
你只需输入一句话,MoneyPrinterTurbo直接给你输出一个视频
ai·音视频·视频生成·ai生成视频
Antonio91519 小时前
【音视频】Opus 编码格式介绍
音视频
FutureUniant20 小时前
GitHub每日最火火火项目(9.3)
人工智能·计算机视觉·ai·github·音视频