该笔记将记录:在 Linux 中,进行无线投屏的方法,及常见问题处理方法。
构建
Miracast(”HDMI over Wi-Fi”)
Miracast,是个标准(其由 Wi-Fi 联盟提出),是我们常说的“无线投屏”功能(但是,两者仍旧存在区别)。
使用 Miracast 进行无线投屏,需要无线网卡支持 Wi-Fi Direct(Wi-Fi Peer-to-Peer),两台设备通过 Wi-Fi 直连 Peer to Peer 的方式;
UxPlay | AirPlay Unix mirroring server
如果想将 iPhone 或 iPad 镜像到 Ubuntu 上,使用 UxPlay 是实现这一目标的简单方式 — — 而且它完全免费、开源,非常棒!可以快速将你的 iPhone(或 iPad)屏幕与 Ubuntu 共享,还可以带有音频,而且你不需要在你的苹果设备上安装任何应用程序来使用它。苹果设备屏幕上显示的任何内容都会实时流到你的桌面上,显示在一个浮动窗口中,你可以自由地在桌面上移动或全屏显示。
UxPlay 使用 AirPlay,这是苹果内置的屏幕共享技术 — — 无需越狱或有线连接,只需要一个支持 AirPlay 的设备(即 iPhone 4 或更高版本)和一个正常的网络连接。现在,苹果在 2017 年重新设计了 AirPlay(AirPlay 2),但仍继续包含这个应用程序使用的“旧协议”,以在 Linux 上启用屏幕镜像。苹果可能会在将来的更新中删除旧的协议,但截至 iOS 17.x,它仍然存在并且可以正常使用。
1)UxPlay 只能镜像你的屏幕(以及它的音频),所以你不能与所见之物进行交互。
2)由于 UxPlay 使用了硬件加速的 H.264 解码器(在可用时,如果没有,它会退回到软件解码)通过 GStreamer 插件,性能很好,视频流畅,几乎没有停顿、卡顿和丢帧。
3)UxPlay 还支持 AirPlay 音频模式,用于苹果无损 (ALAC) 音频(意味着只有音频,没有视频),可以播放设备上的任何内容。
4)……
镜像有许多用途:它可以帮助你在工作中进行协作、共享演示文稿、演示代码、艺术作品或其他内容,可以在流媒体或视频通话中进行观看 / 听取设备上的内容,等等。
源码:https://github.com/FDH2/UxPlay
其他解决方案
albfan/miraclecast: Connect external monitors to your system via Wifi-Display specification also known as Miracast
GNOME / gnome-network-displays · GitLab
Install alfacast screen mirror for Linux using the Snap Store | Snapcraft
参考文献
Miracast – Wikipedia
wireless – Ubuntu as Miracast Sender/receiver – Ask Ubuntu