ws-qvh
ws-qvh copied to clipboard
Unable to get screen frames on ios 16
I forked this project, and change qvh module to code version of externalizeGST branch fixing gstream issue. While I'm using ws-qvh with ws-scrcpy with USE_QVH_SERVER
enabled. I found it can get datas from ios 14 and ios 15, but not ios 16.
Versions:
Here are versions I'm using:
-
quicktime_video_hack: https://github.com/chenhengjie123/quicktime_video_hack (based on https://github.com/danielpaulus/quicktime_video_hack/tree/externalizeGST, only add some logs for troubleshooting. )
-
ws-qvh: https://github.com/chenhengjie123/ws-qvh (based on https://github.com/NetrisTV/ws-qvh. Only add logs for troubleshooting and change quicktime_video_hack to version above)
-
ws-scrcpy: https://github.com/chenhengjie123/ws-scrcpy/tree/feat-20230302-testOnWsscrcpy (based on https://github.com/NetrisTV/ws-scrcpy, Only add logs to output ws-qvh stdout and stderr to console)
-
mac os version: 12.1(21C52)
-
go version: go version go1.17 darwin/amd64
-
node version: v14.16.0
Steps to reproduce
- Clone and build ws-qvh using command
go build
, then got ws-qvh binary file. - Add ws-qvh file to environment variable
PATH
- Connect ios device to mac.
- Start ws-scrcpy using code version https://github.com/chenhengjie123/ws-scrcpy/tree/feat-20230302-testOnWsscrcpy using command
npm install && npm start
- Open http://127.0.0.1:8000/ , select the ios device and open its remote control module:
On ios 14, 15, the screen content can appear normally like below:
But on ios 16.0, 16.1.1, the screen content did not appear:
From ws messages in screenshot, it seems no data came from server side.
Logs from server side
On iOS 14 or 15, I can get screen frames successfully and quickly, here are logs(most of them are logs from ws-qvh):
While on ios 16, it stuck while reading lengthBuffer like below: