Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Windows系统下无法投屏 #19

Closed
swift-lee opened this issue Aug 22, 2021 · 16 comments
Closed

[BUG] Windows系统下无法投屏 #19

swift-lee opened this issue Aug 22, 2021 · 16 comments
Labels
bug Something isn't working

Comments

@swift-lee
Copy link

Versions

  • System: Windows 11
  • System version: 22000.160
  • Processor architecture: amd64
  • APP version: 0.5

Bug recurrence

首次打开之后允许了防火墙,但是仍旧无法被其他设备的投屏功能找到。同一局域网下的另一台m1 mba就可以正常投屏

Additional information

(More description of this bug)

Log

Starting Macast from terminal to get logs.

MacOS

run this in your terminal:

/Applications/Macast.app/Contents/MacOS/Macast

Windows

 LOZAP@AdamsSurface  ~  Downloads  Programs 
❯ C:\Users\LOZAP\Downloads\Programs\Macast-v0.5-debug.exe
Macast Loading Default Language en_US
ERROR:Render:MPV started
DEBUG:Macast:mpv_start
ERROR:Render:mpv ipc socket start connect
ERROR:Render:mpv ipc socket reconnecting
DEBUG:Macast:tag_name: v0.5
ERROR:Render:mpv ipc socket start connect
ERROR:Render:mpv ipc socket reconnecting
ERROR:Render:mpv ipc socket start connect
ERROR:Render:mpv ipc socket reconnecting
ERROR:Render:mpv ipc socket start connect
ERROR:Render:mpv ipc socket reconnecting
ERROR:Render:mpv ipc socket start connect
INFO:Render:{'event': 'property-change', 'id': 1, 'name': 'volume', 'data': 100.0}
INFO:Render:{'event': 'property-change', 'id': 3, 'name': 'pause', 'data': False}
ERROR:SSDPServer:not enough values to unpack (expected 2, got 1)
ERROR:Render:stoping mpv
ERROR:Render:mpv ipc stopped
ERROR:Render:MPV stopped
ERROR:main:Cherrypy stopped

 LOZAP@AdamsSurface  ~  Downloads  Programs 
❯ C:\Users\LOZAP\Downloads\Programs\Macast-v0.5-debug.exe
Macast Loading Default Language en_US
MPV started
ERROR:Render:mpv ipc socket start connect
ERROR:Render:mpv ipc socket reconnecting
DEBUG:Macast:tag_name: v0.5
ERROR:Render:mpv ipc socket start connect
ERROR:Render:mpv ipc socket reconnecting
ERROR:Render:mpv ipc socket start connect
ERROR:Render:mpv ipc socket reconnecting
ERROR:Render:mpv ipc socket start connect
INFO:Render:{'event': 'property-change', 'id': 1, 'name': 'volume', 'data': 100.0}
INFO:Render:{'event': 'property-change', 'id': 3, 'name': 'pause', 'data': False}
ERROR:Render:stoping mpv
ERROR:Render:mpv ipc stopped
ERROR:Render:MPV stopped
ERROR:SSDPServer:not enough values to unpack (expected 2, got 1)

Linux

python Macast.py

PasteBoard

# then paste your log here

@swift-lee swift-lee added the bug Something isn't working label Aug 22, 2021
@prozyy
Copy link

prozyy commented Aug 22, 2021

image
image
1.把“允许远程控制我的播放器” “自动允许设备播放我的媒体”关闭
2. SSDP DIscovery 服务重启一下
3. 重新启动Macast
我的win11 22000.160 这么操作后可以正常投屏了

@swift-lee
Copy link
Author

image
image
1.把“允许远程控制我的播放器” “自动允许设备播放我的媒体”关闭
2. SSDP DIscovery 服务重启一下
3. 重新启动Macast
我的win11 22000.160 这么操作后可以正常投屏了

感谢解答,不过在我这似乎不太好使😂

@xfangfang
Copy link
Owner

能正常搜索到m1说明路由器是没问题的
可以尝试再手机访问一下 电脑的ip:1068 如:192.168.1.100:1068 看看有没有helloword字样,有的话就说明是可以访问到电脑的。那问题就出在SSDP上。

尝试下载kodi,这也是一个支持dlna投屏的软件,在kodi的设置中,点击service,UPnP\DLNA,开启右侧1,3选项(enable UPnP support和Allow remote control via UPnP),然后看看手机搜索设备时能否搜到kodi。
如果还是不能的话,说明是电脑的某个设置导致的无法被搜索到,这个就要进一步判断了。
如果kodi能搜到Macast搜不到,那就是神秘故障了,期待有大佬解决。

@4285f4
Copy link

4285f4 commented Aug 23, 2021

@xfangfang 我就遇到了这个神秘故障,完全搜索不到设备。运行debug版时出现了以下错误:

Macast Loading Language: zh_CN MPV started Exception in thread Thread-7: Traceback (most recent call last): File "threading.py", line 926, in _bootstrap_inner File "threading.py", line 870, in run File "macast\ssdp.py", line 72, in run OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 ERROR:Render:mpv ipc socket start connect ERROR:Render:mpv ipc socket reconnecting DEBUG:Macast:tag_name: v0.5 ERROR:Render:mpv ipc socket start connect ERROR:Render:mpv ipc socket reconnecting ERROR:Render:mpv ipc socket start connect INFO:Render:{'event': 'property-change', 'id': 1, 'name': 'volume', 'data': 100.0} INFO:Render:{'event': 'property-change', 'id': 3, 'name': 'pause', 'data': False}

奇怪的是我在局域网下其他设备访问电脑的ip:1068时却正常返回了hello world none的调试信息,且我在cmd下使用netstat -ano|findstr 1068命令来查找端口占用情况时并没有发现有其他进程占用这个端口。我还尝试重启了UPnP Device Host和SSDP Discovery这两个服务,同样无济于事。我还安装了Kodi试了下可以正常被扫描到并投屏,同局域网下其他电脑也都能正常使用macast。真就神秘故障...不知道开发者之后能否提供端口自定义功能。

@4285f4
Copy link

4285f4 commented Aug 23, 2021

@xfangfang 刚刚根据错误提示去翻了一下源码,发现出现端口占用的提示是因为 SSDP 的 1900 端口被一个叫做 System Usage Report 的进程占用了,杀掉那个进程再次启动 macast 提示如下:

Macast Loading Language: zh_CN
ERROR:Render:MPV started
DEBUG:Macast:mpv_start
ERROR:Render:mpv ipc socket start connect
ERROR:Render:mpv ipc socket reconnecting
DEBUG:Macast:tag_name: v0.5
ERROR:Render:mpv ipc socket start connect
INFO:Render:{'event': 'property-change', 'id': 1, 'name': 'volume', 'data': 100.0}
INFO:Render:{'event': 'property-change', 'id': 3, 'name': 'pause', 'data': False}

可惜还是无法被搜索到 ...

@xfangfang
Copy link
Owner

在kodi启动时:

C:\Users\25530>netstat -ano | findstr 1900
  UDP    0.0.0.0:1900           *:*                                    2140
  UDP    [::1]:1900             *:*                                    6212
  UDP    [fe80::9c2e:af8d:2cb5:11ad%6]:1900  *:*                                    6212

C:\Users\25530>tasklist | findstr 2140
kodi.exe                      2140 Console                    1    163,600 K

C:\Users\25530>tasklist | findstr 6212
svchost.exe                   6212 Services                   0      7,216 K

可以看出来,kodi也是使用了1900端口的,这和Macast使用了相同的端口,如果不使用这个端口,就会收不到客户端搜索设备的UDP组播消息。
在我的电脑上,先打开Macast然后打开kodi 这时手机能搜到Macast搜不到kodi;先打开kodi再打开Macast,就只能搜到kodi
除此之外WMP似乎也会开启SSDP服务,所以我的建议是,把WMP的“允许远程控制我的播放器”和“自动允许设备播放我的媒体”关闭,然后重启电脑,第一时间打开Macast,希望这么操作可以保证Macast先占据1900端口,期待测试反馈

@4285f4
Copy link

4285f4 commented Aug 23, 2021

@xfangfang 按照你的说明我重新测试了一下,很不幸,依然无法搜索到电脑。反倒是对wmp的操作让我知道了原来wmp也能接受dlna投屏...

@xfangfang xfangfang added this to To do in Current Work Aug 25, 2021
@xfangfang xfangfang moved this from To do to In progress in Current Work Aug 25, 2021
@sooxin
Copy link

sooxin commented Aug 25, 2021

我这里把 win 10 右侧菜单里的移动热点打开就可以搜索到了

@xfangfang
Copy link
Owner

前面的朋友可以测试看会不会是这个原因,DLNA会用到SSDP进行服务发现,SSDP就用到了组播,所以也有可能是windows和路由器的兼容问题导致的无法被搜索到。

https://blog.csdn.net/u010050543/article/details/104055590

@prozyy
Copy link

prozyy commented Aug 31, 2021

感觉win11 使用这个,有时候能发现,有时候发现不了,挺奇怪的,目前发现不了重启下电脑,重开下Macast可以使用

@prozyy
Copy link

prozyy commented Sep 5, 2021

测试了下,这个貌似是win11 有虚拟网卡IP优先级较高导致的
image
我这边修改了https://github.com/xfangfang/Macast/blob/main/macast/ssdp.py#L72 里0.0.0.0为系统在路由器获取的地址,投屏发现工程正常了,未出现过搜不到Macast的情况
代码调整如下:
image
自编译软件分享如下
我用阿里云盘分享了「Macast.exe」,你可以不限速下载🚀
复制这段内容打开「阿里云盘」App 即可获取
链接:https://www.aliyundrive.com/s/pE5CptNUrzt

@xfangfang
Copy link
Owner

非常详细的步骤,感谢提醒!
我会尽快修复这个问题的

@xfangfang
Copy link
Owner

@prozyy 方便测试一下最新版吗?https://github.com/xfangfang/Macast/actions/runs/1221305105
这个版本增加了多网卡的支持,在电脑连接的每个网络下都能搜索到设备了,期待反馈,如果没什么问题的话我就release一个新版本

@H4M5TER
Copy link

H4M5TER commented Sep 10, 2021

我这边 @prozyy 的版本还是没法搜到电脑,但是用上面 action 里的版本能正常搜到

@xfangfang
Copy link
Owner

我这边 @prozyy 的版本还是没法搜到电脑,但是用上面 action 里的版本能正常搜到

感谢反馈,准备release新版本了

@swift-lee
Copy link
Author

好久没看,最新版解决了,感谢作者🤣

@xfangfang xfangfang moved this from In progress to Done in Current Work Jan 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Current Work
  
Done
Development

No branches or pull requests

6 participants