手机无线投屏的原理是什么?为什么电脑不行? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
liuser666
V2EX    程序员

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

  •  
  •   liuser666 2020-06-27 10:32:32 +08:00 9821 次点击
    这是一个创建于 1934 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

    我以上的说的都是无线的方案,有线的那就更多了。。。
    natsji
        14
    natsji  
       2020-06-27 11:43:06 +08:00 via Android
    @liuser666 买个小米盒子国际版,就可以直接从 Chrome 投屏网页视频了
    GDC
        15
    GDC  
       2020-06-27 12:07:44 +08:00 via iPhone   2
    @kop1989 张口就来还打了一大段……
    liuser666
        16
    liuser666  
    OP
       2020-06-27 12:15:13 +08:00
    @CoCoMcRee 所以说网页投电影应该可行。
    liuser666
        17
    liuser666  
    OP
       2020-06-27 12:16:46 +08:00
    @whwq2012 我的需求是把电脑上的网页视频投到电视上...
    liuser666
        18
    liuser666  
    OP
       2020-06-27 12:18:27 +08:00
    @natsji 走的什么协议?我的 chrome 也有投屏到设备的选项但是一直搜索不到设备,哭了!
    airqj
        19
    airqj  
       2020-06-27 12:25:46 +08:00 via Android   1
    如果是在局域网的话投屏其实很简单 但是我一下子想不起来了。。。。
    PS:两年前给人做了个路由器投屏的功能,结果融不到资不愿意给钱了 正在打官司。。
    mgrddsj
        20
    mgrddsj  
       2020-06-27 12:32:07 +08:00 via Android
    @liuser666 #18 Chrome 里面的投屏是 Chromecast, 专门为投网页和投视频有优化,可以买个 Chromecast 接收器来用。
    JerryCha
        21
    JerryCha  
       2020-06-27 12:38:14 +08:00
    because it's mobile age
    because nobody cares desktop anymore
    mxalbert1996
        22
    mxalbert1996  
       2020-06-27 13:19:35 +08:00 via Android
    @whwq2012 先把 DLNA 写对了啊。。。另外国外还有一个主流是 Google Cast 。
    joesonw
        23
    joesonw  
       2020-06-27 13:49:33 +08:00
    airplay apple 全家桶都可以投屏啊.
    chizuo
        24
    chizuo  
       2020-06-27 14:24:59 +08:00
    @joesonw 看题。不是那种“屏幕镜像”,需要“电视直接播放源视频地址”
    Y29tL2gwd2Fy
        25
    Y29tL2gwd2Fy  
       2020-06-27 14:37:36 +08:00 via iPhone
    @kop1989 不懂装懂
    expy
        26
    expy  
       2020-06-27 14:38:39 +08:00
    DLNA/UPnP 了解下。
    直接点说,电脑不行是因为厂商的软件没做这个功能。
    可以自己拿到直链地址后发送给电视上的 Media Renderer 。
    expy
        27
    expy  
       2020-06-27 14:40:59 +08:00
    https://github.com/cherezov/dlnap
    这里有现成的轮子。
    natsji
        28
    natsji  
       2020-06-27 16:39:15 +08:00 via Android
    @liuser666 chromecast 就是直接把网页中的视频源推到电视上播放,流量全从电视走。谷歌的 chromecast 接收器还有 android tv 系统的盒子都支持。国产的电视盒子都是普通 android 系统不支持。
    a62527776a
        29
    a62527776a  
       2020-06-27 16:47:20 +08:00
    乐播是要和各家对接的
    rb6221
        30
    rb6221  
       2020-06-27 17:25:10 +08:00 via iPhone
    为啥不用手机直接投电视……这样想你属于伪需求吧
    GrayXu
        31
    GrayXu  
       2020-06-27 17:27:24 +08:00   1
    @kop1989 完全错误,建议学习下 DLNA
    weak
        32
    weak  
       2020-06-27 17:30:57 +08:00 via Android
    Android 自带截屏 API 。往电脑发送一帧帧的图片。就形成了图像
    succlz123
        33
    succlz123  
       2020-06-27 20:33:02 +08:00
    https://github.com/succlz123/DLNA-Dart 稍微改改跑在 PC 也没毛病
    Nadao
        34
    Nadao  
       2020-06-27 22:42:08 +08:00
    PC 有无线传屏的硬件实现。
    但无线传屏看高清视频效果不好,明显有丢帧。 打游戏的话延时也好明显,所以除了办公基本没什么用。
    lithbitren
        35
    lithbitren  
       2020-06-27 22:45:19 +08:00
    手机各种投屏基本都是把源推到电视,推完以后手机可以关掉 app 都可以继续播
    systemcall
        36
    systemcall  
       2020-06-27 22:51:52 +08:00
    Chrome 和 Windows 原生的视频控件都是支持的,软件不适配而已
    为什么开发者不适配,这个又要谈到产品经理,产品经理不想要这个功能
    Chrome cast 和 DLNA 都可以支持,Windows 自带的应该是 DLNA,没记错的话 Miracast 也支持,而且 Miracast 可以透传视频到显示设备上,VLC 是支持的,但是国产软件似乎不行
    JerryCha
        37
    JerryCha  
       2020-06-28 00:29:34 +08:00
    @janus77 考虑一下国内还有不少用户是用电脑上网冲浪的,尽管他们平常可能用着顶配 iPhone 11 Pro Max 。
    joesonw
        38
    joesonw  
       2020-06-28 12:56:32 +08:00
    @chizuo airplay 两种都可以啊. 只是 app 端需要支持. 例如 tx 视频这种垃圾 app, 热门电影都不让投屏, 要买电视大会员.
    liuser666
        39
    liuser666  
    OP
       2020-06-28 12:58:04 +08:00
    @janus77 不支持怎么回事,我现在很讨厌使用手机...一般在电脑上操作的时候再切到手机就觉得很难受...哈哈哈
    joesonw
        40
    joesonw  
       2020-06-28 12:59:41 +08:00
    @chizuo desktop 的我知道的至少有 QuickTime 和 chrome
    liuser666
        41
    liuser666  
    OP
       2020-06-28 13:01:21 +08:00
    @lithbitren 对,所以我觉得电脑把源推到电视理论上应该也可以实现,来问问有没有现成的工具。
    liuser666
        42
    liuser666  
    OP
       2020-06-28 13:04:26 +08:00
    @JerryCha sad news
    cyru1s
        43
    cyru1s  
       2020-06-28 14:57:06 +08:00
    其实你要想一个问题,发链接让电视打开可能会遇到:
    * 电视没有装某科学网络连接工具,导致某些网站电视打不开;
    * 电视没有买某些视频网站的会员,导致某些视频需要额外付费。
    前者基本没有办法解决,后者在有些电视平台中是通过伪装为安卓手机来实现的,所以可以投屏看一些没有开电视会员的视频~
    Liqianyu
        44
    Liqianyu  
       2020-10-23 23:40:12 +08:00
    Chrome vGet Cast
    https://chrome.google.com/webstore/detail/ekdjofnchpbfmnfbedalmbdlhbabiapi
    这个可以抓取出视频流然后投屏。
    frank952730
        45
    frank952730  
       229 天前
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5427 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 07:41 PVG 15:41 LAX 00:41 JFK 03:41
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86