@aiscene/aiserver 1.6.2 → 1.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -90,7 +90,7 @@ export function loadConfig(configPath) {
90
90
  enabled: cliArgs.scrcpyEnabled ?? true,
91
91
  port: cliArgs.scrcpyPort ?? 8003,
92
92
  host: '0.0.0.0',
93
- maxSize: cliArgs.scrcpyMaxSize ?? 0,
93
+ maxSize: cliArgs.scrcpyMaxSize ?? 1080,
94
94
  videoBitRate: cliArgs.scrcpyVideoBitRate ?? 8_000_000,
95
95
  devicePollInterval: 3000,
96
96
  reconnectInterval: 3000,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAgB,MAAM,UAAU,CAAC;AAEtD,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEtC,MAAM,aAAa,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAEpC,MAAM,UAAU,UAAU,CAAC,UAAmB;IAC5C,yCAAyC;IACzC,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAE/B,mCAAmC;IACnC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAElD,MAAM,MAAM,GAAmB;QAC7B,MAAM,EAAE;YACN,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAChC,IAAI,EAAE,SAAS;SAChB;QACD,MAAM,EAAE;YACN,iBAAiB,EAAE,KAAK;YACxB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,EAAE;SACvB;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,0BAA0B;YAClC,MAAM,EAAE,aAAa;YACrB,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE,OAAO;SACjB;QACD,EAAE,EAAE;YACF,OAAO,EAAE,OAAO,CAAC,YAAY,IAAI,qCAAqC;YACtE,MAAM,EAAE,OAAO,CAAC,WAAW,IAAI,yCAAyC;YACxE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,+BAA+B;YAC/D,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,wBAAwB;YAC5D,0BAA0B;YAC1B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,qCAAqC;YAC3F,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,yCAAyC;YAC7F,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,SAAS;YACzD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,OAAO;YAC3D,yBAAyB;YACzB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,qCAAqC;YACzF,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,yCAAyC;YAC3F,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,SAAS;YACvD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,OAAO;SAC1D;QACD,OAAO,EAAE;YACP,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC;SAC3D;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,aAAa;YAC3C,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,UAAU;YACxC,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM;YAC1C,kBAAkB,EAAE,aAAa;YACjC,MAAM,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;YAC/B,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,iBAAiB;YACzD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,WAAW,EAAE,wDAAwD;YACrE,YAAY,EAAE,yDAAyD;YACvE,iBAAiB,EAAE,KAAK;YACxB,UAAU,EAAE;gBACV,iBAAiB,EAAE,KAAK;aACzB;SACF;QACD,QAAQ,EAAE;YACR,eAAe,EAAE,qDAAqD;YACtE,eAAe,EAAE,8DAA8D;YAC/E,oBAAoB,EAAE,gEAAgE;YACtF,kBAAkB,EAAE,wDAAwD;YAC5E,qBAAqB,EAAE,8CAA8C;SACtE;QACD,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;YACvC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,iBAAiB;YACjB,gBAAgB,EAAE,WAAW;YAC7B,gBAAgB,EAAE,MAAM;YACxB,mBAAmB,EAAE,8BAA8B;YACnD,iBAAiB,EAAE,aAAa;YAChC,iBAAiB,EAAE,sBAAsB;SAC1C;QACD,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;YACtC,IAAI,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YAChC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;YACnC,YAAY,EAAE,OAAO,CAAC,kBAAkB,IAAI,SAAS;YACrD,kBAAkB,EAAE,IAAI;YACxB,iBAAiB,EAAE,IAAI;YACvB,mBAAmB,EAAE,MAAM;YAC3B,aAAa,EAAE,MAAM;YACrB,cAAc,EAAE,MAAM;YACtB,oBAAoB,EAAE,MAAM;YAC5B,wBAAwB,EAAE,MAAM;YAChC,aAAa,EAAE,OAAO,CAAC,eAAe;SACvC;KACF,CAAC;IAEF,4EAA4E;IAC5E,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;IAE1D,4CAA4C;IAC5C,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAkB,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,EAAE,CAAC,oBAAqB,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAoB,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAoB,CAAC;IAE5E,2CAA2C;IAC3C,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,MAAM,CAAC,EAAE,CAAC,gBAAiB,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAoB,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,EAAE,CAAC,kBAAmB,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,MAAM,CAAC,EAAE,CAAC,kBAAmB,CAAC;IAE1E,qCAAqC;IACrC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,IAAI,OAAO,GAA0B,IAAI,CAAC;AAE1C,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,UAAU,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,GAAG,UAAU,EAAE,CAAC;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * }
14
14
  *
15
15
  * 2) 二进制帧(视频流,避免 base64/JSON 体积膨胀):
16
- * [1 byte header][8 bytes BE timestamp ms][N bytes H264/H265]
16
+ * [1 byte header][8 bytes BE timestamp ms][N bytes H264]
17
17
  * header bits:
18
18
  * bit0 (0x01) = isKeyFrame
19
19
  * bit1 (0x02) = isConfiguration (SPS/PPS)
@@ -34,6 +34,7 @@
34
34
  * - control-rotate data: -
35
35
  * - control-reset-video data: -
36
36
  * - control-screen-power data: { mode: 'normal'|'off' }
37
+ * - ping data: - // 心跳,服务端会回 pong
37
38
  *
38
39
  * 服务端 → 客户端(文本帧 event 名):
39
40
  * - devices-list data: { devices, currentDeviceId }
@@ -43,7 +44,8 @@
43
44
  * - error data: { message }
44
45
  * - device-switched data: { deviceId }
45
46
  * - global-device-switched data: { deviceId, timestamp }
46
- * (video-data 走二进制帧,不走 JSON)
47
+ * - pong data: -
48
+ * (视频流走二进制帧,不走 JSON)
47
49
  */
48
50
  import type { ScrcpyConfig } from '../config/schema.js';
49
51
  export interface ScrcpyConnectDeviceRequest {
@@ -78,6 +80,8 @@ export declare class ScrcpyServer {
78
80
  private broadcastDevicesList;
79
81
  private setupWebSocketHandlers;
80
82
  private sendDevicesListTo;
83
+ /** 释放 session 持有的 scrcpy 资源(reader + client),用于断开/切换 */
84
+ private releaseSession;
81
85
  private attachSocketHandlers;
82
86
  private startDeviceMonitoring;
83
87
  start(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/scrcpy/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAaH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAWxD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAuED,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,kBAAkB,CAAM;IAChC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAiD;gBAErD,MAAM,EAAE,YAAY;YAsBlB,iBAAiB;YA8CjB,YAAY;YA2BZ,cAAc;YAuBd,MAAM;YAwCN,WAAW;IAqEzB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,sBAAsB;YAwBhB,iBAAiB;IAa/B,OAAO,CAAC,oBAAoB;IA0d5B,OAAO,CAAC,qBAAqB;IAYvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAqC7B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/scrcpy/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAaH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAWxD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAyED,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,kBAAkB,CAAM;IAChC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAiD;gBAErD,MAAM,EAAE,YAAY;YAmBlB,iBAAiB;YA6CjB,YAAY;YA2BZ,cAAc;YAuBd,MAAM;YAwCN,WAAW;IAwEzB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,sBAAsB;YAwBhB,iBAAiB;IAa/B,wDAAwD;YAC1C,cAAc;IAqB5B,OAAO,CAAC,oBAAoB;IAqe5B,OAAO,CAAC,qBAAqB;IAYvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA6B7B"}
@@ -13,7 +13,7 @@
13
13
  * }
14
14
  *
15
15
  * 2) 二进制帧(视频流,避免 base64/JSON 体积膨胀):
16
- * [1 byte header][8 bytes BE timestamp ms][N bytes H264/H265]
16
+ * [1 byte header][8 bytes BE timestamp ms][N bytes H264]
17
17
  * header bits:
18
18
  * bit0 (0x01) = isKeyFrame
19
19
  * bit1 (0x02) = isConfiguration (SPS/PPS)
@@ -34,6 +34,7 @@
34
34
  * - control-rotate data: -
35
35
  * - control-reset-video data: -
36
36
  * - control-screen-power data: { mode: 'normal'|'off' }
37
+ * - ping data: - // 心跳,服务端会回 pong
37
38
  *
38
39
  * 服务端 → 客户端(文本帧 event 名):
39
40
  * - devices-list data: { devices, currentDeviceId }
@@ -43,7 +44,8 @@
43
44
  * - error data: { message }
44
45
  * - device-switched data: { deviceId }
45
46
  * - global-device-switched data: { deviceId, timestamp }
46
- * (video-data 走二进制帧,不走 JSON)
47
+ * - pong data: -
48
+ * (视频流走二进制帧,不走 JSON)
47
49
  */
48
50
  import { exec } from 'node:child_process';
49
51
  import { createReadStream, existsSync } from 'node:fs';
@@ -122,14 +124,11 @@ export class ScrcpyServer {
122
124
  this.config = config;
123
125
  this.serverBinPath = resolveServerBinPath(config.serverBinPath);
124
126
  this.httpServer = createServer((req, res) => {
125
- // 提供少量 REST 兼容入口(health/devices)
126
127
  void this.handleHttpRequest(req, res);
127
128
  });
128
129
  this.wss = new WebSocketServer({
129
130
  server: this.httpServer,
130
- // 视频帧二进制大小较大,提升允许的载荷上限到 100MB
131
131
  maxPayload: 100 * 1024 * 1024,
132
- // 路径不限制,允许 /、/ws、/scrcpy 等任意路径
133
132
  });
134
133
  this.setupWebSocketHandlers();
135
134
  }
@@ -137,7 +136,6 @@ export class ScrcpyServer {
137
136
  // REST API (minimal, 保留 health & devices 便于探活)
138
137
  // ============================================================
139
138
  async handleHttpRequest(req, res) {
140
- // CORS:与原实现一致,全部放行
141
139
  res.setHeader('Access-Control-Allow-Origin', '*');
142
140
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
143
141
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
@@ -231,12 +229,15 @@ export class ScrcpyServer {
231
229
  }
232
230
  onProgress?.('pushing-server');
233
231
  await withTimeout(AdbScrcpyClient.pushServer(adb, ReadableStream.from(createReadStream(this.serverBinPath))), this.config.pushTimeoutMs, `Timed out pushing scrcpy server to device after ${Math.round(this.config.pushTimeoutMs / 1000)}s`);
232
+ // 强制 H264:前端 jmuxer 仅支持 H264,避免设备默认推 H265 时画面全黑。
233
+ // maxFps 降到 30:高码率 + 60fps 在部分低端机上会让首帧迟迟不来。
234
234
  const scrcpyOptions = new AdbScrcpyOptions3_3_3({
235
235
  audio: false,
236
236
  control: true,
237
237
  maxSize: options.maxSize ?? this.config.maxSize,
238
238
  sendFrameMeta: true,
239
239
  videoBitRate: options.videoBitRate ?? this.config.videoBitRate,
240
+ videoCodec: 'h264',
240
241
  maxFps: 60,
241
242
  });
242
243
  onProgress?.('starting-service');
@@ -295,10 +296,10 @@ export class ScrcpyServer {
295
296
  adb: null,
296
297
  videoWidth: 0,
297
298
  videoHeight: 0,
299
+ streamReader: null,
298
300
  };
299
301
  this.sessions.set(ws, state);
300
302
  this.attachSocketHandlers(state);
301
- // 立即异步推送设备列表
302
303
  void this.sendDevicesListTo(state);
303
304
  });
304
305
  }
@@ -315,18 +316,38 @@ export class ScrcpyServer {
315
316
  wsSend(state.ws, 'error', { message: 'failed to get devices list' });
316
317
  }
317
318
  }
319
+ /** 释放 session 持有的 scrcpy 资源(reader + client),用于断开/切换 */
320
+ async releaseSession(state) {
321
+ if (state.streamReader) {
322
+ try {
323
+ await state.streamReader.cancel();
324
+ }
325
+ catch {
326
+ // ignore
327
+ }
328
+ state.streamReader = null;
329
+ }
330
+ if (state.scrcpyClient) {
331
+ try {
332
+ await state.scrcpyClient.close();
333
+ }
334
+ catch (e) {
335
+ logger.warn(`close scrcpy client failed: ${e.message}`);
336
+ }
337
+ state.scrcpyClient = null;
338
+ }
339
+ state.videoWidth = 0;
340
+ state.videoHeight = 0;
341
+ }
318
342
  attachSocketHandlers(state) {
319
343
  const { ws } = state;
320
344
  const emitStatus = (phase) => {
321
345
  wsSend(ws, 'preview-status', buildScrcpyPreviewStatusEvent(phase));
322
346
  };
323
- // ---- 控制器复用辅助 ----
324
347
  const ensureController = () => {
325
348
  const controller = state.scrcpyClient?.controller;
326
349
  if (!controller) {
327
- wsSend(ws, 'error', {
328
- message: 'Scrcpy controller not ready, connect-device first',
329
- });
350
+ logger.debug('Controller not ready, ignoring control event until connect-device');
330
351
  return null;
331
352
  }
332
353
  return controller;
@@ -355,16 +376,15 @@ export class ScrcpyServer {
355
376
  metaState: 0,
356
377
  });
357
378
  };
358
- // ---- 事件分发表 ----
359
379
  const handlers = {
380
+ ping: () => {
381
+ wsSend(ws, 'pong');
382
+ },
360
383
  'get-devices': () => this.sendDevicesListTo(state),
361
384
  'switch-device': async (deviceId) => {
362
385
  try {
363
386
  const id = typeof deviceId === 'string' ? deviceId : String(deviceId ?? '');
364
- if (state.scrcpyClient) {
365
- await state.scrcpyClient.close().catch(() => { });
366
- state.scrcpyClient = null;
367
- }
387
+ await this.releaseSession(state);
368
388
  this.currentDeviceId = id;
369
389
  wsSend(ws, 'device-switched', { deviceId: id });
370
390
  this.broadcastJson('global-device-switched', {
@@ -379,9 +399,12 @@ export class ScrcpyServer {
379
399
  }
380
400
  },
381
401
  'connect-device': async (options = {}) => {
382
- const { ScrcpyVideoCodecId } = await import('@yume-chan/scrcpy');
383
402
  try {
384
403
  emitStatus('connecting-device');
404
+ // 重复 connect-device 时,先释放旧资源避免 scrcpy 残留
405
+ if (state.scrcpyClient) {
406
+ await this.releaseSession(state);
407
+ }
385
408
  const requestedDeviceId = resolveRequestedDeviceId(options || {}, this.currentDeviceId);
386
409
  if (requestedDeviceId) {
387
410
  this.currentDeviceId = requestedDeviceId;
@@ -392,31 +415,63 @@ export class ScrcpyServer {
392
415
  return;
393
416
  }
394
417
  state.scrcpyClient = await this.startScrcpy(state.adb, options || {}, emitStatus);
395
- logger.info(`Scrcpy started for device=${this.currentDeviceId}, client=${state.id}`);
418
+ logger.info(`Scrcpy started for device=${this.currentDeviceId},client=${state.id}`);
396
419
  const videoStreamRaw = state.scrcpyClient?.videoStream;
397
420
  if (!videoStreamRaw) {
398
421
  wsSend(ws, 'error', {
399
422
  message: 'Video stream not available in scrcpy client',
400
423
  });
424
+ await this.releaseSession(state);
401
425
  return;
402
426
  }
403
427
  emitStatus('waiting-for-video');
404
428
  const videoStream = typeof videoStreamRaw?.then === 'function'
405
429
  ? await withTimeout(videoStreamRaw, this.config.videoStreamTimeoutMs, `Timed out waiting for scrcpy video stream metadata after ${Math.round(this.config.videoStreamTimeoutMs / 1000)}s`)
406
430
  : videoStreamRaw;
407
- const metadata = videoStream.metadata || {};
408
- if (!metadata.codec)
409
- metadata.codec = ScrcpyVideoCodecId.H264;
410
- if (!metadata.width)
411
- metadata.width = 1080;
412
- if (!metadata.height)
413
- metadata.height = 1920;
414
- wsSend(ws, 'video-metadata', metadata);
431
+ const metadata = videoStream.metadata;
432
+ // 严格校验:缺失元数据直接报错,避免兜底 H264/1080x1920 与真实流不匹配
433
+ if (!metadata ||
434
+ !metadata.codec ||
435
+ !metadata.width ||
436
+ !metadata.height) {
437
+ const detail = JSON.stringify(metadata || {});
438
+ logger.error(`incomplete video metadata: ${detail}`);
439
+ wsSend(ws, 'error', {
440
+ message: `Incomplete video metadata from scrcpy: ${detail}`,
441
+ });
442
+ await this.releaseSession(state);
443
+ return;
444
+ }
445
+ // 唤醒屏幕,避免设备熄屏时 scrcpy 推黑画面
446
+ const controller = state.scrcpyClient?.controller;
447
+ if (controller) {
448
+ try {
449
+ await controller.setScreenPowerMode?.(2);
450
+ }
451
+ catch (e) {
452
+ logger.warn(`setScreenPowerMode failed: ${e.message}`);
453
+ }
454
+ try {
455
+ await controller.backOrScreenOn?.(0);
456
+ }
457
+ catch (e) {
458
+ logger.warn(`backOrScreenOn failed: ${e.message}`);
459
+ }
460
+ }
461
+ wsSend(ws, 'video-metadata', {
462
+ codec: metadata.codec,
463
+ width: metadata.width,
464
+ height: metadata.height,
465
+ });
415
466
  state.videoWidth = metadata.width;
416
467
  state.videoHeight = metadata.height;
417
468
  const { stream } = videoStream;
418
469
  const reader = stream.getReader();
470
+ state.streamReader = reader;
419
471
  const processStream = async () => {
472
+ // 跳过开头的黑帧:直到收到一个数据量足够的关键帧才开始转发
473
+ // 黑屏帧通常极小(<1KB),正常关键帧在 1080p 下至少 30KB+
474
+ let gotValidKeyFrame = false;
420
475
  try {
421
476
  while (true) {
422
477
  const { done, value } = await reader.read();
@@ -425,28 +480,46 @@ export class ScrcpyServer {
425
480
  const frameType = value.type || 'data';
426
481
  const isKey = !!(value.keyframe ?? value.keyFrame);
427
482
  const isConfig = frameType === 'configuration';
483
+ // 还没拿到有效关键帧时,只保留 config 帧,跳过 P 帧和小关键帧
484
+ if (!gotValidKeyFrame) {
485
+ if (isConfig) {
486
+ // config 帧总是转发(SPS/PPS),jmuxer 需要它
487
+ }
488
+ else if (isKey && value.data.byteLength > 10000) {
489
+ // 数据量足够的关键帧,说明屏幕已亮
490
+ gotValidKeyFrame = true;
491
+ }
492
+ else {
493
+ // P 帧或黑屏关键帧,跳过
494
+ continue;
495
+ }
496
+ }
428
497
  if (ws.readyState !== WebSocket.OPEN)
429
498
  break;
430
499
  ws.send(buildVideoFrameBuffer(value.data, isKey, isConfig, Date.now()), { binary: true });
431
500
  }
432
501
  }
433
502
  catch (error) {
434
- logger.error(`Video stream error: ${error.message}`);
435
- if (ws.readyState === WebSocket.OPEN) {
436
- wsSend(ws, 'error', {
437
- message: 'video stream processing error',
438
- });
503
+ const msg = error.message || '';
504
+ if (!/cancel|abort/i.test(msg)) {
505
+ logger.error(`Video stream error: ${msg}`);
506
+ if (ws.readyState === WebSocket.OPEN) {
507
+ wsSend(ws, 'error', {
508
+ message: 'video stream processing error',
509
+ });
510
+ }
439
511
  }
440
512
  return;
441
513
  }
442
- // 流自然结束
514
+ finally {
515
+ if (state.streamReader === reader) {
516
+ state.streamReader = null;
517
+ }
518
+ }
443
519
  if (ws.readyState === WebSocket.OPEN) {
444
520
  wsSend(ws, 'error', { message: 'video stream ended' });
445
521
  }
446
- if (state.scrcpyClient) {
447
- await state.scrcpyClient.close().catch(() => { });
448
- state.scrcpyClient = null;
449
- }
522
+ await this.releaseSession(state);
450
523
  };
451
524
  void processStream();
452
525
  if (state.scrcpyClient?.controller) {
@@ -456,10 +529,7 @@ export class ScrcpyServer {
456
529
  catch (error) {
457
530
  const message = error?.message || 'Unknown error';
458
531
  logger.error(`connect-device failed: ${message}`);
459
- if (state.scrcpyClient) {
460
- await state.scrcpyClient.close().catch(() => { });
461
- state.scrcpyClient = null;
462
- }
532
+ await this.releaseSession(state);
463
533
  wsSend(ws, 'error', {
464
534
  message: `Failed to connect device: ${message}`,
465
535
  });
@@ -468,19 +538,15 @@ export class ScrcpyServer {
468
538
  'control-touch': async (raw = {}) => {
469
539
  try {
470
540
  const controller = ensureController();
471
- if (!controller) {
472
- logger.warn('control-touch: controller not ready');
541
+ if (!controller)
473
542
  return;
474
- }
475
543
  const videoWidth = state.videoWidth || 1080;
476
544
  const videoHeight = state.videoHeight || 1920;
477
545
  const normalized = raw.normalized === true;
478
546
  let x = Number(raw.x);
479
547
  let y = Number(raw.y);
480
- if (!Number.isFinite(x) || !Number.isFinite(y)) {
481
- logger.warn(`control-touch: invalid coords ${JSON.stringify(raw)}`);
548
+ if (!Number.isFinite(x) || !Number.isFinite(y))
482
549
  return;
483
- }
484
550
  if (normalized) {
485
551
  x = Math.max(0, Math.min(1, x)) * videoWidth;
486
552
  y = Math.max(0, Math.min(1, y)) * videoHeight;
@@ -494,9 +560,6 @@ export class ScrcpyServer {
494
560
  const pointerId = raw.pointerId !== undefined && raw.pointerId !== null
495
561
  ? BigInt(raw.pointerId)
496
562
  : FINGER_POINTER_ID;
497
- const actionButton = 0;
498
- const buttons = 0;
499
- logger.info(`inject touch ${actionStr} (${x},${y}) p=${pressure} pid=${pointerId} videoSize=${videoWidth}x${videoHeight}`);
500
563
  await controller.injectTouch({
501
564
  action,
502
565
  pointerId,
@@ -505,8 +568,8 @@ export class ScrcpyServer {
505
568
  videoWidth,
506
569
  videoHeight,
507
570
  pressure,
508
- actionButton,
509
- buttons,
571
+ actionButton: 0,
572
+ buttons: 0,
510
573
  });
511
574
  }
512
575
  catch (error) {
@@ -524,19 +587,16 @@ export class ScrcpyServer {
524
587
  const repeat = Number(raw.repeat ?? 0);
525
588
  const metaState = Number(raw.metaState ?? 0);
526
589
  const action = String(raw.action || 'press').toLowerCase();
527
- logger.info(`inject key ${action} keycode=${keycode}`);
528
590
  const inject = (act) => controller.injectKeyCode({
529
591
  action: act,
530
592
  keyCode: keycode,
531
593
  repeat,
532
594
  metaState,
533
595
  });
534
- if (action === 'down') {
596
+ if (action === 'down')
535
597
  await inject(0);
536
- }
537
- else if (action === 'up') {
598
+ else if (action === 'up')
538
599
  await inject(1);
539
- }
540
600
  else {
541
601
  await inject(0);
542
602
  await inject(1);
@@ -554,7 +614,6 @@ export class ScrcpyServer {
554
614
  const text = typeof raw === 'string' ? raw : String(raw.text ?? '');
555
615
  if (!text)
556
616
  return;
557
- logger.info(`inject text len=${text.length}`);
558
617
  await controller.injectText(text);
559
618
  }
560
619
  catch (error) {
@@ -565,24 +624,24 @@ export class ScrcpyServer {
565
624
  try {
566
625
  await pressKey(4);
567
626
  }
568
- catch (error) {
569
- logger.warn(`control-back failed: ${error.message}`);
627
+ catch (e) {
628
+ logger.warn(`control-back failed: ${e.message}`);
570
629
  }
571
630
  },
572
631
  'control-home': async () => {
573
632
  try {
574
633
  await pressKey(3);
575
634
  }
576
- catch (error) {
577
- logger.warn(`control-home failed: ${error.message}`);
635
+ catch (e) {
636
+ logger.warn(`control-home failed: ${e.message}`);
578
637
  }
579
638
  },
580
639
  'control-app-switch': async () => {
581
640
  try {
582
641
  await pressKey(187);
583
642
  }
584
- catch (error) {
585
- logger.warn(`control-app-switch failed: ${error.message}`);
643
+ catch (e) {
644
+ logger.warn(`control-app-switch failed: ${e.message}`);
586
645
  }
587
646
  },
588
647
  'control-set-clipboard': async (raw = {}) => {
@@ -681,10 +740,8 @@ export class ScrcpyServer {
681
740
  },
682
741
  };
683
742
  ws.on('message', (raw, isBinary) => {
684
- if (isBinary) {
685
- // 客户端不应发送二进制;忽略
743
+ if (isBinary)
686
744
  return;
687
- }
688
745
  let msg;
689
746
  try {
690
747
  msg = JSON.parse(raw.toString('utf8'));
@@ -715,15 +772,7 @@ export class ScrcpyServer {
715
772
  ws.on('close', async (code, reason) => {
716
773
  logger.info(`Client disconnected: id=${state.id}, code=${code}, reason=${reason?.toString() || ''}`);
717
774
  this.sessions.delete(ws);
718
- if (state.scrcpyClient) {
719
- try {
720
- await state.scrcpyClient.close();
721
- }
722
- catch (error) {
723
- logger.warn(`Failed to close scrcpy client on disconnect: ${error.message}`);
724
- }
725
- state.scrcpyClient = null;
726
- }
775
+ await this.releaseSession(state);
727
776
  });
728
777
  ws.on('error', (err) => {
729
778
  logger.warn(`WebSocket error for ${state.id}: ${err.message}`);
@@ -769,17 +818,8 @@ export class ScrcpyServer {
769
818
  clearInterval(this.devicePollInterval);
770
819
  this.devicePollInterval = null;
771
820
  }
772
- // 关闭所有 session 的 scrcpy 客户端
773
821
  for (const sess of this.sessions.values()) {
774
- if (sess.scrcpyClient) {
775
- try {
776
- await sess.scrcpyClient.close();
777
- }
778
- catch {
779
- // ignore
780
- }
781
- sess.scrcpyClient = null;
782
- }
822
+ await this.releaseSession(sess);
783
823
  try {
784
824
  sess.ws.close(1001, 'server shutting down');
785
825
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/scrcpy/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/scrcpy/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiscene/aiserver",
3
- "version": "1.6.2",
3
+ "version": "1.6.4",
4
4
  "description": "AI automation server with device management, task scheduling, and debug capabilities",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,7 +19,7 @@
19
19
  "format": "prettier --write src/"
20
20
  },
21
21
  "dependencies": {
22
- "@aiscene/android": "^9.0.4",
22
+ "@aiscene/android": "^9.0.5",
23
23
  "@aiscene/web": "^9.0.0",
24
24
  "@midscene/ios": "^1.6.0",
25
25
  "@playwright/test": "^1.59.1",