Skip to main content
Version: next

scid

info

Added in Scrcpy 2.0

  • Type: InstanceId | string | undefined
  • Default value: undefined

Specifies a session identifier for the Scrcpy server instance.

This option allows specifying a custom session identifier that can be used to distinguish between multiple Scrcpy sessions running simultaneously.

The session ID is typically represented as a hexadecimal string.

This is particularly useful when using forward tunnels (controlled by the tunnelForward option) to ensure each session binds to a unique socket address and avoids conflicts.

Can be passed as either a string in the required format or as an InstanceId class instance which implements ScrcpyOptionValue interface (see ScrcpyOptionValue) and serializes to the required string format via its toOptionValue() method.

InstanceId

export class InstanceId implements ScrcpyOptionValue {
static readonly NONE: InstanceId;

static random(): InstanceId;

value: number;

constructor(value: number);

toOptionValue(): string | undefined;
}

NONE

static readonly NONE: InstanceId

A special instance ID representing no instance ID.

random

static random(): InstanceId

Generates a random instance ID. A random 31-bit unsigned integer is used.

constructor

constructor(value: number)

Creates a new InstanceId with the given numeric value.

toOptionValue

toOptionValue(): string | undefined

Serializes the instance ID to a hexadecimal string format for scrcpy.

  • tunnelForward: Use ADB forward tunnel instead of reverse tunnel

Example

import { ScrcpyOptions2_0, InstanceId } from "@yume-chan/scrcpy";

// Using InstanceId class instance
const instanceId = new InstanceId(12345);

const options1 = new ScrcpyOptions2_0({
scid: instanceId,
});

// Using string format
const options2 = new ScrcpyOptions2_0({
scid: "abc123", // Same as above but using string format
});

// Using random ID
const options3 = new ScrcpyOptions2_0({
scid: InstanceId.random(), // Generate a random session ID
});