• 请不要在回答技术问题时复制粘贴 AI 生成的内容
liuser666
V2EX  ›  程序员

手机无线投屏的原理是什么?为什么电脑不行?

  •  
  •   liuser666 · Jun 27, 2020 · 10551 views
    This topic created in 2178 days ago, the information mentioned may be changed or developed.

    我在使用手机无线投屏的时候发现并非屏幕镜像。

    好像是手机发送了一个视频的下载地址给电视就完事了。

    而电脑上的投屏方案好像就是单纯的屏幕镜像,包括乐播投屏。

    有没有那种发视频到电视的方案呢?

    比方说我在电脑上看 B 站,觉得电脑屏幕不够打,然后我就可以类似手机哪有一键把视频投到电视上。

    按说应该好实现的吧?我回头研究一下投屏的协议。

    45 replies    2025-02-25 19:36:03 +08:00
    natsji
        1
    natsji  
       Jun 27, 2020 via Android   ❤️ 2
    用 chromecast 啊,炒鸡方便
    liuser666
        2
    liuser666  
    OP
       Jun 27, 2020
    @natsji 虽然不太符合我的需求,但是好像看到了个好玩的东西哈哈哈
    lithiumii
        3
    lithiumii  
       Jun 27, 2020 via Android
    WIN10 好像自带一个无线屏幕功能?这个是投屏吗?
    hongfengkt
        4
    hongfengkt  
       Jun 27, 2020
    Mac 可以投
    okjb
        5
    okjb  
       Jun 27, 2020 via Android
    @lithiumii 自带投屏我用起来非常玄幻的,公司网络偶尔能投屏,有时候不能,家里的也是😂自带的用起来有延迟,不好用
    lxc404
        6
    lxc404  
       Jun 27, 2020 via Android
    我记得很久之前腾讯视频 pc 客户端是有 dlna 的,后来好像没了
    kop1989
        7
    kop1989  
       Jun 27, 2020
    关键是因为手机和电视之间用的都是自家 app,可以通过传参、加密校验来实现信息互通。
    pc 一般看都是网站。
    你不能指望一个电视 app 能直接响应明文吧?响应明文的话怎么鉴权?
    乐播投屏这种第三方的应该就是破解了各个视频媒体 app 的传参加密。实现直接播放源。
    liuser666
        8
    liuser666  
    OP
       Jun 27, 2020   ❤️ 1
    @kop1989 应该是用的 DLNA 协议
    tfykimi
        9
    tfykimi  
       Jun 27, 2020
    如果是本地视频,可以使用 windows 自带的 dlan 功能,缺点就是码率过大的话,很容易出现中断情况,当时搞家庭影院的时候研究过,最后还是回到了 kodi 、smb 协议的老路子上。不过用 dlan 看出去玩的照片很爽。 如果是网络视频,没有什么好的解决办法,貌似 pc 上的协议都是通过投屏来搞定,win10 自带那个投屏的功能,试过几次,开会的时候看个 ppt 什么的还可以,看视频延迟太高,而且很容易出现连不上或者中断的情况,
    Semidio
        10
    Semidio  
       Jun 27, 2020
    本地视频的话,右键——播放到设备
    在线视频的话就需要浏览器或者其他第三方软件支持了
    tfykimi
        11
    tfykimi  
       Jun 27, 2020
    @tfykimi 。。dlna 协议,发出去发现敲错了。
    CoCoMcRee
        12
    CoCoMcRee  
       Jun 27, 2020   ❤️ 7
    我是 MRDLNA 这个库的作者,对投屏稍微有些了解.

    DLNA 协议.协议中定义了,包括播放设备,数据源,控制器等多个设备.

    常见的 app 视频投屏,先在局域网中发广播搜索播放设备,比如搜到电视.
    开始投屏时,手机作为控制设备,电视作为播放设备,告诉电视从数据源处开始接收数据.
    这是投在线播放的视频.

    如果是投本地视频的话,数据源就是手机本身.

    大概就是这个样子.
    以上是我的一些拙见.
    syahd
        13
    syahd  
       Jun 27, 2020   ❤️ 2
    投屏现在主要有三种,DLAN,Miracast,AirPlay 。看你的需求,后两者都是支持屏幕镜像的,DLAN 只支持文件流。
    Miracast 主要用于 Android 和 Windows 的投屏,AiryPlay 仅仅支持苹果设备间的投屏,DLAN 的通用性最强。
    看你的需求应该是想实现手机到电脑只投视频,那可以在电脑安装一个 DLAN server 的软件,例如楼上已经提过的 KODI 。如果是想投实时画面,那就可以在 WIndows 或者 Mac 上下载 AirServer,这个既可以让苹果设备投屏,也可以让安装了客户端的安卓投屏。如果是安卓手机配 windows 电脑,还可以用 Dell mobile connect,也可以实时镜像画面。

    我以上的说的都是无线的方案,有线的那就更多了。。。
    natsji
        14
    natsji  
       Jun 27, 2020 via Android
    @liuser666 买个小米盒子国际版,就可以直接从 Chrome 投屏网页视频了
    GDC
        15
    GDC  
       Jun 27, 2020 via iPhone   ❤️ 2
    @kop1989 张口就来还打了一大段……
    liuser666
        16
    liuser666  
    OP
       Jun 27, 2020
    @CoCoMcRee 所以说网页投电影应该可行。
    liuser666
        17
    liuser666  
    OP
       Jun 27, 2020
    @whwq2012 我的需求是把电脑上的网页视频投到电视上...
    liuser666
        18
    liuser666  
    OP
       Jun 27, 2020
    @natsji 走的什么协议?我的 chrome 也有投屏到设备的选项但是一直搜索不到设备,哭了!
    airqj
        19
    airqj  
       Jun 27, 2020 via Android   ❤️ 1
    如果是在局域网的话投屏其实很简单 但是我一下子想不起来了。。。。
    PS:两年前给人做了个路由器投屏的功能,结果融不到资不愿意给钱了 正在打官司。。
    mgrddsj
        20
    mgrddsj  
       Jun 27, 2020 via Android
    @liuser666 #18 Chrome 里面的投屏是 Chromecast, 专门为投网页和投视频有优化,可以买个 Chromecast 接收器来用。
    JerryCha
        21
    JerryCha  
       Jun 27, 2020
    because it's mobile age
    because nobody cares desktop anymore
    mxalbert1996
        22
    mxalbert1996  
       Jun 27, 2020 via Android
    @whwq2012 先把 DLNA 写对了啊。。。另外国外还有一个主流是 Google Cast 。
    joesonw
        23
    joesonw  
       Jun 27, 2020
    airplay apple 全家桶都可以投屏啊.
    chizuo
        24
    chizuo  
       Jun 27, 2020
    @joesonw 看题。不是那种“屏幕镜像”,需要“电视直接播放源视频地址”
    Y29tL2gwd2Fy
        25
    Y29tL2gwd2Fy  
       Jun 27, 2020 via iPhone
    @kop1989 不懂装懂
    expy
        26
    expy  
       Jun 27, 2020
    DLNA/UPnP 了解下。
    直接点说,电脑不行是因为厂商的软件没做这个功能。
    可以自己拿到直链地址后发送给电视上的 Media Renderer 。
    expy
        27
    expy  
       Jun 27, 2020
    https://github.com/cherezov/dlnap
    这里有现成的轮子。
    natsji
        28
    natsji  
       Jun 27, 2020 via Android
    @liuser666 chromecast 就是直接把网页中的视频源推到电视上播放,流量全从电视走。谷歌的 chromecast 接收器还有 android tv 系统的盒子都支持。国产的电视盒子都是普通 android 系统不支持。
    a62527776a
        29
    a62527776a  
       Jun 27, 2020
    乐播是要和各家对接的
    rb6221
        30
    rb6221  
       Jun 27, 2020 via iPhone
    为啥不用手机直接投电视……这样想你属于伪需求吧
    GrayXu
        31
    GrayXu  
       Jun 27, 2020   ❤️ 1
    @kop1989 完全错误,建议学习下 DLNA
    weak
        32
    weak  
       Jun 27, 2020 via Android
    Android 自带截屏 API 。往电脑发送一帧帧的图片。就形成了图像
    succlz123
        33
    succlz123  
       Jun 27, 2020
    https://github.com/succlz123/DLNA-Dart 稍微改改跑在 PC 也没毛病
    Nadao
        34
    Nadao  
       Jun 27, 2020
    PC 有无线传屏的硬件实现。
    但无线传屏看高清视频效果不好,明显有丢帧。 打游戏的话延时也好明显,所以除了办公基本没什么用。
    lithbitren
        35
    lithbitren  
       Jun 27, 2020
    手机各种投屏基本都是把源推到电视,推完以后手机可以关掉 app 都可以继续播
    systemcall
        36
    systemcall  
       Jun 27, 2020
    Chrome 和 Windows 原生的视频控件都是支持的,软件不适配而已
    为什么开发者不适配,这个又要谈到产品经理,产品经理不想要这个功能
    Chrome cast 和 DLNA 都可以支持,Windows 自带的应该是 DLNA,没记错的话 Miracast 也支持,而且 Miracast 可以透传视频到显示设备上,VLC 是支持的,但是国产软件似乎不行
    JerryCha
        37
    JerryCha  
       Jun 28, 2020
    @janus77 考虑一下国内还有不少用户是用电脑上网冲浪的,尽管他们平常可能用着顶配 iPhone 11 Pro Max 。
    joesonw
        38
    joesonw  
       Jun 28, 2020
    @chizuo airplay 两种都可以啊. 只是 app 端需要支持. 例如 tx 视频这种垃圾 app, 热门电影都不让投屏, 要买电视大会员.
    liuser666
        39
    liuser666  
    OP
       Jun 28, 2020
    @janus77 不支持怎么回事,我现在很讨厌使用手机...一般在电脑上操作的时候再切到手机就觉得很难受...哈哈哈
    joesonw
        40
    joesonw  
       Jun 28, 2020
    @chizuo desktop 的我知道的至少有 QuickTime 和 chrome
    liuser666
        41
    liuser666  
    OP
       Jun 28, 2020
    @lithbitren 对,所以我觉得电脑把源推到电视理论上应该也可以实现,来问问有没有现成的工具。
    liuser666
        42
    liuser666  
    OP
       Jun 28, 2020
    @JerryCha sad news
    cyru1s
        43
    cyru1s  
       Jun 28, 2020
    其实你要想一个问题,发链接让电视打开可能会遇到:
    * 电视没有装某科学网络连接工具,导致某些网站电视打不开;
    * 电视没有买某些视频网站的会员,导致某些视频需要额外付费。
    前者基本没有办法解决,后者在有些电视平台中是通过伪装为安卓手机来实现的,所以可以投屏看一些没有开电视会员的视频~
    Liqianyu
        44
    Liqianyu  
       Oct 23, 2020
    Chrome vGet Cast
    https://chrome.google.com/webstore/detail/ekdjofnchpbfmnfbedalmbdlhbabiapi
    这个可以抓取出视频流然后投屏。
    frank952730
        45
    frank952730  
       Feb 25, 2025
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2955 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 14:41 · PVG 22:41 · LAX 07:41 · JFK 10:41
    ♥ Do have faith in what you're doing.