Skip to content

Get video stream from your android device as numpy array + basic control

Notifications You must be signed in to change notification settings

razumeiko/py-android-viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py android viewer

This package allows you to get video stream from the android device.

Stream frames already converted to numpy array using PyAV

Also this package allows you to send touch events to devices.

How it works

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.

Check class and class method arguments for more details.

Requirements

Python Package PyAV

Installed ffmpeg

And installed ADB on your system.

Default ADB path is set to /usr/local/bin/adb but it might be different on your system. You can change it by providing adb_path argument to AndroidViewer constructor.

Examples

import cv2
from viewer import AndroidViewer

# This will deploy and run server on android device connected to USB
android = AndroidViewer(adb_path='/usr/local/bin/adb')

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)   

About

Get video stream from your android device as numpy array + basic control

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages