NetrisTV / ws-scrcpy

Web client prototype for scrcpy.
MIT License
1.64k stars 325 forks source link

Possible to use airplay2/AVfoundation to replace ws-qvh for video #119

Closed krishtoautomate closed 2 years ago

krishtoautomate commented 3 years ago

Possible to use airplay2 to replace ws-qvh for video

Reference: mm wormhole and vysor using airplay2 for video.

drauggres commented 3 years ago

PR are welcome (not as a replacement, but as an addition). I'm not going to work on this.

krishtoautomate commented 3 years ago

References:

v40@0:8@"AVCaptureOutput"16^{opaqueCMSampleBuffer=}24@"AVCaptureConnection"32 @24@0:8^{StreamClient=^{WiredAirPlayer}^{StreamClientImpl}{QWaitCondition=^{QWaitConditionPrivate}}{QMutex={QBasicAtomicPointer={atomic<QMutexData *>=A^{QMutexData}}}}B^{Frame}^{opaqueCMSampleBuffer}^{opaqueCMSampleBuffer}@B}

^{StreamClient=^{WiredAirPlayer}^{StreamClientImpl}{QWaitCondition=^{QWaitConditionPrivate}}{QMutex={QBasicAtomicPointer={atomic<QMutexData >=A^{QMutexData}}}}B^{Frame}^{opaqueCMSampleBuffer}^{opaqueCMSampleBuffer}@B}16@0:8 v24@0:8^{StreamClient=^{WiredAirPlayer}^{StreamClientImpl}{QWaitCondition=^{QWaitConditionPrivate}}{QMutex={QBasicAtomicPointer={atomic<QMutexData >=A^{QMutexData}}}}B^{Frame}^{opaqueCMSampleBuffer}^{opaqueCMSampleBuffer}@B}16 @"AVCaptureSession" @"AVCaptureDevice" @"AVCaptureDeviceInput" @"AVCaptureVideoDataOutput" @"AVCaptureAudioDataOutput" @"NSObject" ^{StreamClient=^{WiredAirPlayer}^{StreamClientImpl}{QWaitCondition=^{QWaitConditionPrivate}}{QMutex={QBasicAtomicPointer={atomic<QMutexData *>=A^{QMutexData}}}}B^{Frame}^{opaqueCMSampleBuffer}^{opaqueCMSampleBuffer}@B}

krishtoautomate commented 2 years ago

https://nadavrub.wordpress.com/2015/07/06/macos-media-capture-using-coremediaio/

krishtoautomate commented 2 years ago

tried AVFoundation which is unstable tried replaykit : 2 issues : replaykit stops if device locks, need to be triggered manually or with xctest to start it Webdriveragent: takes time to start with appium-xcuitest library.

Best way is to use tidevice to trigger wda in 3-5 seconds.

so closing the ticket.