V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gam2046
V2EX  ›  Android

咨询关于手机扩展屏幕输出的方案

  •  
  •   gam2046 · 2019-12-30 12:43:41 +08:00 · 13788 次点击
    这是一个创建于 1793 天前的主题,其中的信息可能已经有所发展或是发生改变。

    设备

    • 屏幕总成已损坏的小米 8 一部(目前可通过 ADB 控制设备,已 ROOT )

    期望

    • 能够以有线方式输出视频信号(如 HDMI )或者能够以无线较低延迟的方式扩展屏幕,而非投屏。
    • 能够使用鼠标键盘控制设备

    现状

    • 鼠键控制设备没有什么问题,只需要一个 Type-C 转 USB 的适配器或者使用蓝牙鼠键就可以实现。
    • 问题在于基于有线或无线方式扩展屏幕
    为什么优先考虑有线方式
    • 主要是无线方式延迟会相对较大,且对路由负担较重。容易受使用环境干扰造成延迟。
    • 无线方案要求外置显示设备通过第三方智能设备实现( Miracast、Chromecast 等都需要再外接一个设备)
    为什么拒绝投屏

    投屏时,显示设备的分辨率受限于手机本身的分辨率,同时手机分辨率不可调,意味着基本上电视、显示器都无法完美的投屏显示手机画面(受限于分辨率与长宽比,总会存在黑边)

    目前已知可行的有线外接方案
    • DisplayPort Alt Mode
    • OTG + DisplayLink Adapter
    • MHL

    对于第一种方案,米 8 是否支持,我无法确定,XDA 上有人问过,但是并没有结论,我猜测支持的可能性不大,主要是功率可能带不动。

    对于第二种方案,XDA 上有人给出了肯定的答复,表示可以通过 DisplayLink 实现。

    对于第三种方案,尚不明确,XDA 上有人说可以,有人说米 8 不支持。


    疑问

    除了我已知的方案,是否还有其他的方案能够满足我的需求呢?

    • 尽可能低延迟
    • 能够支持扩展显示分辨率不低于 1920x1080@60Hz,并且尽可能支持外置显示设备的最大分辨率
    • 扩展显示时,能够同时将音频一并交由外置设备播放
    • 声画同步
    18 条回复    2019-12-31 11:30:13 +08:00
    yolee
        1
    yolee  
       2019-12-30 12:57:31 +08:00
    手机重新装一块屏幕[doge]
    c6h6benzene
        2
    c6h6benzene  
       2019-12-30 13:01:15 +08:00 via iPhone
    Xperia 1 可以通过 USB-C to HDMI (或其他输出?)直连屏幕。不确定米 8,不过有线的话不妨一试。
    yujiang
        3
    yujiang  
       2019-12-30 13:10:17 +08:00 via Android
    输出到电脑上吗? scrcpy 试试?可有限可无线
    w2650489
        4
    w2650489  
       2019-12-30 13:10:35 +08:00
    小米 8 支持 SlimPort 吗 支持的话可以转出 hdmi,在弄个分出声音的线就行了
    w2650489
        5
    w2650489  
       2019-12-30 13:11:26 +08:00
    小米系列手机对 MHL 支持好像挺好的
    mxT52CRuqR6o5
        6
    mxT52CRuqR6o5  
       2019-12-30 13:20:53 +08:00 via Android
    似乎米 9 都不支持,华为 mate 系列从 mate10 开始支持,三星旗舰也是支持的
    gam2046
        7
    gam2046  
    OP
       2019-12-30 13:47:56 +08:00
    @c6h6benzene #2 你说的 USB-C TO HDMI 应该就是 Alt Mode,很遗憾,可能是成本原因,小米并不支持,米 8 的 Type-C 并不是 USB 3.1

    @yujiang #3 本质需求是希望直接输出到电视上,毕竟现在 855 的处理器,丢了也可惜,用来当个机顶盒看看视频还是绰绰有余的,如果能解决视频输出的问题,RDP 还可以远程

    @w2650489 #5 关于 MHL,我没有找到比较可靠的资料,早期的小米产品都是支持的,似乎后续的就是薛定谔的支持,具体到米 8 上,行的,不行的都有人说

    然而比较可惜的是,淘宝上关于 DisplayLink 的产品很少,美亚上的价格基本在 70 刀上下,加上运费有一点点小小的肉疼。
    gaojiren
        8
    gaojiren  
       2019-12-30 14:25:33 +08:00
    持续关注解决方案
    fox0001
        9
    fox0001  
       2019-12-30 14:29:31 +08:00 via Android
    一直考虑这个需求的解决方案,幻想一部手机+屏幕走天涯。

    方案 1,Nexus 5 或 LG G3,通过 SlimPort 外接显示器。缺点是耗电,发热严重。

    方案 2,Android 手机装 Linux,通过手机 USB 分享网络,连到另一部低功耗 Linux 设备(例如 Raspberry Pi Zero ),再接大屏幕,通过 Xwindow 显示手机中的 Linux。缺点是 Android 和 Linux 两个系统数据不共享。

    方案 3,Android 手机通过手机 USB 分享网络,连到另一部低功耗 Linux (例如 Raspberry Pi Zero ),Linux 上用 QtScrcpy 显示手机内容。测试过可行。缺点也是比较耗电

    方案 4,另购专用“马甲”,例如 superbook 之类。缺点是贵,还不如再买个 Android 平板

    目前只能期待折叠屏幕的手机的普及了
    JoDragon
        10
    JoDragon  
       2019-12-30 14:54:37 +08:00
    vysor 了解一下
    deorth
        11
    deorth  
       2019-12-30 17:10:30 +08:00
    同#9 方案三,我目前使用旧手机 chroot 运行 debian,开 xrdp。连接 USB 线自动开启 USB 网络共享,在 windows 上使用 mstsc ( windows 远程桌面)连接。耗电不是问题,我插着 USB 线供电呢,并且如果断开 mstsc 的连接,所有图形界面都会被杀死(这不是我有意配置成这样的,但是正好)。缺点主要是卡,移动端 gpu 通常只支持 OpenGL ES,并不是 OpenGL,硬件图形加速不太可能完全正常工作。虽然我这里 chromium 显示部分开启了硬件图形加速,很可能是 tigerVNC 的功劳。此外 xrdp 可能并不支持 rdp 协议的一些高级特性(如 remoteFX ),性能并不太好。
    如果说完美的解决方法,肯定是使用三星 DEX 之类厂商原生提供的方案,同时有硬件和 OS 配合,实现方式与 pc 使用扩展坞应该是一样的。
    xieyingli
        12
    xieyingli  
       2019-12-30 17:13:41 +08:00
    淘宝有那种几十块一根的转接线,支持音频,肯定不是 otg 也不是 mhl,具体是啥我说不上来。。。外行
    places
        13
    places  
       2019-12-30 19:45:31 +08:00
    Displaylink 可以考虑一下 Dell D6000 Docking,接手机可用.
    lincanbin
        14
    lincanbin  
       2019-12-30 21:32:19 +08:00
    小米 8 的口好像是 USB 2.0 的。
    小米全系都是 USB 2.0,带宽捉急,没办法输出视频信号的。
    tankren
        15
    tankren  
       2019-12-31 09:05:58 +08:00
    方案二我玩过,用公司的 D6000
    不需要 OTG, type-c 直插
    gam2046
        16
    gam2046  
    OP
       2019-12-31 10:23:10 +08:00
    @deorth #11 三星一类厂商,我猜测就是使用的,我说的第一种方案,因此是全功能的 Type-C,也就是至少是 USB 3.1 标准以上,不然带宽不够。而且我期望的主要需求一个播放视频,所以可能对图形化加速还是有点点需求的。

    @JoDragon #10 搜了一下,你的方案可能与 scrcpy 类似,基于 ADB 实现的视频传输方案,scrcpy 已经是我见过效率最高的,但是也仅限于救急与演示使用。

    @fox0001 #9 嗯......slimport 如何确认设备是否支持呢?

    关于你的方案二,通过转发 x window,我在电脑上尝试过,Linux 图形化转发到 Windows 上,日常敲敲代码没什么问题,就是有一点不确定,如果是一点多媒体任务,这个图形化加速是否可用,以及在转发端还是被转发端做加速的?

    方案三其实和方案二,本质上区别不是很大。

    方案四,如果目的是出于闲置利用,那就不是很合算了。
    fox0001
        17
    fox0001  
       2019-12-31 11:28:35 +08:00 via Android
    @gam2046 #16 一般新设备都是 type c 转 hdmi,这个不了解。Slimport 或者更老的 MHL,都只有旧设备支持了。如果支持的话,一般手机的详细介绍会提到。

    方案 3 试过在电脑上利用手机看视频(蓝牙耳机连手机),音像同步不卡顿,已是比较理想的选择了,还能关闭手机屏幕。QtScrcpy 可以在 Linux 或 Windows 上运行
    fox0001
        18
    fox0001  
       2019-12-31 11:30:13 +08:00 via Android
    @gam2046 #16 方案 2,补充一下。Xwindow 不通过 ssh 转发端口,而是直连,性能会提高很多
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2761 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 15:26 · PVG 23:26 · LAX 07:26 · JFK 10:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.