polyv-live-cli 1.0.8 → 1.1.0

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.
@@ -1,9 +1,47 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.StreamHandler = void 0;
4
37
  const base_handler_1 = require("./base.handler");
5
38
  const errors_1 = require("../utils/errors");
6
39
  const formatter_1 = require("../utils/formatter");
40
+ const ffmpeg_1 = require("../utils/ffmpeg");
41
+ const stream_verification_1 = require("../utils/stream-verification");
42
+ const formatter_2 = require("../utils/formatter");
43
+ const child_process_1 = require("child_process");
44
+ const fs = __importStar(require("fs"));
7
45
  class StreamHandler extends base_handler_1.BaseHandler {
8
46
  constructor(streamService) {
9
47
  super();
@@ -61,7 +99,7 @@ class StreamHandler extends base_handler_1.BaseHandler {
61
99
  const performanceInfo = {
62
100
  'FPS': credentials.metrics.fps.toFixed(2),
63
101
  'LFR': credentials.metrics.lfr.toFixed(2),
64
- 'Bandwidth': this.formatBandwidth(credentials.metrics.bandwidth)
102
+ 'Bandwidth': (0, formatter_2.formatBandwidth)(credentials.metrics.bandwidth)
65
103
  };
66
104
  console.log('\nšŸ“Š Performance Metrics:');
67
105
  this.displayData(performanceInfo, 'table');
@@ -97,18 +135,6 @@ class StreamHandler extends base_handler_1.BaseHandler {
97
135
  }
98
136
  };
99
137
  }
100
- formatBandwidth(bandwidth) {
101
- if (bandwidth === 0)
102
- return '0 bps';
103
- const units = ['bps', 'Kbps', 'Mbps', 'Gbps'];
104
- let unitIndex = 0;
105
- let value = bandwidth;
106
- while (value >= 1024 && unitIndex < units.length - 1) {
107
- value /= 1024;
108
- unitIndex++;
109
- }
110
- return `${value.toFixed(2)} ${units[unitIndex]}`;
111
- }
112
138
  async startStream(options) {
113
139
  return this.executeWithErrorHandling(async () => {
114
140
  this.validateStartStreamOptions(options);
@@ -236,6 +262,311 @@ class StreamHandler extends base_handler_1.BaseHandler {
236
262
  console.log(' • Do not share stream credentials in public channels');
237
263
  console.log(' • Regenerate stream key if compromised');
238
264
  }
265
+ async pushStream(options) {
266
+ return this.executeWithErrorHandling(async () => {
267
+ this.validatePushStreamOptions(options);
268
+ console.log('šŸ” Checking FFmpeg installation...');
269
+ const ffmpegInstalled = await (0, ffmpeg_1.isFFmpegInstalled)();
270
+ if (!ffmpegInstalled) {
271
+ throw new Error('FFmpeg is not installed or not found in PATH. Please install FFmpeg to use this feature.');
272
+ }
273
+ console.log('āœ… FFmpeg is available');
274
+ console.log('šŸ”‘ Getting stream credentials...');
275
+ const credentials = await this.streamService.getStreamKey({
276
+ channelId: options.channelId
277
+ });
278
+ console.log('āœ… Stream credentials retrieved');
279
+ if (options.verify) {
280
+ const interval = options.verificationInterval || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.INTERVAL;
281
+ const threshold = options.qualityThreshold || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.QUALITY_THRESHOLD;
282
+ console.log('šŸ” Verification mode enabled:');
283
+ console.log(` Interval: ${interval}s, Quality threshold: ${threshold} FPS`);
284
+ }
285
+ if (options.showViewerLinks || options.verify) {
286
+ console.log('šŸ”— Viewer Links:');
287
+ const viewerLinks = (0, stream_verification_1.generateViewerLinks)(options.channelId);
288
+ viewerLinks.forEach(link => {
289
+ console.log(` • ${link.protocol}: ${link.url}`);
290
+ });
291
+ console.log('');
292
+ }
293
+ const rtmpUrl = `${credentials.rtmpUrl}/${credentials.streamKey}`;
294
+ const ffmpegArgs = [
295
+ '-re',
296
+ '-i', options.file,
297
+ '-c:v', 'copy',
298
+ '-c:a', 'aac',
299
+ '-f', 'flv',
300
+ rtmpUrl
301
+ ];
302
+ console.log('šŸŽ¬ Starting stream push...');
303
+ console.log(` File: ${options.file}`);
304
+ console.log(` Channel: ${options.channelId}`);
305
+ console.log(' Press Ctrl+C to stop streaming');
306
+ console.log('');
307
+ const ffmpegProcess = (0, child_process_1.spawn)('ffmpeg', ffmpegArgs);
308
+ let verificationInterval = null;
309
+ let verificationCheckCount = 0;
310
+ if (options.verify) {
311
+ const interval = (options.verificationInterval || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.INTERVAL) * 1000;
312
+ const threshold = options.qualityThreshold || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.QUALITY_THRESHOLD;
313
+ verificationInterval = setInterval(async () => {
314
+ try {
315
+ verificationCheckCount++;
316
+ const statusInfo = await this.streamService.getStreamStatus({
317
+ channelId: options.channelId
318
+ });
319
+ const verificationPoint = (0, stream_verification_1.createVerificationPoint)(verificationCheckCount, statusInfo, threshold);
320
+ const statusEmoji = (0, stream_verification_1.getStatusEmoji)(verificationPoint.status);
321
+ console.log(`\nā±ļø Verification Check #${verificationCheckCount} (${this.formatDuration(verificationCheckCount * interval / 1000)}):`);
322
+ console.log(` Status: ${statusEmoji} ${verificationPoint.status} | FPS: ${(0, stream_verification_1.formatFPS)(verificationPoint.metrics.fps)} | Bandwidth: ${(0, formatter_2.formatBandwidth)(verificationPoint.metrics.bandwidth)}`);
323
+ if (verificationPoint.issues.length > 0) {
324
+ verificationPoint.issues.forEach(issue => {
325
+ console.log(` Issue: ${issue.message}`);
326
+ });
327
+ }
328
+ }
329
+ catch (error) {
330
+ console.log(` āš ļø Verification check failed: ${error instanceof Error ? error.message : String(error)}`);
331
+ }
332
+ }, interval);
333
+ }
334
+ ffmpegProcess.stdout.on('data', (data) => {
335
+ process.stdout.write(data);
336
+ });
337
+ ffmpegProcess.stderr.on('data', (data) => {
338
+ process.stderr.write(data);
339
+ });
340
+ return new Promise((resolve, reject) => {
341
+ ffmpegProcess.on('close', (code) => {
342
+ if (verificationInterval) {
343
+ clearInterval(verificationInterval);
344
+ }
345
+ if (code === 0) {
346
+ console.log('\nāœ… Stream completed successfully');
347
+ if (options.verify && verificationCheckCount > 0) {
348
+ console.log(`šŸ“Š Verification Summary: ${verificationCheckCount} checks performed`);
349
+ }
350
+ resolve();
351
+ }
352
+ else if (code === null) {
353
+ console.log('\nā¹ļø Stream stopped by user');
354
+ if (options.verify && verificationCheckCount > 0) {
355
+ console.log(`šŸ“Š Verification Summary: ${verificationCheckCount} checks performed`);
356
+ }
357
+ resolve();
358
+ }
359
+ else {
360
+ console.log(`\nāŒ FFmpeg process exited with code ${code}`);
361
+ reject(new Error(`FFmpeg process failed with exit code ${code}`));
362
+ }
363
+ });
364
+ ffmpegProcess.on('error', (error) => {
365
+ if (verificationInterval) {
366
+ clearInterval(verificationInterval);
367
+ }
368
+ console.log(`\nāŒ FFmpeg process error: ${error.message}`);
369
+ reject(error);
370
+ });
371
+ const sigintHandler = () => {
372
+ console.log('\nā¹ļø Stopping stream...');
373
+ if (verificationInterval) {
374
+ clearInterval(verificationInterval);
375
+ }
376
+ ffmpegProcess.kill('SIGINT');
377
+ process.removeListener('SIGINT', sigintHandler);
378
+ };
379
+ process.on('SIGINT', sigintHandler);
380
+ });
381
+ }, 'stream.pushStream');
382
+ }
383
+ validatePushStreamOptions(options) {
384
+ if (!options.channelId || typeof options.channelId !== 'string' || options.channelId.trim() === '') {
385
+ throw new errors_1.PolyVValidationError('Channel ID cannot be empty', 'channelId', options.channelId, 'required');
386
+ }
387
+ if (!options.file || typeof options.file !== 'string' || options.file.trim() === '') {
388
+ throw new errors_1.PolyVValidationError('File path cannot be empty', 'file', options.file, 'required');
389
+ }
390
+ if (!fs.existsSync(options.file)) {
391
+ throw new errors_1.PolyVValidationError(`File not found: ${options.file}`, 'file', options.file, 'not_found');
392
+ }
393
+ }
394
+ async verifyStream(options) {
395
+ return this.executeWithErrorHandling(async () => {
396
+ this.validateVerifyStreamOptions(options);
397
+ const duration = options.duration || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.DURATION;
398
+ const interval = options.interval || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.INTERVAL;
399
+ const threshold = options.qualityThreshold || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.QUALITY_THRESHOLD;
400
+ const expectedChecks = Math.floor(duration / interval);
401
+ console.log(`šŸ” Starting stream verification for channel ${options.channelId}...`);
402
+ console.log(` Duration: ${duration}s | Interval: ${interval}s | Expected checks: ${expectedChecks}`);
403
+ console.log('');
404
+ const verificationId = (0, stream_verification_1.generateVerificationId)();
405
+ const startTime = new Date();
406
+ const verificationPoints = [];
407
+ if (options.showViewerLinks) {
408
+ console.log('šŸ”— Viewer Links:');
409
+ const viewerLinks = (0, stream_verification_1.generateViewerLinks)(options.channelId);
410
+ viewerLinks.forEach(link => {
411
+ console.log(` • ${link.protocol}: ${link.url}`);
412
+ });
413
+ console.log('');
414
+ }
415
+ console.log('šŸ“Š Verification Progress:');
416
+ for (let i = 0; i < expectedChecks; i++) {
417
+ const checkNumber = i + 1;
418
+ const elapsedTime = checkNumber * interval;
419
+ try {
420
+ const statusInfo = await this.streamService.getStreamStatus({
421
+ channelId: options.channelId
422
+ });
423
+ const verificationPoint = (0, stream_verification_1.createVerificationPoint)(checkNumber, statusInfo, threshold);
424
+ verificationPoints.push(verificationPoint);
425
+ const statusEmoji = (0, stream_verification_1.getStatusEmoji)(verificationPoint.status);
426
+ const timeStr = this.formatDuration(elapsedTime);
427
+ console.log(` ${checkNumber.toString().padStart(2)}. ${timeStr} | ${statusEmoji} ${verificationPoint.status.padEnd(7)} | FPS: ${(0, stream_verification_1.formatFPS)(verificationPoint.metrics.fps).padEnd(8)} | Bandwidth: ${(0, formatter_2.formatBandwidth)(verificationPoint.metrics.bandwidth).padEnd(10)} | ${statusEmoji}`);
428
+ if (verificationPoint.issues.length > 0) {
429
+ verificationPoint.issues.forEach(issue => {
430
+ console.log(` Issue: ${issue.message}`);
431
+ });
432
+ }
433
+ }
434
+ catch (error) {
435
+ console.log(` ${checkNumber.toString().padStart(2)}. ${this.formatDuration(elapsedTime)} | āŒ Error | Failed to get status: ${error instanceof Error ? error.message : String(error)}`);
436
+ }
437
+ if (i < expectedChecks - 1) {
438
+ await this.sleep(interval * 1000);
439
+ }
440
+ }
441
+ const result = (0, stream_verification_1.createVerificationResult)(options.channelId, verificationId, startTime, verificationPoints, threshold);
442
+ console.log('\nšŸ“ˆ Verification Summary:');
443
+ console.log(` • Overall Status: ${result.summary.overallStatus} (${result.summary.reliability.toFixed(0)}% reliability)`);
444
+ console.log(` • Average FPS: ${(0, stream_verification_1.formatFPS)(result.averageMetrics.fps)} (Target: >${threshold} FPS)`);
445
+ console.log(` • Average Bandwidth: ${(0, formatter_2.formatBandwidth)(result.averageMetrics.bandwidth)}`);
446
+ console.log(` • Issues Found: ${result.summary.totalIssues}`);
447
+ if (result.summary.recommendations.length > 0) {
448
+ console.log(' • Recommendations:');
449
+ result.summary.recommendations.forEach(rec => {
450
+ console.log(` - ${rec}`);
451
+ });
452
+ }
453
+ if (options.saveReport) {
454
+ const { saveVerificationReport, createVerificationReport } = await Promise.resolve().then(() => __importStar(require('../utils/stream-verification')));
455
+ const report = createVerificationReport(result, duration, interval);
456
+ report.timeline = verificationPoints;
457
+ await saveVerificationReport(report, options.saveReport);
458
+ console.log(`\nšŸ’¾ Verification report saved to: ${options.saveReport}`);
459
+ }
460
+ if (options.output === 'json') {
461
+ console.log('\nšŸ“„ JSON Report:');
462
+ console.log(JSON.stringify(result, null, 2));
463
+ }
464
+ }, 'stream.verifyStream');
465
+ }
466
+ async monitorStream(options) {
467
+ return this.executeWithErrorHandling(async () => {
468
+ this.validateMonitorStreamOptions(options);
469
+ const refresh = options.refresh || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.MONITOR_REFRESH;
470
+ console.log(`šŸ“Š Stream Monitor - Channel: ${options.channelId} (Refreshing every ${refresh}s)`);
471
+ console.log('Press Ctrl+C to stop monitoring\n');
472
+ let monitorInterval = null;
473
+ let activityLog = [];
474
+ const performCheck = async () => {
475
+ try {
476
+ const statusInfo = await this.streamService.getStreamStatus({
477
+ channelId: options.channelId
478
+ });
479
+ process.stdout.write('\x1Bc');
480
+ console.log(`šŸ“Š Stream Monitor - Channel: ${options.channelId} (Refreshing every ${refresh}s)`);
481
+ console.log('Press Ctrl+C to stop monitoring\n');
482
+ const statusEmoji = statusInfo.isLive ? 'āœ…' : 'āøļø';
483
+ const status = statusInfo.isLive ? 'Live and Healthy' : statusInfo.statusText;
484
+ console.log('ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”');
485
+ console.log(`│ Current Status: ${statusEmoji} ${status.padEnd(40)} │`);
486
+ if (statusInfo.isLive && statusInfo.metrics) {
487
+ const duration = statusInfo.durationText || 'Unknown';
488
+ const fps = (0, stream_verification_1.formatFPS)(statusInfo.metrics.fps);
489
+ const bandwidth = (0, formatter_2.formatBandwidth)(statusInfo.metrics.bandwidth);
490
+ const latency = statusInfo.metrics.lfr ? `${statusInfo.metrics.lfr.toFixed(1)}% LFR` : 'N/A';
491
+ console.log(`│ Uptime: ${duration.padEnd(20)} | Viewers: Unknown${' '.padEnd(14)} │`);
492
+ console.log(`│ FPS: ${fps.padEnd(8)} | Bandwidth: ${bandwidth.padEnd(10)} | Latency: ${latency.padEnd(8)} │`);
493
+ }
494
+ else {
495
+ console.log(`│ Stream is not currently live${' '.padEnd(32)} │`);
496
+ }
497
+ console.log('ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜\n');
498
+ if (options.alerts && statusInfo.isLive && statusInfo.metrics) {
499
+ const qualityIssues = (0, stream_verification_1.analyzeQualityMetrics)({
500
+ fps: statusInfo.metrics.fps,
501
+ bandwidth: statusInfo.metrics.bandwidth,
502
+ lfr: statusInfo.metrics.lfr
503
+ });
504
+ if (qualityIssues.length > 0) {
505
+ console.log('āš ļø Quality Alerts:');
506
+ qualityIssues.forEach(issue => {
507
+ const severityEmoji = (0, stream_verification_1.getSeverityEmoji)(issue.severity);
508
+ console.log(` ${severityEmoji} ${issue.message}`);
509
+ });
510
+ console.log('');
511
+ }
512
+ }
513
+ console.log('Recent Activity:');
514
+ const currentTime = new Date().toLocaleTimeString();
515
+ const newActivity = ` ${currentTime} - Stream status: ${status}`;
516
+ activityLog.unshift(newActivity);
517
+ if (activityLog.length > 5) {
518
+ activityLog = activityLog.slice(0, 5);
519
+ }
520
+ activityLog.forEach(activity => console.log(activity));
521
+ console.log(`\nā±ļø Last updated: ${currentTime}`);
522
+ console.log(`šŸ”„ Refreshing in ${refresh} seconds...`);
523
+ }
524
+ catch (error) {
525
+ console.log(`āŒ Error monitoring stream: ${error instanceof Error ? error.message : String(error)}`);
526
+ }
527
+ };
528
+ await performCheck();
529
+ monitorInterval = setInterval(performCheck, refresh * 1000);
530
+ return new Promise((resolve) => {
531
+ const sigintHandler = () => {
532
+ if (monitorInterval) {
533
+ clearInterval(monitorInterval);
534
+ }
535
+ console.log('\n\nšŸ‘‹ Monitoring stopped. Goodbye!');
536
+ process.removeListener('SIGINT', sigintHandler);
537
+ resolve();
538
+ };
539
+ process.on('SIGINT', sigintHandler);
540
+ });
541
+ }, 'stream.monitorStream');
542
+ }
543
+ validateVerifyStreamOptions(options) {
544
+ if (!options.channelId || typeof options.channelId !== 'string' || options.channelId.trim() === '') {
545
+ throw new errors_1.PolyVValidationError('Channel ID cannot be empty', 'channelId', options.channelId, 'required');
546
+ }
547
+ if (options.duration && (options.duration < 10 || options.duration > 3600)) {
548
+ throw new errors_1.PolyVValidationError('Duration must be between 10 and 3600 seconds', 'duration', options.duration, 'out_of_range');
549
+ }
550
+ if (options.interval && (options.interval < 5 || options.interval > 300)) {
551
+ throw new errors_1.PolyVValidationError('Interval must be between 5 and 300 seconds', 'interval', options.interval, 'out_of_range');
552
+ }
553
+ }
554
+ validateMonitorStreamOptions(options) {
555
+ if (!options.channelId || typeof options.channelId !== 'string' || options.channelId.trim() === '') {
556
+ throw new errors_1.PolyVValidationError('Channel ID cannot be empty', 'channelId', options.channelId, 'required');
557
+ }
558
+ if (options.refresh !== undefined && (options.refresh < 1 || options.refresh > 60)) {
559
+ throw new errors_1.PolyVValidationError('Refresh interval must be between 1 and 60 seconds', 'refresh', options.refresh, 'out_of_range');
560
+ }
561
+ }
562
+ sleep(ms) {
563
+ return new Promise(resolve => setTimeout(resolve, ms));
564
+ }
565
+ formatDuration(seconds) {
566
+ const mins = Math.floor(seconds / 60);
567
+ const secs = Math.floor(seconds % 60);
568
+ return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
569
+ }
239
570
  }
240
571
  exports.StreamHandler = StreamHandler;
241
572
  //# sourceMappingURL=stream.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.handler.js","sourceRoot":"","sources":["../../src/handlers/stream.handler.ts"],"names":[],"mappings":";;;AAMA,iDAA6C;AAW7C,4CAAuD;AACvD,kDAI4B;AAK5B,MAAa,aAAc,SAAQ,0BAAW;IAO5C,YAAY,aAA4B;QACtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAOD,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,IAAI,EAAE;YAE9C,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;YAG1C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBACxD,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YAGH,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;oBAC1D,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAA,+BAAmB,EAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrD,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC/G,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YACjE,CAAC;YAGD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;YAE/C,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC;YACpD,CAAC;YAGD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEhC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC5B,CAAC;IAOO,2BAA2B,CAAC,OAA4B;QAC9D,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACnG,MAAM,IAAI,6BAAoB,CAC5B,4BAA4B,EAC5B,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,UAAU,CACX,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,6BAAoB,CAC5B,gDAAgD,EAChD,QAAQ,EACR,OAAO,CAAC,MAAM,EACd,eAAe,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAMO,+BAA+B,CAAC,WAA8B;QACpE,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAGhE,MAAM,UAAU,GAAG;YACjB,YAAY,EAAE,WAAW,CAAC,SAAS;YACnC,UAAU,EAAE,WAAW,CAAC,OAAO;YAC/B,YAAY,EAAE,YAAY,CAAC,SAAS;YACpC,gBAAgB,EAAE,WAAW,CAAC,aAAa,IAAI,GAAG;YAClD,eAAe,EAAE,WAAW,CAAC,SAAS,IAAI,GAAG;SAC9C,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAGtC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACrE,MAAM,eAAe,GAAG;gBACtB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;aACjE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,8FAA8F,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;IAMO,8BAA8B,CAAC,WAA8B;QACnE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAOO,wBAAwB,CAAC,WAA8B;QAC7D,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACxC,IAAI,eAAe,GAAG,SAAS,CAAC;QAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;QAGrB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpC,eAAe,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC;YAC9C,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,OAAO;YACL,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,eAAe;YAC1B,QAAQ;YACR,UAAU,EAAE;gBACV,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;gBAC5B,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS;aACzC;SACF,CAAC;IACJ,CAAC;IAOO,eAAe,CAAC,SAAiB;QACvC,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QAEpC,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,KAAK,GAAG,SAAS,CAAC;QAEtB,OAAO,KAAK,IAAI,IAAI,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,IAAI,IAAI,CAAC;YACd,SAAS,EAAE,CAAC;QACd,CAAC;QAED,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IACnD,CAAC;IAOD,KAAK,CAAC,WAAW,CAAC,OAA2B;QAC3C,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,IAAI,EAAE;YAE9C,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAGzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBACpD,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YAGH,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,cAAc,CAAC,2CAA2C,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAGpF,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAEf,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,sCAAsC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/E,CAAC;QAEH,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC3B,CAAC;IAOO,0BAA0B,CAAC,OAA2B;QAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACnG,MAAM,IAAI,6BAAoB,CAC5B,4BAA4B,EAC5B,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,UAAU,CACX,CAAC;QACJ,CAAC;IACH,CAAC;IAOO,mBAAmB,CAAC,SAAiB,EAAE,MAAc;QAC3D,MAAM,UAAU,GAAG;YACjB,YAAY,EAAE,SAAS;YACvB,eAAe,EAAE,MAAM;YACvB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAOD,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,IAAI,EAAE;YAE9C,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YAGxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;gBACnD,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YAGH,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC,cAAc,CAAC,2CAA2C,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBAGpF,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAEf,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,qCAAqC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAC9E,CAAC;QAEH,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC1B,CAAC;IAOO,yBAAyB,CAAC,OAA0B;QAC1D,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACnG,MAAM,IAAI,6BAAoB,CAC5B,4BAA4B,EAC5B,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,UAAU,CACX,CAAC;QACJ,CAAC;IACH,CAAC;IAOD,KAAK,CAAC,eAAe,CAAC,OAA4B;QAChD,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,IAAI,EAAE;YAE9C,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;YAG1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;gBAC1D,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YAGH,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;YAE/C,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;YAC9C,CAAC;QAEH,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC/B,CAAC;IAOO,2BAA2B,CAAC,OAA4B;QAC9D,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACnG,MAAM,IAAI,6BAAoB,CAC5B,4BAA4B,EAC5B,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,UAAU,CACX,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,6BAAoB,CAC5B,gDAAgD,EAChD,QAAQ,EACR,OAAO,CAAC,MAAM,EACd,eAAe,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAMO,0BAA0B,CAAC,UAA4B;QAC7D,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,MAAM,eAAe,GAAG,IAAA,sCAA0B,EAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAG3C,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAMO,yBAAyB,CAAC,UAA4B;QAC5D,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,IAAA,qCAAyB,EAAC,UAAU,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAMO,KAAK,CAAC,qBAAqB,CAAC,SAAiB;QACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;YAC1D,SAAS;SACV,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,IAAA,+BAAmB,EAAC,UAAU,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC;QAEnC,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QAC/G,CAAC;QAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAKO,sBAAsB;QAC5B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;CACF;AA3ZD,sCA2ZC"}
1
+ {"version":3,"file":"stream.handler.js","sourceRoot":"","sources":["../../src/handlers/stream.handler.ts"],"names":[],"mappings":"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"}
@@ -101,4 +101,91 @@ export interface StreamStatusOptions {
101
101
  output?: 'table' | 'json';
102
102
  watch?: boolean;
103
103
  }
104
+ export interface StreamPushOptions {
105
+ channelId: string;
106
+ file: string;
107
+ verify?: boolean;
108
+ verificationInterval?: number;
109
+ qualityThreshold?: number;
110
+ showViewerLinks?: boolean;
111
+ }
112
+ export interface StreamVerificationOptions {
113
+ channelId: string;
114
+ duration?: number;
115
+ interval?: number;
116
+ qualityThreshold?: number;
117
+ showViewerLinks?: boolean;
118
+ saveReport?: string;
119
+ output?: 'table' | 'json';
120
+ }
121
+ export interface StreamMonitorOptions {
122
+ channelId: string;
123
+ refresh?: number;
124
+ alerts?: boolean;
125
+ output?: 'table' | 'json';
126
+ }
127
+ export interface QualityMetrics {
128
+ fps: number;
129
+ bandwidth: number;
130
+ latency?: number;
131
+ lfr?: number;
132
+ }
133
+ export interface QualityIssue {
134
+ timestamp: Date;
135
+ type: 'fps_low' | 'bandwidth_low' | 'connection_lost' | 'encoding_error' | 'other';
136
+ severity: 'warning' | 'error' | 'critical';
137
+ message: string;
138
+ metrics?: Partial<QualityMetrics>;
139
+ }
140
+ export interface ViewerLink {
141
+ protocol: 'HLS' | 'RTMP' | 'WebRTC' | 'HTTP-FLV';
142
+ url: string;
143
+ description: string;
144
+ }
145
+ export interface VerificationPoint {
146
+ checkNumber: number;
147
+ timestamp: Date;
148
+ status: 'healthy' | 'warning' | 'error';
149
+ metrics: QualityMetrics;
150
+ issues: QualityIssue[];
151
+ }
152
+ export interface VerificationSummary {
153
+ overallStatus: 'excellent' | 'good' | 'fair' | 'poor';
154
+ reliability: number;
155
+ averageQuality: QualityMetrics;
156
+ totalIssues: number;
157
+ recommendations: string[];
158
+ }
159
+ export interface StreamVerificationResult {
160
+ channelId: string;
161
+ verificationId: string;
162
+ startTime: Date;
163
+ endTime: Date;
164
+ totalChecks: number;
165
+ successfulChecks: number;
166
+ failedChecks: number;
167
+ averageMetrics: QualityMetrics;
168
+ qualityIssues: QualityIssue[];
169
+ viewerLinks: ViewerLink[];
170
+ summary: VerificationSummary;
171
+ }
172
+ export interface VerificationReport {
173
+ metadata: {
174
+ channelId: string;
175
+ testDuration: number;
176
+ testInterval: number;
177
+ timestamp: Date;
178
+ version: string;
179
+ };
180
+ summary: VerificationSummary;
181
+ timeline: VerificationPoint[];
182
+ issues: QualityIssue[];
183
+ viewerLinks: ViewerLink[];
184
+ }
185
+ export interface StreamActivity {
186
+ timestamp: Date;
187
+ type: 'status_change' | 'quality_change' | 'viewer_change' | 'error' | 'info';
188
+ message: string;
189
+ data?: Record<string, unknown>;
190
+ }
104
191
  //# sourceMappingURL=stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/types/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/types/stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function isFFmpegInstalled(): Promise<boolean>;
2
+ //# sourceMappingURL=ffmpeg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpeg.d.ts","sourceRoot":"","sources":["../../src/utils/ffmpeg.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAUpD"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFFmpegInstalled = isFFmpegInstalled;
4
+ const child_process_1 = require("child_process");
5
+ function isFFmpegInstalled() {
6
+ return new Promise((resolve) => {
7
+ (0, child_process_1.exec)('ffmpeg -version', (error) => {
8
+ if (error) {
9
+ resolve(false);
10
+ }
11
+ else {
12
+ resolve(true);
13
+ }
14
+ });
15
+ });
16
+ }
17
+ //# sourceMappingURL=ffmpeg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../../src/utils/ffmpeg.ts"],"names":[],"mappings":";;AAMA,8CAUC;AAhBD,iDAAqC;AAMrC,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAA,oBAAI,EAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,7 @@
1
1
  export * from './errors';
2
2
  export * from './signature';
3
3
  export * from './confirmation';
4
+ export * from './stream-verification';
5
+ export * from './ffmpeg';
6
+ export * from './formatter';
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAKA,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAKA,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,uBAAuB,CAAC;AAGtC,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC"}
@@ -17,4 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./errors"), exports);
18
18
  __exportStar(require("./signature"), exports);
19
19
  __exportStar(require("./confirmation"), exports);
20
+ __exportStar(require("./stream-verification"), exports);
21
+ __exportStar(require("./ffmpeg"), exports);
22
+ __exportStar(require("./formatter"), exports);
20
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,2CAAyB;AAGzB,8CAA4B;AAG5B,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,2CAAyB;AAGzB,8CAA4B;AAG5B,iDAA+B;AAG/B,wDAAsC;AAGtC,2CAAyB;AAGzB,8CAA4B"}