https://github.com/netristv/ws-qvh
Server for streaming the screen of iOS devices over WebSocket.
https://github.com/netristv/ws-qvh
browser ios mirroring remote remote-control screen screencast web websocket
Last synced: 2 months ago
JSON representation
Server for streaming the screen of iOS devices over WebSocket.
- Host: GitHub
- URL: https://github.com/netristv/ws-qvh
- Owner: NetrisTV
- License: mit
- Created: 2020-09-08T12:43:41.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-10-14T20:29:55.000Z (over 3 years ago)
- Last Synced: 2024-06-21T20:07:59.766Z (12 months ago)
- Topics: browser, ios, mirroring, remote, remote-control, screen, screencast, web, websocket
- Language: Go
- Homepage:
- Size: 41 KB
- Stars: 31
- Watchers: 7
- Forks: 9
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ws qvh
Web Socket server for streaming the screen of iOS devices.
## How it works?
1. [danielpaulus/quicktime_video_hack](https://github.com/danielpaulus/quicktime_video_hack) - video streaming
2. [appium/WebDriverAgent](https://github.com/appium/WebDriverAgent) - device control
3. [NetrisTV/ws-scrcpy](https://github.com/NetrisTV/ws-scrcpy) - user interface
4. [NetrisTV/ws-qvh](https://github.com/NetrisTV/ws-qvh) - forwards the video stream over Web Socket## Steps to set up
1. Get macOS (streaming only should also work on GNU/Linux)
2. Connect a device, accept "Trust This Computer".
3. Verify that you can record your device screen with QuickTime
4. Install [danielpaulus/quicktime_video_hack](https://github.com/danielpaulus/quicktime_video_hack) and verify that you can record your device screen with it
5. Build sources: `go build`. This command will produce `ws-qvh` binary.
6. Make sure your `ws-qvh` binary is available via the `PATH` environment variable.
7. Setup and run `ws-scrcpy`. Follow the instructions [here](https://github.com/NetrisTV/ws-scrcpy#ws-qvh).
8. Open link provided by `ws-scrcpy` in your browser.
# Notes* Only video stream is transmitted (no audio).
* `WebDriverAgent` can be started only after the start of video transmission (i.e. quicktime interface activation).
* `WebDriverAgent` can take a long time to start.
* Control capabilities are very limited (compared to scrcpy/ws-scrcpy):
* single tap
* `home` button click
* swipe (this command will be sent only after the gesture is complete)
* No way to customize stream parameters (bitrate, fps, video size, etc.)