电视设备

投屏前必看投屏如何搜索设备对网络有什么要

发布时间:2022/7/11 15:03:36   
北京白癜风医院在哪里 http://m.39.net/pf/bdfyy/

海豚星空

投屏介绍

PREFACE

前言

在使用投屏的过程中,搜索不到设备时,大家可能就会认为是电视端投屏APP出了问题。

其实这涉及到各方面因素的原因:1、可能是电视端的问题;2、可能是手机端的问题;3、可能是网络的问题,得具体情况具体分析。

接下来,我们介绍一下常见的DLNA/AirPlay是如何搜索设备的。让你能够弄明白投屏搜索设备的原理。

DLNA(SSDP)使用的组播地址...,端口

AirPlay(mDNS)使用的组播地址.0.0.,端口

点击查看

1、搜索设备流程

DLNA设备搜索发现流程

如上图,手机发现电视设备有“主动发现”和“被动发现”两种方式:

(1)被动发现:电视端Notify上线消息随时通知网络内其他手机端设备,告知电视端在线/离线的消息。

手机端监听到电视端上线消息,获取电视相关信息从而搜索到电视设备。

(2)主动发现:手机端随时搜索发现电视端设备,电视端监听到手机端搜索消息进行应答,手机端获取电视端相关信息从而搜索到电视设备。

从而达到设备“即插即用”的效果。

通过抓网络包可以看到网络内的组播消息Notify,M-Search。如何没抓到任何组播包,那就得检查网络环境配置是否通组播。

AirPlay设备搜索发现流程

AirPlay搜素设备流程类似,通过mDNS组播消息。

(1)电视端启动宣告上线/离线消息随时通知网络内其他手机端设备,告知电视端在线/离线的消息。手机端监听到电视端上线消息,获取到电视相关信息从而搜索到电视设备。

(2)手机端启动搜索发现电视端设备,电视端监听到手机端搜索消息进行应答,手机端获取电视端相关信息从而搜索到电视设备。

通过抓网络包可以抓到mDNS组播消息。

2、问题分析方法

场景一

问题:为什么同一网络内,手机A能搜索到电视,手机B却搜索不到?

分析:手机A能搜索到电视,说明电视端是正常的,因为电视在同一个网络内发出notify组播消息(或者电视分别对手机A手机B发出notify单播消息),手机A可以监听到,手机B监听不到,很大原因在于手机B上的APP是否正常监听消息,手机B端的网络原因或者是手机B上监听到了没正常处理。

解决方法:可把手机Bwifi重连,或者手机B上APP杀掉重启,或者手机B上其他APP搜索试试。如果都没法搜索到,需要深入抓网络包分析手机B的原因。

场景二

问题:同一网络内,同一台手机上不同APP(优酷APP,爱奇艺APP),假如优酷搜索得到电视,爱奇艺搜索不到,该怎么办?

分析:这种情况更容易理解,问题基本在于手机端APP,因为电视端的上线消息发出来了,同一台手机上优酷监听到了,爱奇艺没监听到,所以得看爱奇艺APP是否正常及时处理,及时刷新设备列表界面。

手机和电视搜索都是互相的,在同一情况下,电视能被某个APP搜索到,说明电视被搜索得功能正常运转,某个APP搜索不到,在于每家手机端APP厂商搞的效果性能方面,是否及时处理消息,是否及时处理更新设备列表及时刷新显示设备页面等等。

解决方法:某APP搜索不到电视,杀掉APP重启试试,如果是在任何情况下都搜索不到,那再抓包进一步分析是否协议兼容性问题,也可能某些协议兼容性问题具体分析,兼容即可。

场景三网络环境

网络环境也是一个很大的因素,我们使用的路由网关设备,带宽,网络环境等也都可能有问题,比如网络不稳定,丢包,收不到组播消息等。

另外就是比如在酒店/公司等场所的网络,有可能做了网络划分,使用了VPN,或者运营商专网等等情况,都有可能导致网络没有通组播,网络不通的情况。所以得具体分析网络。

组播包分析:wireshark,tcpdump等工具抓包分析是否能够抓到SSDP/MDNS组播信息。如下图:

在电脑上抓到电视发出的组播包:NOTIFY

在电视上抓到手机发出的组播包:M-SEARCH

只要两边都互相能监听到对方的组播包,就问题不大了,如果是协议兼容性问题那就具体分析后面协议流程了。

HTTP协议交互是否正常:用台电脑ping电视或者手机的ip,看包收发时间,如下图,说明网络波动很大,时好时坏,甚至无法通信,这就有可能丢包,消息收发失败。也有出现可能ping通包了但是投屏交互的HTTP还是失败的情况,可能网络设备问题,或者运营商专网,或者VPN等等情况导致,也是得具体情况具体分析。

3、测试分析对比

同一网络内,打开5个不同的DLNA接收端,用几个发送端(海豚星空投屏手机端,优酷,爱奇艺,腾讯)搜索对比。可对比5个不同接收端被发现的效率,还有几个不同手机端APP搜索得效率。

如下方视频:

可对比看出不同手机端APP搜索设备的性能,两个视频是不同时期测试的手机端不同的版本,有的越高越好,也有的越搞越差。

综上所述,投屏对网络有两个要求:

(1)网络通组播,才能搜索到设备。

(2)手机电视能互相通讯。

(不管如何划分网络VLAN,消息转发等任何环境,只要确保如上两点即可)

4、海豚星空扫码投屏

海豚星空扫码投屏,防止投错乱投,添加了扫码认证后才能投屏,扫码认证后,所有流程都跟原先投屏协议流程一样,不破坏协议标准。

如何实现扫码认证一对一设备绑定投屏?

扫码认证提示“请确保手机和电视使用同一网络!”如何解决?

海豚星空投屏

喜欢我,就为我点赞吧!



转载请注明:http://www.aideyishus.com/lkyy/856.html

------分隔线----------------------------

热点文章

  • 没有热点文章

推荐文章

  • 没有推荐文章