Skip to content

About

Independent Emby Watch Together plugin

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

350 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emby Watch Together 插件

Watch Together 是运行在 Emby Server 内的双人同步观看插件。两位登录同一台 Emby Server 的用户可以在一个房间里一起观看同一视频,插件负责起播对齐、暂停/继续、明显的手动进度调整、主用户换集和有限的播放恢复。

本文面向 Emby Server 管理员和普通使用者。当前正式版为 v1.6.1.0,变化见发布说明。开发者和维护者请从开发者文档索引进入。

测试通道提供 v1.7.0.1 测试版,包含分页、视频信息与用户头像展示,并修正页面初始化、分页跳转和客户端下拉箭头,变化和测试重点见测试版说明。测试版使用“房间 / 创建与邀请 / 设置”三个页面,完整的真实双端功能验收仍在进行。

功能

  • 管理员可以创建两人房间并指定主用户;普通用户可以通过一次性邀请码创建自助房间。
  • 两人打开同一视频后,插件会以主用户位置为基准完成暂停、定位和恢复播放。
  • 主用户切换到下一集或其他视频时,参与者会先打开主用户当前视频,确认双方已打开同一视频后再重新对齐;参与者自行换片不会让主用户跟随。
  • 播放中会同步明确的暂停/继续和明显的手动拖动,不会为了消除小幅差异而连续追赶跳转。
  • 参与者会话短暂缺失时,插件按原用户、原会话和原视频保留有限恢复机会;持续明显漂移只会低频触发一次保守重新对齐。
  • 管理页提供创建、加入、退出、暂停、继续、重新同步、删除、设置和脱敏诊断导出。

兼容性与边界

  • 插件按 Emby Server 4.9 API 构建;实际宿主和客户端兼容性见客户端兼容性记录。本轮 Web 资源记录使用 Emby Web 4.10.0.40。
  • 一个房间恰好两名参与者,双方必须登录同一台 Emby Server;不支持多人房间或跨服务器同步。
  • 初始同步要求双方打开同一视频,并且客户端支持暂停、继续和拖动进度等远程控制。同步基于服务器会话快照,不保证每一帧完全相同。
  • 不修改媒体库、转码设置或播放器客户端,也不依赖额外服务。

安装已构建插件

  1. 从项目的 GitHub Latest stable Release 下载 EmbyWatchTogether.zip。
  2. 停止 Emby Server,解压得到根目录下的 Emby.Plugins.WatchTogether.dll。
  3. 将 DLL 直接复制到 Emby Server 数据目录的 plugins 目录,不要再套一层插件子目录。
  4. 启动或重启 Emby Server,进入 Dashboard → Plugins → Watch Together,确认设置页可以打开。

升级前建议保留旧 DLL 作为回滚备份。安装包是单 DLL 交付,不需要复制源码、NuGet 包或旁车进程。

使用方法

创建房间

  1. 管理员打开 Watch Together 页面,填写房间名称,选择两名用户并指定主用户。
  2. 让两名用户登录同一台 Emby Server,打开同一视频;必要时在房间卡片上点击“加入房间”。
  3. 等待页面显示“同步中”,看到提示后即可一起观看。

邀请一起观看

  1. 在“邀请一起观看”区域创建一次性邀请码。
  2. 立即把邀请码发给另一位已登录同一服务器的用户。
  3. 对方接受后,双方进入同一个自助房间,再分别打开同一视频。

邀请码有效期为 15 分钟且只能接受一次。服务器重启后未接受的邀请码会失效,需要重新创建。

暂离与结束

  • “暂离房间”停止参与同步,但保留房间成员关系,之后可以重新加入。
  • “结束房间”解除双方的房间关系,之后才能加入或创建其他房间;不会删除媒体文件。

插件更新

更新由 Emby 的“Watch Together 更新检查”计划任务处理。服务器启动后,可在 Dashboard → 计划任务 中调整运行时间、禁用任务或手动执行。插件配置页可以选择 stable 或 beta 通道;stable 使用 GitHub Latest,beta 会在公开 Releases 中从非 draft 的 stable 和 prerelease 里选择最高规范版本。

安装前会校验发布签名、文件大小、哈希、程序集名称和版本。安装成功后 Emby 会提示重启;重启完成前不要重复替换 DLL。可选 GitHub Token 只用于 beta 的 Releases API 查询,页面不会回显 Token,未配置时仍可使用匿名查询。

设置

设置页的“播放停止行为”区域提供以下设置,默认均开启:

设置项 作用
停止或退出视频时暂停另一方 一方被持续确认停止后,暂停另一方
停止或退出视频时发送文字提示 同一停止状态确认后向另一方发送提示
同步操作时向播放端发送文字提示 在暂停、继续、进度调整、重新同步、加入、退出、视频不一致和同步完成时显示提示

这些设置由 Emby 保存,保存后在下一轮同步中生效。

常见问题与排错

  • 页面一直显示等待:确认两人已加入、在线会话打开同一视频,并且客户端支持暂停、继续和拖动进度。
  • 提示视频不一致:两端当前视频不同。重新让双方打开同一视频即可触发新的同步;主用户换片会由插件发起有限的换集流程。
  • 显示同步未完成或没有跟随:等待一轮状态刷新,确认 Emby 能返回更新后的播放状态;必要时使用房间卡片上的“重新同步”。
  • 频繁跳转:检查其他插件、客户端或遥控器是否在发送 Seek。插件不会进行连续追帧。
  • 停止后没有暂停或提示:检查“播放停止行为”中的两个设置,以及目标客户端是否支持暂停和文字提示。
  • 需要进一步定位:先查看房间状态和脱敏诊断 JSON,再把操作时间、房间状态、预期与实际结果交给维护者。不要提交 Token、完整服务器日志或包含账号信息的内容。

开发者和维护者需要的详细说明见技术文档。

About

Independent Emby Watch Together plugin

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages