PREFACE
前言
酒店投屏经常遇到有的APP搜索得到电视,有的APP搜索不到电视。就会疑惑是否电视端投屏软件有问题了。
其实是酒店网络手机跟电视之间网络没有互通组播的原因。
投屏搜索组播
DLNA和AirPlay协议标准都是通过组播消息来搜素到设备。
DLNA(SSDP)使用的组播地址239.255.255.250,端口1900
AirPlay(mDNS)使用的组播地址224.0.0.251,端口5353
SSDP:简单服务发现协议。
mDNS:多播DNS协议。
如何确认酒店网络是否通组播?
1、把电脑接入到手机一样的网络,打开wireshark抓包,过滤电视IP,电视端投屏软件打开着,看是否能抓到电视端投屏软件发出的组播包NOTIFY消息,如果抓到如下图,
2、把电脑接入到电视一样的网络,打开wireshark抓包,过滤手机IP,手机打开任意视频APP搜索设备,看是否能抓到手机端APP发出的组播包M-SEARCH消息,如果抓到如下图,
如果哪边没抓到,就是哪边没通组播。如果都没抓到,就是双向都没通组播。需要修改网络。
为何没通组播,也有的APP搜索到设备?
有人为疑惑,说没通组播,那为何有的APP就能搜索到设备?
1、因为海豚星空投屏电视端添加了私有协议单播消息,就是扫码认证后电视向手机IP发消息,但这不是标准的投屏协议,这就使有的APP识别单播就搜索到设备,有的不识别单播消息就搜索不到设备。标准协议是组播消息。
2、另外发现有的酒店网络是单向屏蔽了组播消息,比如手机收不到电视发出的组播包,但是电视能搜到手机发出的组播包,这本身就降低了50%的搜索到设备的概率。
3、另外有些电视端自带或其他投屏软件过于频繁发组播包,也会导致网络拥堵丢包的可能,会影响收到手机M-Search的概率。
网络组播包太频繁
解决方案
1、网络配置通组播。(组播才是投屏标准搜索协议)
2、尽量关闭卸载电视自带或其他投屏软件。(避免频繁组播影响)
【跨网络/跨网段方案】
或者在不通组播的网络条件下,请看以下跨网络/跨网段方案。
中继服务器软件。只要在酒店多加一台硬件设备,即可实现。