手机里找到视频,再想办法让电视播放,这件事看起来简单,实际经常受限于设备品牌、浏览器、播放器和投屏协议。网页里的视频不一定能被系统投屏发现,本地文件可能需要额外应用,电视不支持对应协议时,又要重新寻找接收端软件。

开源项目PlayBridge正在尝试把这些环节放进一套统一方案中。它的思路并不是简单复制手机屏幕,而是让手机承担内容发现、选集和遥控工作,再把真正的媒体地址交给电视、电脑或DLNA设备播放。

截至2026年7月,PlayBridge仍被开发者明确标记为Alpha版本,处于较活跃的早期开发阶段。项目已经覆盖Android手机、Android TV、Fire TV、Apple TV、Windows、macOS、Linux以及DLNA设备,但官方同时提醒,当前版本仍可能存在Bug、未完成的功能以及版本升级后的兼容性变化。

PlayBridge:开源手机、电视与桌面投屏方案

PlayBridge是什么

PlayBridge是一套开源Casting Suite,也就是围绕媒体发现、投送、接收和遥控构建的跨设备投屏系统。

它并不是只有一个App。整个项目采用Monorepo组织,包含多个相互配合的组件:

  • 手机端负责浏览网页、查找媒体、选择内容和控制播放;

  • Android TV和Fire TV应用作为电视接收端;

  • Apple TV拥有独立的tvOS接收端;

  • Windows、macOS和Linux可以运行桌面接收器;

  • 浏览器扩展负责从桌面浏览器标签页发现媒体;

  • 支持DLNA/UPnP的电视可以直接作为接收设备,不需要安装PlayBridge;

  • 共享模块和通信协议负责不同平台之间的发现、配对和控制。

这种设计与常见的“投屏按钮”有所区别。PlayBridge试图建立一套从内容发现到大屏播放的完整链路,而不仅是提供某一种设备协议的客户端。

手机是整个流程的入口

PlayBridge的主要使用逻辑是“Browse on your phone, play on the big screen”。用户在手机上寻找内容,大屏设备主要负责播放。

Android发送端内置基于GeckoView的浏览器,并集成广告过滤能力。用户访问网页后,应用会尝试识别页面中的媒体资源,包括直接视频文件、HLS、DASH以及部分MSE或Blob播放器。

检测到可播放流后,可以选择清晰度、字幕和目标设备,再将内容发送到电视或桌面接收端。

这种方案的一个现实意义在于,很多网站并没有原生Cast按钮,即使有,也未必支持用户当前的电视设备。PlayBridge尝试从浏览器层发现实际媒体资源,从而减少对网站自身投屏功能的依赖。

不过,网页媒体检测并不是万能的。项目文档明确指出,实际效果取决于浏览器能够暴露哪些资源。带有特殊鉴权、DRM保护或高度依赖页面运行环境的媒体,可能无法在脱离原网页后重新播放。

不只是网页视频

PlayBridge逐步加入了一套类似媒体中心的内容入口。

Android手机端可以管理本地视频,也支持M3U和IPTV播放列表。用户可以建立自定义Collections,将不同来源的内容整理到自己的集合中。

项目还提供Library与Discovery界面,并支持Add-on机制。部分插件可以通过沙箱中的JavaScript运行,用来扩展内容目录和媒体解析能力。

对于连续剧等长内容,PlayBridge提供播放队列、自动进入下一集、观看进度和断点续播。已经播放到某个时间点的内容,可以在下次打开时从对应位置继续。

这些功能让它逐渐超出单纯的投屏工具范畴,更接近一个以手机为控制中心的本地媒体播放体系。

需要区分的是,PlayBridge本身是一套播放和投送工具,实际媒体内容来自用户使用的文件、网站、播放列表或扩展来源。用户仍需自行确认所访问内容及第三方扩展是否符合所在地的版权和使用规则。

接收端覆盖多种设备

PlayBridge目前提供多种接收方式,其中Android TV和Fire TV的支持相对完整。

Android TV接收端同时使用Media3/ExoPlayer和MPV播放引擎。当某个媒体流在一种播放器上出现兼容问题时,可以尝试使用另一套播放路径。

Apple TV版本则结合AVPlayer、VLC和MPV等播放能力。不过截至当前项目文档,Apple TV端还没有像Android TV一样提供直接下载的预编译安装包,需要通过Xcode自行构建和部署。

桌面端使用Flutter开发,可以运行在Windows、macOS和Linux上,底层播放主要依赖libmpv。它既可以作为接收屏幕,也能配合浏览器扩展处理桌面网页中的视频。

项目各组件采用独立版本节奏。2026年7月的更新记录中,Android手机端已经记录到0.11.2,Android TV Player记录到0.9.3,桌面端则记录到0.8.0+28。这也说明PlayBridge目前仍处在快速迭代阶段,而不是一个已经冻结接口和功能的成熟发行版。

DLNA降低了使用门槛

如果电视本身支持DLNA或UPnP Renderer,PlayBridge不要求电视端安装自己的应用。

手机可以在局域网中发现兼容设备,并直接向电视发送媒体播放请求。对于不方便安装第三方APK的智能电视,这种方式更加直接。

不过,DLNA也是PlayBridge不同接收方式中兼容差异较大的一种。不同品牌电视对HLS、编码格式、字幕、Seek和播放状态反馈的实现并不一致。

根据官方功能矩阵,DLNA模式可以完成播放、暂停、停止和部分进度控制,但音轨、字幕轨选择等高级功能不一定可用。连续剧自动播放下一集时,手机也需要继续保持工作状态。

因此,支持DLNA并不等于所有电视都能获得与原生PlayBridge接收端相同的体验。

手机同时也是遥控器

PlayBridge将遥控功能直接放进发送端,而不是要求用户在手机和电视遥控器之间反复切换。

Android端提供播放控制、进度拖动、音量、方向键、触控板和键盘输入等模式。手机可以根据电视当前运行的是播放器还是浏览器,切换不同控制界面。

对于需要在电视浏览器里操作网页的场景,触控板和键盘输入比传统电视遥控器更加方便。播放普通视频时,则可以直接使用暂停、快进、音轨和字幕控制。

不同接收端支持的遥控能力并不完全一致。Android TV功能最完整,Apple TV和DLNA设备受到平台接口限制,会缺少部分控制项目。

本地网络是设计重点

PlayBridge强调Local-network only,也就是核心设备发现、控制和播放链路主要发生在本地网络中。

用户不需要注册PlayBridge账号,项目也没有把投屏控制建立在中心云服务之上。手机和接收端通常需要位于同一个Wi-Fi或可相互访问的局域网中。

首次连接时,接收端会显示一个6位配对码。用户在发送端确认后建立可信设备关系,后续连接可以自动认证。

从项目公开的协议设计来看,PlayBridge没有仅依赖“同一个局域网就是可信环境”的假设。Android TV、Apple TV和桌面接收器会通过WSS进行通信,并使用本地生成的TLS身份。

首次配对使用SAS短认证字符串确认两端身份,随后保存认证Token和证书公钥指纹。已经配对的设备再次连接时会检查证书Pin,如果接收端密钥发生变化,需要重新配对。

这种机制主要用于防止局域网中其他设备直接冒充已配对的接收器。标准DLNA设备由于使用的是原有UPnP/DLNA协议,不属于PlayBridge这套认证体系。

浏览器扩展补上桌面场景

除了手机内置浏览器,PlayBridge还在开发Firefox和Chromium浏览器相关的桌面媒体检测能力。

扩展可以检查当前网页标签中的直接视频、HLS、DASH及部分MSE媒体,并显示检测到的资源。媒体随后通过PlayBridge Desktop播放,或者由桌面端继续发送给其他接收设备。

这条链路更适合用户已经习惯在电脑浏览网页,但希望将视频转到电视播放的场景。

目前浏览器扩展的能力还没有完全与手机端一致。例如字幕可以被检测,但文档显示字幕附件暂未完整转发到Desktop;部分Blob或页面内部播放器也可能无法脱离原网页重新播放。

下载与离线功能

Android手机端还提供媒体下载功能。

项目使用Android WorkManager管理下载队列,对HLS流可以在下载过程中进行MP4封装处理,并最终保存到手机媒体库。

这意味着用户在支持的媒体来源上,不一定只能实时投屏,也可以先保存到本地,再通过PlayBridge发送给电视或其他接收器。

实际能否下载仍取决于媒体地址、鉴权方式、加密机制以及内容提供方限制。对于DRM保护媒体,这类普通媒体下载流程通常无法替代合法授权的离线下载机制。

技术结构较复杂

PlayBridge并不是用一套跨平台框架简单打包所有设备端。

项目仓库采用Monorepo结构,不同平台根据实际需求使用不同技术:

  • Android手机和Android TV使用Android原生技术栈;

  • 共享逻辑中包含Kotlin Multiplatform模块;

  • 手机浏览器使用GeckoView;

  • Android播放涉及Media3、ExoPlayer和MPV;

  • 桌面应用采用Flutter,并依赖libmpv;

  • Apple TV通过Xcode环境构建;

  • 设备间协议提供AsyncAPI定义及多语言绑定。

这种架构增加了维护成本,但也让不同设备可以使用更适合自身平台的播放器和系统能力。

项目还把通信协议正式放入仓库管理,包括设备发现、WSS连接、TLS Pin、配对、认证、播放命令和状态事件等流程,说明开发方向已经不只是制作几个互相调用的应用,而是在建立一套相对明确的跨端协议。

目前如何安装

Android手机和Android TV用户目前可以通过GitHub Releases获取APK,也可以参与Google Play的Closed Testing测试。

Android TV还提供通过Downloader应用输入代码安装的方式。首次运行时会申请“显示在其他应用上层”权限,用于收到投屏请求后将播放器切换到前台。

桌面端在Releases中提供Windows、Linux和macOS版本。Linux环境需要libmpv2,macOS构建目前没有正式代码签名,首次打开时可能需要通过系统菜单手动确认。

Apple TV暂时需要开发者环境自行构建,没有预编译版本可直接安装。

支持DLNA的电视最简单,不需要额外安装接收端,只要设备能够被同一局域网中的PlayBridge发现即可。

开源与开发状态

PlayBridge采用GNU GPLv3许可证发布,同时包含GeckoView、FFmpeg、mpv/libmpv和uBlock Origin等采用各自兼容许可证的第三方组件。

仓库允许社区提交代码,也明确说明项目开发中使用了AI辅助工具。维护者没有禁止AI生成代码,但要求贡献者必须理解、测试并能够解释自己提交的修改,所有Pull Request仍按照同一标准进行评审。

从2026年6月至7月的更新记录看,项目正在较密集地补充安全配对、下载、IPTV、浏览器检测、播放器兼容、桌面代理和跨平台协议等能力。近期提交仍在继续处理Android TV播放稳定性、libmpv构建和本地代理安全等问题。

就目前状态而言,PlayBridge更像一套正在快速成形的开源投屏基础设施,而不是已经完成定型的消费级软件。它把手机内容发现、多平台播放器、DLNA兼容和本地安全配对放进同一个项目中,方向已经比较清楚;真正决定它能否成为日常主力工具的,仍是后续稳定性、安装便利性和不同设备之间的实际兼容表现。

参考资料

  1. PlayBridge GitHub项目

  2. PlayBridge项目说明

  3. PlayBridge安全配对与通信协议

  4. PlayBridge Android手机端更新记录

  5. PlayBridge Android TV更新记录

  6. PlayBridge桌面端更新记录