/node-scrcpy-client

Client for scrcpy android server for screen recording

Primary LanguageJavaScriptMIT LicenseMIT

node-scrcpy-client

Node.js client for scrcpy server (https://github.com/Genymobile/scrcpy). scrcpy allows you to record your android device / emulator screen. It does not need root access.

Installation

This module is installed via npm:

npm install --save scrcpy-client

Usage

Obtain raw frames

It will connect to adb server, push the jar to the device and emit events with the h264 frames.

const Scrcpy = require('scrcpy-client');

const scrcpy = new Scrcpy();

scrcpy.on('data', (pts, data) => console.log(`[${pts}] Data: ${data.length}b`));

scrcpy.start()
  .then(info => console.log(`Started -> ${info.name} at ${info.width}x${info.height}`))
  .catch(e => console.error('Impossible to start', e));

Configuration options

  {
    adbHost: 'localhost',
    adbPort: 5037,
    deviceId: null,
    port: 8099,
    maxSize: 600,
    bitrate: 999999999,
    tunnelForward: true,
    crop: '9999:9999:0:0',
    sendFrameMeta: true
  }
  • If deviceId is not defined (or null) it will try to use the first device available.
  • If sendFrameMeta is true data events will contain 2 parameters pts and data.

More examples

You can find them in the examples folder.

Enable debug of module

This module uses debug for debugging, you can enable debug messages with:

DEBUG=scrcpy

Run tests

npm test

License (MIT)

In case you never heard about the MIT license.

See the LICENSE file for details.

All credits for scrcpy server goes to Genymobile. The compiled version distributed with this library is a mirror of their built, not compiled by me, to ensure SHA1 signature remains the same and comes from a trust source.