惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
小众软件
小众软件
D
Docker
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
V2EX
博客园 - 叶小钗
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Stack Overflow Blog
Stack Overflow Blog
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
IT之家
IT之家
博客园 - 司徒正美
M
MIT News - Artificial intelligence
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
罗磊的独立博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
C
Check Point Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
一款刚上架的屏幕拓展应用为何迅速走红?浅谈 Duet Display ...
2014-12-31 · via 少数派

Duet Display,是一款由前苹果工程师开发的 Mac → iOS 单向屏幕拓展应用,共有桌面版与移动版两个客户端。在这之前,笔者已经介绍过 Duet Display,今天想再进一步,聊聊它背后的技术。

在 上回的文章 发布之后,有读者评论说:「之前有很多类似功能的屏幕拓展应用,为何唯独 Duet Display 一问世就迅速走红?它何德何能?」

首先,Duet Display 颠覆了基于 Wi-Fi 的传统运作原理,改经 USB 数据线实现,虽然此前也有使用 USB 的类似应用,但二者的实现方式有本质的区别。其次,Duet Display 并非通过纯粹的「屏幕拓展」来实现,而是依靠 Mac 端的视频压缩技术,将当前画面传输到 iOS 端显示。这样做的优点在于,能有效避免无线局域网带来的 Lag(延迟)缺点是它需要设备拥有相对较强的性能,否则会出现类似卡顿、帧数不稳定的现象……

不管如何解释,以上这些不过是一面之词,若要真实还原 Duet Display 的运行原理,还得从最底层的技术说起。

PeerTalk,由瑞典技术人员 Rasmus Andersson 开发的一种可通过 USB 基座和 TCP 协议,实现 iOS / Mac 间通讯的 Cocoa(Objective-C)库,这是 Duet Display 实现「通过数据线输出视频」的核心技术,也是与同类应用在实现方式上最大的差别。和原始的设备通讯原理相比,PeerTalk 可以在 热插拔 状态下,实现自动断开和连接的效果(见视频),无需反复配置也不会影响到系统运行状态,并且由于无需顾虑网络环境方面的因素,所以相对来说更加稳定

【跳转播放视频】

相比基于 Wi-Fi 的同类应用,笔者的观点是:两者都有硬限制,一个是数据线,一个是无线局域网,非常明显,前者在大多数情况下远比后者来得更稳定。打个比喻,如果无线局域网的传输速度为音速,那么数据线不仅可以超音速,而且还能无视磁场干扰……哪个更值得选择应该不言而喻了吧?

不过有人表示,PeerTalk 其实是用了 iTunes / iOS 设备间进行同步的 usbmux 系统和只有通过逆向所得的私有 API,简而言之,就是意味着开发者用了「不符合规矩」的手段,才能实现这样的效果,所以理论上这样的应用是无法上架 iTunes Store 的。可是按现在的情况来看,如果苹果官方将来不会下架 Duet Display,那是不是意味着其他客户端也能钻这个空子了呢?目前笔者无法得知答案,但来自《OS X 高手进阶》系列图书的作者 @ibuick 王飞老师的一句忠告还是非常值得思考,笔者对此的理解是:凡是与 iTunes 技术相关的应用,如果它能与 iTunes 共存,那你就放心地用,否则的话,就建议你做好心理准备:要不将来它会被下架,要不就是被告上法庭,永久停止服务。

CocoaSplit,一种用于视频流媒体服务的技术,有网友通过它成功地实现了 YouTube 视频直播,而 Duet Display 的 Mac 客户端就用了 CocoaSplit,笔者猜测,这或许就是 Duet Display 支持多种分辨率和帧数选择的原因。(有网友认为,Duet Display 开发者可能违反了 CocoaSplit 的某条开源协议,但笔者觉得,这至少不会导致非常严重的后果)

可换个角度想,我认为手动调节分辨率和帧数不是很可靠。在老款 iPad 2 上测试,即使勾选了 60 帧模式,Duet Display 也无法完美达到「流畅」的效果,何谈 30 帧呢?那么在用新款 iPad Air 测试时,Retina 视网膜的显示效果很出众,但不知道为何开发者加入了「非 Retina」模式,因为有些人就提出了疑点:难道在小屏幕低分辨率的条件下,OS X 也能实现精细清晰的渲染吗?答案因人而异,但笔者不是非常认可「手动调节显示效果」这一做法,望开发者能加以改进。

GPUImage,一个由 Brad Larson 托管在 Github 上的基于 BSD 开源的 iOS 库,主要用于实现滤镜、摄像头实时滤镜等图像效果(很多「滤镜」软件都使用了这一技术),由于其处理效果是基于 GPU(图形处理器)而不是 CPU(中央处理器)的,所以一般情况下,它的处理性能更好。那么在 Duet Display 这款软件中,GPUImage 的作用发挥在了视频输出上,以便让 iOS 端的显示效果更好。


综上所述,其实 Duet Display 的强大是来自于多方面技术的整合,通过这位前苹果工程师之手,让它们摩擦融合,并最终诞生了这款让人感到意外的「屏幕拓展工具」,我认为在这位开发者身上,我们应该注意到的是他独创性的想法,而不是技术本身。开发者已经表示会在近月内完成对 Duet Display 的改善点击获得更多有趣的玩儿法),我也希望他能尽快解决目前一些比较严重的问题。说到问题,最后不妨再提下近期笔者刚整理过的反馈,各位「中枪者」请对号入座:

  • 2013 年前的 iOS 机型无法流畅控制 Mac 端画面,暂无法解决,只能等开发者升级。
  • 在部分 MacBook Air 机型上会发生卡死、黑屏、重启等现象,可通过完全删除解决。
  • 在已开启「减少透明度」的条件下,开启 Duet Display 并同时连接 iOS 设备后,会出现 Dock 栏自动恢复「完全透明度」状态。暂时只能通过重新设置解决。
  • 使用过程中,iOS 设备可能无法正常播放视频,重新连接即可。

▲ 本文部分内容借鉴自 Github 与 V2EX