This package allows you to get video stream from android device.
Stream frames already converted to numpy array using PyAV
Also this package allows you to send touch events to devices.
I am using scrcpy server and connect to two sockets, video and control sockets.
Video stream has almost no delay because i am not using separate process of ffmpeg
and use direct bindings to ffmpeg
to decode video.
import cv2
from viewer import AndroidViewer
# This will deploy and run server on android device connected to USB
android = AndroidViewer()
while True:
frames = android.get_next_frames()
if frames is None:
continue
for frame in frames:
cv2.imshow('game', frame)
cv2.waitKey(1)
Send swipe event:
android = AndroidViewer()
android.swipe(start_x, start_y, end_x, end_y)