@osaas/client-transcode 0.7.1 → 0.8.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.
package/README.md CHANGED
@@ -40,6 +40,37 @@ async function main() {
40
40
  main();
41
41
  ```
42
42
 
43
+ Transcode and create streaming package
44
+
45
+ ```javascript
46
+ import { Context, Log } from '@osaas/client-core';
47
+ import { QueuePool } from '@osaas/client-transcode';
48
+
49
+ async function main() {
50
+ const ctx = new Context();
51
+
52
+ try {
53
+ const pool = new QueuePool({ context: ctx, usePackagingQueue: true });
54
+ await pool.init();
55
+ await pool.transcode(
56
+ new URL(
57
+ 'https://testcontent.eyevinn.technology/mp4/stswe-tvplus-promo.mp4'
58
+ ),
59
+ new URL('s3://lab-testcontent-store/birme/'),
60
+ {
61
+ packageDestination: new URL(
62
+ 's3://lab-testcontent-storate/birme/output/'
63
+ )
64
+ }
65
+ );
66
+ } catch (err) {
67
+ Log().error(err);
68
+ }
69
+ }
70
+
71
+ main();
72
+ ```
73
+
43
74
  ## About Open Source Cloud
44
75
 
45
76
  Open Source Cloud reduces the barrier to get started with open source without having to host it on your own infrastructure.
package/lib/encore.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Context } from '@osaas/client-core';
1
2
  export type FileOutput = {
2
3
  file: string;
3
4
  fileSize: number;
@@ -8,4 +9,58 @@ export type FileOutput = {
8
9
  audioStreams: any[];
9
10
  type: string;
10
11
  };
12
+ export type EncoreCallbackListenerOpts = {
13
+ context: Context;
14
+ name: string;
15
+ redisUrl: string;
16
+ encoreUrl: string;
17
+ redisQueue?: string;
18
+ };
19
+ export declare class EncoreCallbackListener {
20
+ private context;
21
+ private name;
22
+ private redisUrl;
23
+ private redisQueue?;
24
+ private encoreUrl;
25
+ private token?;
26
+ private callbackUrl?;
27
+ constructor({ context, name, redisUrl, encoreUrl, redisQueue }: EncoreCallbackListenerOpts);
28
+ static list(ctx: Context): Promise<EncoreCallbackListener[]>;
29
+ init(): Promise<void>;
30
+ destroy(): Promise<void>;
31
+ getCallbackUrl(): string | undefined;
32
+ getRedisUrl(): string;
33
+ getEncoreUrl(): string;
34
+ getRedisQueue(): string | undefined;
35
+ getName(): string;
36
+ }
37
+ export type EncorePackagerOpts = {
38
+ context: Context;
39
+ name: string;
40
+ redisUrl: string;
41
+ redisQueue?: string;
42
+ outputFolder: string;
43
+ concurrency?: number;
44
+ personalAccessTokenSecret?: string;
45
+ awsAccessKeyIdSecret?: string;
46
+ awsSecretAccessKeySecret?: string;
47
+ };
48
+ export declare class EncorePackager {
49
+ private context;
50
+ private name;
51
+ private token?;
52
+ private redisUrl;
53
+ private redisQueue?;
54
+ private concurrency?;
55
+ private personalAccessTokenSecret;
56
+ private awsAccessKeyIdSecret;
57
+ private awsSecretAccessKeySecret;
58
+ private outputFolder;
59
+ constructor({ context, name, redisUrl, redisQueue, outputFolder, concurrency, personalAccessTokenSecret, awsAccessKeyIdSecret, awsSecretAccessKeySecret }: EncorePackagerOpts);
60
+ static list(ctx: Context): Promise<EncorePackager[]>;
61
+ init(): Promise<void>;
62
+ destroy(): Promise<void>;
63
+ getOutputFolder(): string;
64
+ getName(): string;
65
+ }
11
66
  //# sourceMappingURL=encore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encore.d.ts","sourceRoot":"","sources":["../src/encore.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"encore.d.ts","sourceRoot":"","sources":["../src/encore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAOR,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,EACV,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,UAAU,EACX,EAAE,0BAA0B;WAQT,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAqB5D,IAAI;IA6BJ,OAAO;IAgBb,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC,WAAW,IAAI,MAAM;IAIrB,YAAY,IAAI,MAAM;IAItB,aAAa,IAAI,MAAM,GAAG,SAAS;IAOnC,OAAO,IAAI,MAAM;CAGzB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAIF,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,YAAY,CAAS;gBAEjB,EACV,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,EACX,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACzB,EAAE,kBAAkB;WAaD,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAyBpD,IAAI;IA8BJ,OAAO;IAgBb,eAAe,IAAI,MAAM;IAIzB,OAAO,IAAI,MAAM;CAGzB"}
package/lib/encore.js CHANGED
@@ -1,3 +1,158 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EncorePackager = exports.EncoreCallbackListener = void 0;
4
+ const client_core_1 = require("@osaas/client-core");
5
+ const CALLBACK_SERVICE_ID = 'eyevinn-encore-callback-listener';
6
+ class EncoreCallbackListener {
7
+ context;
8
+ name;
9
+ redisUrl;
10
+ redisQueue;
11
+ encoreUrl;
12
+ token;
13
+ callbackUrl;
14
+ constructor({ context, name, redisUrl, encoreUrl, redisQueue }) {
15
+ this.context = context;
16
+ this.name = name;
17
+ this.redisUrl = redisUrl;
18
+ this.redisQueue = redisQueue;
19
+ this.encoreUrl = encoreUrl;
20
+ }
21
+ static async list(ctx) {
22
+ const token = await ctx.getServiceAccessToken(CALLBACK_SERVICE_ID);
23
+ const instances = await (0, client_core_1.listInstances)(ctx, CALLBACK_SERVICE_ID, token);
24
+ return instances.map((instance) => {
25
+ return new EncoreCallbackListener({
26
+ context: ctx,
27
+ name: instance.name,
28
+ redisUrl: instance.RedisUrl,
29
+ encoreUrl: instance.EncoreUrl,
30
+ redisQueue: instance.RedisQueue
31
+ });
32
+ });
33
+ }
34
+ async init() {
35
+ this.token = await this.context.getServiceAccessToken(CALLBACK_SERVICE_ID);
36
+ const instance = await (0, client_core_1.getInstance)(this.context, CALLBACK_SERVICE_ID, this.name, this.token);
37
+ if (!instance) {
38
+ const newInstance = await (0, client_core_1.createInstance)(this.context, CALLBACK_SERVICE_ID, this.token, {
39
+ name: this.name,
40
+ RedisUrl: this.redisUrl,
41
+ EncoreUrl: this.encoreUrl,
42
+ RedisQueue: this.redisQueue
43
+ });
44
+ if (!newInstance) {
45
+ throw new Error('Failed to create Encore Callback Listener instance');
46
+ }
47
+ this.callbackUrl = newInstance.url + '/encoreCallback';
48
+ }
49
+ else {
50
+ this.callbackUrl = instance.url + '/encoreCallback';
51
+ }
52
+ }
53
+ async destroy() {
54
+ try {
55
+ this.token = await this.context.getServiceAccessToken(CALLBACK_SERVICE_ID);
56
+ await (0, client_core_1.removeInstance)(this.context, CALLBACK_SERVICE_ID, this.name, this.token);
57
+ }
58
+ catch (err) {
59
+ (0, client_core_1.Log)().error(err.message);
60
+ }
61
+ }
62
+ getCallbackUrl() {
63
+ return this.callbackUrl;
64
+ }
65
+ getRedisUrl() {
66
+ return (0, client_core_1.valueOrSecret)(this.redisUrl);
67
+ }
68
+ getEncoreUrl() {
69
+ return (0, client_core_1.valueOrSecret)(this.encoreUrl);
70
+ }
71
+ getRedisQueue() {
72
+ if (this.redisQueue) {
73
+ return (0, client_core_1.valueOrSecret)(this.redisQueue);
74
+ }
75
+ return undefined;
76
+ }
77
+ getName() {
78
+ return this.name;
79
+ }
80
+ }
81
+ exports.EncoreCallbackListener = EncoreCallbackListener;
82
+ const PACKAGER_SERVICE_ID = 'eyevinn-encore-packager';
83
+ class EncorePackager {
84
+ context;
85
+ name;
86
+ token;
87
+ redisUrl;
88
+ redisQueue;
89
+ concurrency;
90
+ personalAccessTokenSecret;
91
+ awsAccessKeyIdSecret;
92
+ awsSecretAccessKeySecret;
93
+ outputFolder;
94
+ constructor({ context, name, redisUrl, redisQueue, outputFolder, concurrency, personalAccessTokenSecret, awsAccessKeyIdSecret, awsSecretAccessKeySecret }) {
95
+ this.context = context;
96
+ this.name = name;
97
+ this.redisUrl = redisUrl;
98
+ this.redisQueue = redisQueue;
99
+ this.outputFolder = outputFolder;
100
+ this.concurrency = concurrency;
101
+ this.personalAccessTokenSecret = personalAccessTokenSecret || 'osctoken';
102
+ this.awsAccessKeyIdSecret = awsAccessKeyIdSecret || 'awsaccesskeyid';
103
+ this.awsSecretAccessKeySecret =
104
+ awsSecretAccessKeySecret || 'awssecretaccesskey';
105
+ }
106
+ static async list(ctx) {
107
+ const token = await ctx.getServiceAccessToken(PACKAGER_SERVICE_ID);
108
+ const instances = await (0, client_core_1.listInstances)(ctx, PACKAGER_SERVICE_ID, token);
109
+ return instances.map((instance) => {
110
+ return new EncorePackager({
111
+ context: ctx,
112
+ name: instance.name,
113
+ redisUrl: instance.RedisUrl,
114
+ redisQueue: instance.RedisQueue,
115
+ outputFolder: instance.OutputFolder,
116
+ concurrency: instance.Concurrency
117
+ ? parseInt(instance.Concurrency)
118
+ : undefined
119
+ });
120
+ });
121
+ }
122
+ async init() {
123
+ this.token = await this.context.getServiceAccessToken(PACKAGER_SERVICE_ID);
124
+ const instance = await (0, client_core_1.getInstance)(this.context, PACKAGER_SERVICE_ID, this.name, this.token);
125
+ if (!instance) {
126
+ const newInstance = await (0, client_core_1.createInstance)(this.context, PACKAGER_SERVICE_ID, this.token, {
127
+ name: this.name,
128
+ RedisUrl: this.redisUrl,
129
+ RedisQueue: this.redisQueue,
130
+ OutputFolder: this.outputFolder,
131
+ Concurrency: this.concurrency?.toString(),
132
+ PersonalAccessToken: `{{secrets.${this.personalAccessTokenSecret}}}`,
133
+ AwsAccessKeyId: `{{secrets.${this.awsAccessKeyIdSecret}}}`,
134
+ AwsSecretAccessKey: `{{secrets.${this.awsSecretAccessKeySecret}}}`
135
+ });
136
+ if (!newInstance) {
137
+ throw new Error('Failed to create Encore Packager instance');
138
+ }
139
+ }
140
+ }
141
+ async destroy() {
142
+ try {
143
+ this.token = await this.context.getServiceAccessToken(PACKAGER_SERVICE_ID);
144
+ await (0, client_core_1.removeInstance)(this.context, PACKAGER_SERVICE_ID, this.name, this.token);
145
+ }
146
+ catch (err) {
147
+ (0, client_core_1.Log)().error(err.message);
148
+ }
149
+ }
150
+ getOutputFolder() {
151
+ return this.outputFolder;
152
+ }
153
+ getName() {
154
+ return this.name;
155
+ }
156
+ }
157
+ exports.EncorePackager = EncorePackager;
3
158
  //# sourceMappingURL=encore.js.map
package/lib/encore.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"encore.js","sourceRoot":"","sources":["../src/encore.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"encore.js","sourceRoot":"","sources":["../src/encore.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /** @module @osaas/client-transcode */
2
+ export { EncoreCallbackListener, EncorePackager } from './encore';
2
3
  export { QueuePool } from './pool';
3
4
  export { vmafCompare } from './vmaf';
4
5
  export { createStreamingPackage } from './packager';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
package/lib/index.js CHANGED
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SubtitlingPool = exports.listSingleBitrateHLS = exports.removeLiveSingleBitrateHLS = exports.createLiveSingleBitrateHLS = exports.createStreamingPackage = exports.vmafCompare = exports.QueuePool = void 0;
3
+ exports.SubtitlingPool = exports.listSingleBitrateHLS = exports.removeLiveSingleBitrateHLS = exports.createLiveSingleBitrateHLS = exports.createStreamingPackage = exports.vmafCompare = exports.QueuePool = exports.EncorePackager = exports.EncoreCallbackListener = void 0;
4
4
  /** @module @osaas/client-transcode */
5
+ var encore_1 = require("./encore");
6
+ Object.defineProperty(exports, "EncoreCallbackListener", { enumerable: true, get: function () { return encore_1.EncoreCallbackListener; } });
7
+ Object.defineProperty(exports, "EncorePackager", { enumerable: true, get: function () { return encore_1.EncorePackager; } });
5
8
  var pool_1 = require("./pool");
6
9
  Object.defineProperty(exports, "QueuePool", { enumerable: true, get: function () { return pool_1.QueuePool; } });
7
10
  var vmaf_1 = require("./vmaf");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAC/B,+BAIgB;AAHd,kHAAA,0BAA0B,OAAA;AAC1B,kHAAA,0BAA0B,OAAA;AAC1B,4GAAA,oBAAoB,OAAA;AAEtB,2CAA8C;AAArC,4GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,mCAAkE;AAAzD,gHAAA,sBAAsB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAC/C,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAC/B,+BAIgB;AAHd,kHAAA,0BAA0B,OAAA;AAC1B,kHAAA,0BAA0B,OAAA;AAC1B,4GAAA,oBAAoB,OAAA;AAEtB,2CAA8C;AAArC,4GAAA,cAAc,OAAA"}
package/lib/pool.d.ts CHANGED
@@ -5,6 +5,11 @@ export type TranscodeOptions = {
5
5
  duration?: number;
6
6
  packageDestination?: URL;
7
7
  };
8
+ export type QueuePoolOptions = {
9
+ context: Context;
10
+ size?: number;
11
+ usePackagingQueue?: boolean;
12
+ };
8
13
  /**
9
14
  * Represents a pool of Encore queues (instances) in Open Source Cloud
10
15
  * @memberof module:@osaas/client-transcode
@@ -14,11 +19,15 @@ export declare class QueuePool {
14
19
  private token?;
15
20
  private instances;
16
21
  private queueSize;
22
+ private redisPackagingQueue?;
23
+ private encoreCallbacks;
24
+ private encorePackager?;
17
25
  /**
18
26
  * @typedef QueuePoolOptions
19
27
  * @type object
20
28
  * @property {Context} context - Open Source Cloud configuration context
21
29
  * @property {number} size - Number of queues in the pool
30
+ * @property {boolean?} usePackagingQueue - If true, use a packaging queue (default: false)
22
31
  */
23
32
  /**
24
33
  * @typedef TranscodeOptions
@@ -39,10 +48,7 @@ export declare class QueuePool {
39
48
  * const pool = new QueuePool({ context: ctx, size: 2 });
40
49
  * await pool.init();
41
50
  */
42
- constructor({ context, size }: {
43
- context: Context;
44
- size?: number;
45
- });
51
+ constructor({ context, size, usePackagingQueue }: QueuePoolOptions);
46
52
  /**
47
53
  * Initializes the pool by creating the queues
48
54
  * @async
package/lib/pool.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAMR,MAAM,oBAAoB,CAAC;AAM5B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,GAAG,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,SAAS,CAAS;IAE1B;;;;;OAKG;IAEH;;;;;;OAMG;IAEH;;;;;;;;;;;OAWG;gBACS,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAMlE;;;;;OAKG;IACU,IAAI;IAmCjB;;;;;OAKG;IACU,OAAO;IASpB;;;;;;;;;;;;;;;OAeG;IACU,SAAS,CACpB,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,GAAG,EAChB,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,gBAAgB;CA4E9D"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAMR,MAAM,oBAAoB,CAAC;AAO5B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,GAAG,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAC,CAAW;IACvC,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,cAAc,CAAC,CAAiB;IAExC;;;;;;OAMG;IAEH;;;;;;OAMG;IAEH;;;;;;;;;;;OAWG;gBACS,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,gBAAgB;IAalE;;;;;OAKG;IACU,IAAI;IAiDjB;;;;;OAKG;IACU,OAAO;IAkBpB;;;;;;;;;;;;;;;OAeG;IACU,SAAS,CACpB,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,GAAG,EAChB,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,gBAAgB;CAuG9D"}
package/lib/pool.js CHANGED
@@ -5,7 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.QueuePool = void 0;
7
7
  const client_core_1 = require("@osaas/client-core");
8
+ const client_db_1 = require("@osaas/client-db");
8
9
  const util_1 = require("./util");
10
+ const encore_1 = require("./encore");
9
11
  const node_path_1 = __importDefault(require("node:path"));
10
12
  const packager_1 = require("./packager");
11
13
  /**
@@ -17,11 +19,15 @@ class QueuePool {
17
19
  token;
18
20
  instances;
19
21
  queueSize;
22
+ redisPackagingQueue;
23
+ encoreCallbacks;
24
+ encorePackager;
20
25
  /**
21
26
  * @typedef QueuePoolOptions
22
27
  * @type object
23
28
  * @property {Context} context - Open Source Cloud configuration context
24
29
  * @property {number} size - Number of queues in the pool
30
+ * @property {boolean?} usePackagingQueue - If true, use a packaging queue (default: false)
25
31
  */
26
32
  /**
27
33
  * @typedef TranscodeOptions
@@ -42,10 +48,17 @@ class QueuePool {
42
48
  * const pool = new QueuePool({ context: ctx, size: 2 });
43
49
  * await pool.init();
44
50
  */
45
- constructor({ context, size }) {
51
+ constructor({ context, size, usePackagingQueue }) {
46
52
  this.context = context;
47
53
  this.instances = [];
48
54
  this.queueSize = size || 1;
55
+ if (usePackagingQueue) {
56
+ this.redisPackagingQueue = new client_db_1.ValkeyDb({
57
+ context,
58
+ name: 'packaging'
59
+ });
60
+ }
61
+ this.encoreCallbacks = {};
49
62
  }
50
63
  /**
51
64
  * Initializes the pool by creating the queues
@@ -54,6 +67,13 @@ class QueuePool {
54
67
  * await pool.init();
55
68
  */
56
69
  async init() {
70
+ let redisUrl = undefined;
71
+ if (this.redisPackagingQueue) {
72
+ redisUrl = await this.redisPackagingQueue.getRedisUrl();
73
+ if (!redisUrl) {
74
+ throw new Error('Failed to get Redis URL');
75
+ }
76
+ }
57
77
  this.token = await this.context.getServiceAccessToken('encore');
58
78
  if (this.instances.length > 0) {
59
79
  throw new Error('Pool already initialized');
@@ -63,10 +83,10 @@ class QueuePool {
63
83
  names.push(`node${i + 1}`);
64
84
  }
65
85
  for (const name of names) {
66
- const instance = await (0, client_core_1.getInstance)(this.context, 'encore', name, this.token);
86
+ let instance = await (0, client_core_1.getInstance)(this.context, 'encore', name, this.token);
67
87
  if (!instance) {
68
88
  (0, client_core_1.Log)().debug(`Creating pool instance ${name}`);
69
- const instance = await (0, client_core_1.createInstance)(this.context, 'encore', this.token, {
89
+ instance = await (0, client_core_1.createInstance)(this.context, 'encore', this.token, {
70
90
  name
71
91
  });
72
92
  await (0, util_1.delay)(5000);
@@ -75,6 +95,17 @@ class QueuePool {
75
95
  else {
76
96
  this.instances.push(instance.name);
77
97
  }
98
+ if (redisUrl) {
99
+ const callback = new encore_1.EncoreCallbackListener({
100
+ context: this.context,
101
+ name,
102
+ redisUrl: redisUrl.toString(),
103
+ encoreUrl: instance.url.replace(/\/$/, '')
104
+ });
105
+ (0, client_core_1.Log)().debug(`Creating callback listener for ${name}`);
106
+ await callback.init();
107
+ this.encoreCallbacks[name] = callback;
108
+ }
78
109
  }
79
110
  }
80
111
  /**
@@ -85,10 +116,19 @@ class QueuePool {
85
116
  */
86
117
  async destroy() {
87
118
  if (!this.token) {
88
- throw new Error('Pool not initialized');
119
+ this.token = await this.context.getServiceAccessToken('encore');
89
120
  }
90
121
  for (const instance of this.instances) {
91
122
  await (0, client_core_1.removeInstance)(this.context, 'encore', instance, this.token);
123
+ if (this.encoreCallbacks[instance]) {
124
+ await this.encoreCallbacks[instance].destroy();
125
+ }
126
+ }
127
+ if (this.encorePackager) {
128
+ await this.encorePackager.destroy();
129
+ }
130
+ if (this.redisPackagingQueue) {
131
+ await this.redisPackagingQueue.destroy();
92
132
  }
93
133
  }
94
134
  /**
@@ -125,6 +165,7 @@ class QueuePool {
125
165
  outputFolder: `/usercontent/${jobId}`,
126
166
  baseName: jobId,
127
167
  duration: duration,
168
+ progressCallbackUri: this.encoreCallbacks[name]?.getCallbackUrl(),
128
169
  inputs: [
129
170
  {
130
171
  type: 'AudioVideo',
@@ -138,20 +179,43 @@ class QueuePool {
138
179
  }
139
180
  });
140
181
  const encoreJob = JSON.parse(data);
141
- const job = await (0, util_1.waitForEncoreJobToComplete)(new URL(encoreJobUrl.toString() + '/' + encoreJob.id), this.token, this.context);
142
- (0, client_core_1.Log)().debug(job);
143
- const outputFiles = job.output.filter((file) => file.type === 'VideoFile' || file.type === 'AudioFile');
144
- const transferPromises = outputFiles.map((file) => (0, util_1.transferFile)(this.context, node_path_1.default.basename(file.file), new URL(file.file, instance.url), destination, this.token || ''));
145
- await Promise.all(transferPromises);
146
- if (packageDestination) {
147
- (0, client_core_1.Log)().debug(`Creating streaming package on ${packageDestination}`);
148
- const videos = outputFiles
149
- .filter((file) => file.type === 'VideoFile')
150
- .map((file) => node_path_1.default.basename(file.file));
151
- const audio = outputFiles.find((file) => file.type === 'AudioFile')?.file;
152
- (0, client_core_1.Log)().debug(videos, audio);
153
- if (videos && audio) {
154
- await (0, packager_1.createStreamingPackage)(this.context, destination, videos, node_path_1.default.basename(audio), packageDestination);
182
+ if (!this.encoreCallbacks[name]?.getCallbackUrl()) {
183
+ const job = await (0, util_1.waitForEncoreJobToComplete)(new URL(encoreJobUrl.toString() + '/' + encoreJob.id), this.token, this.context);
184
+ (0, client_core_1.Log)().debug(job);
185
+ const outputFiles = job.output.filter((file) => file.type === 'VideoFile' || file.type === 'AudioFile');
186
+ const transferPromises = outputFiles.map((file) => (0, util_1.transferFile)(this.context, node_path_1.default.basename(file.file), new URL(file.file, instance.url), destination, this.token || ''));
187
+ await Promise.all(transferPromises);
188
+ if (packageDestination) {
189
+ (0, client_core_1.Log)().debug(`Creating streaming package on ${packageDestination}`);
190
+ const videos = outputFiles
191
+ .filter((file) => file.type === 'VideoFile')
192
+ .map((file) => node_path_1.default.basename(file.file));
193
+ const audio = outputFiles.find((file) => file.type === 'AudioFile')?.file;
194
+ (0, client_core_1.Log)().debug(videos, audio);
195
+ if (videos && audio) {
196
+ await (0, packager_1.createStreamingPackage)(this.context, destination, videos, node_path_1.default.basename(audio), packageDestination);
197
+ }
198
+ }
199
+ }
200
+ else {
201
+ if (packageDestination) {
202
+ // Create packaging queue processor
203
+ if (!this.redisPackagingQueue) {
204
+ throw new Error('Packaging queue not initialized');
205
+ }
206
+ const redisUrl = await this.redisPackagingQueue.getRedisUrl();
207
+ if (!redisUrl) {
208
+ throw new Error('Failed to get Redis URL');
209
+ }
210
+ this.encorePackager = new encore_1.EncorePackager({
211
+ context: this.context,
212
+ name: 'packager',
213
+ redisUrl: redisUrl.toString(),
214
+ outputFolder: packageDestination.toString()
215
+ });
216
+ await this.encorePackager.init();
217
+ (0, client_core_1.Log)().info('Streaming packaging delegated to Encore Packager to output to ' +
218
+ packageDestination);
155
219
  }
156
220
  }
157
221
  }
package/lib/pool.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osaas/client-transcode",
3
- "version": "0.7.1",
3
+ "version": "0.8.0",
4
4
  "description": "Open Source Cloud Client SDK transcode library",
5
5
  "author": "Eyevinn Technology <work@eyevinn.se>",
6
6
  "homepage": "https://www.osaas.io",
@@ -25,11 +25,12 @@
25
25
  "test": "jest --passWithNoTests"
26
26
  },
27
27
  "dependencies": {
28
- "@osaas/client-core": "^0.8.0",
28
+ "@osaas/client-core": "^0.9.0",
29
+ "@osaas/client-db": "^0.2.0",
29
30
  "chalk": "4.1.2"
30
31
  },
31
32
  "publishConfig": {
32
33
  "access": "public"
33
34
  },
34
- "gitHead": "81c85c8d7295524b8eee540c5d184e13dcde7081"
35
+ "gitHead": "b80ac35f717ad81d9684a3316f7226255da7b673"
35
36
  }