@osaas/client-transcode 0.17.1 → 0.18.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.
@@ -14,6 +14,11 @@ export interface TranscodeOptions {
14
14
  frameRate?: number;
15
15
  injectIDRKeyFrames?: IDRKeyFrame[];
16
16
  }
17
+ export interface CustomEndpoint {
18
+ endpointUrl: URL;
19
+ bearerToken?: string;
20
+ beaderTokenHeader?: string;
21
+ }
17
22
  export declare function smpteTimecodeToFrames(smpteTimeCode: string, frameRate: number): number;
18
23
  /**
19
24
  * @typedef {object} TranscodeOptions
@@ -27,12 +32,19 @@ export declare function smpteTimecodeToFrames(smpteTimeCode: string, frameRate:
27
32
  * @property {number} [frameRate] - Frame rate of the input video (required when injecting IDR key frames)
28
33
  * @property {IDRKeyFrame[]} [injectIDRKeyFrames] - List of SMPTE timecodes for IDR key frames
29
34
  */
35
+ /**
36
+ * @typedef {object} CustomEndpoint
37
+ * @property {URL} endpointUrl - The URL to the custom Encore endpoint
38
+ * @property {string} [bearerToken] - The bearer token to use for authentication
39
+ * @property {string} [beaderTokenHeader] - The header name for the bearer token (default: Authorization)
40
+ */
30
41
  /**
31
42
  * Transcode a video file using SVT Encore in Eyevinn Open Source Cloud
32
43
  *
33
44
  * @memberof module:@osaas/client-transcode
34
45
  * @param ctx - Eyevinn OSC context
35
46
  * @param {TranscodeOptions} opts - Transcode options
47
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
36
48
  * @returns {Job} - The created Encore job
37
49
  *
38
50
  * @example
@@ -44,8 +56,21 @@ export declare function smpteTimecodeToFrames(smpteTimeCode: string, frameRate:
44
56
  * inputUrl: new URL('s3://input/VINN.mp4')
45
57
  * });
46
58
  * console.log(job);
59
+ *
60
+ * @example
61
+ * // Using a custom Encore endpoint
62
+ * const job = await transcode(ctx, {
63
+ * encoreInstanceName: 'dummy',
64
+ * profile: 'program',
65
+ * externalId: 'tutorial',
66
+ * outputUrl: new URL('s3://output/tutorial/'),
67
+ * inputUrl: new URL('s3://input/VINN.mp4'),
68
+ * }, {
69
+ * endpointUrl: new URL('https://my-custom-encore-endpoint.example.com/'),
70
+ * });
71
+ * console.log(job);
47
72
  */
48
- export declare function transcode(ctx: Context, opts: TranscodeOptions): Promise<unknown>;
73
+ export declare function transcode(ctx: Context, opts: TranscodeOptions, endpoint?: CustomEndpoint): Promise<unknown>;
49
74
  /**
50
75
  * Get details of an SVT Encore transcode job in Eyevinn Open Source Cloud
51
76
  *
@@ -53,24 +78,26 @@ export declare function transcode(ctx: Context, opts: TranscodeOptions): Promise
53
78
  * @param ctx - Eyevinn OSC context
54
79
  * @param {string} instanceName - Name of Encore instance
55
80
  * @param {string} jobId - Id of the Encore job
81
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
56
82
  * @returns {Job} - The Encore job
57
83
  *
58
84
  * @example
59
85
  * const job = await getTranscodeJob(ctx, 'tutorial', 'fb2baa17-8972-451b-bb1e-1bc773283476');
60
86
  * console.log(job);
61
87
  */
62
- export declare function getTranscodeJob(ctx: Context, instanceName: string, jobId: string): Promise<unknown>;
88
+ export declare function getTranscodeJob(ctx: Context, instanceName: string, jobId: string, endpoint?: CustomEndpoint): Promise<unknown>;
63
89
  /**
64
90
  * Get a list of all SVT Encore transcode job in Eyevinn Open Source Cloud
65
91
  *
66
92
  * @memberof module:@osaas/client-transcode
67
93
  * @param ctx - Eyevinn OSC context
68
94
  * @param {string} instanceName - Name of Encore instance
95
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
69
96
  * @returns {Job[]} - List of Encore jobs
70
97
  *
71
98
  * @example
72
99
  * const jobs = await listTranscodeJobs(ctx, 'tutorial');
73
100
  * console.log(jobs);
74
101
  */
75
- export declare function listTranscodeJobs(ctx: Context, instanceName: string): Promise<any[]>;
102
+ export declare function listTranscodeJobs(ctx: Context, instanceName: string, endpoint?: CustomEndpoint): Promise<any[]>;
76
103
  //# sourceMappingURL=transcode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transcode.d.ts","sourceRoot":"","sources":["../src/transcode.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAC;CACpC;AAOD,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,CAQR;AAED;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,oBAkEnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,oBAoBd;AAcD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAmCzE"}
1
+ {"version":3,"file":"transcode.d.ts","sourceRoot":"","sources":["../src/transcode.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,GAAG,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAOD,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,CAQR;AAED;;;;;;;;;;;GAWG;AAEH;;;;;GAKG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,gBAAgB,EACtB,QAAQ,CAAC,EAAE,cAAc,oBAkF1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,cAAc,oBAkC1B;AAcD;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,cAAc,kBAgD1B"}
package/lib/transcode.js CHANGED
@@ -28,12 +28,19 @@ exports.smpteTimecodeToFrames = smpteTimecodeToFrames;
28
28
  * @property {number} [frameRate] - Frame rate of the input video (required when injecting IDR key frames)
29
29
  * @property {IDRKeyFrame[]} [injectIDRKeyFrames] - List of SMPTE timecodes for IDR key frames
30
30
  */
31
+ /**
32
+ * @typedef {object} CustomEndpoint
33
+ * @property {URL} endpointUrl - The URL to the custom Encore endpoint
34
+ * @property {string} [bearerToken] - The bearer token to use for authentication
35
+ * @property {string} [beaderTokenHeader] - The header name for the bearer token (default: Authorization)
36
+ */
31
37
  /**
32
38
  * Transcode a video file using SVT Encore in Eyevinn Open Source Cloud
33
39
  *
34
40
  * @memberof module:@osaas/client-transcode
35
41
  * @param ctx - Eyevinn OSC context
36
42
  * @param {TranscodeOptions} opts - Transcode options
43
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
37
44
  * @returns {Job} - The created Encore job
38
45
  *
39
46
  * @example
@@ -45,18 +52,44 @@ exports.smpteTimecodeToFrames = smpteTimecodeToFrames;
45
52
  * inputUrl: new URL('s3://input/VINN.mp4')
46
53
  * });
47
54
  * console.log(job);
55
+ *
56
+ * @example
57
+ * // Using a custom Encore endpoint
58
+ * const job = await transcode(ctx, {
59
+ * encoreInstanceName: 'dummy',
60
+ * profile: 'program',
61
+ * externalId: 'tutorial',
62
+ * outputUrl: new URL('s3://output/tutorial/'),
63
+ * inputUrl: new URL('s3://input/VINN.mp4'),
64
+ * }, {
65
+ * endpointUrl: new URL('https://my-custom-encore-endpoint.example.com/'),
66
+ * });
67
+ * console.log(job);
48
68
  */
49
- async function transcode(ctx, opts) {
69
+ async function transcode(ctx, opts, endpoint) {
50
70
  const baseName = opts.baseName || opts.externalId;
51
71
  const profile = opts.profile || (!opts.injectIDRKeyFrames ? 'program' : 'program-kf');
52
72
  if (opts.injectIDRKeyFrames && !opts.frameRate) {
53
73
  throw new Error('frameRate is required when injecting IDR key frames');
54
74
  }
55
- const instance = await (0, client_services_1.getEncoreInstance)(ctx, opts.encoreInstanceName);
56
- if (!instance) {
57
- throw new Error(`Encore instance ${opts.encoreInstanceName} not found`);
75
+ let endpointUrl;
76
+ let bearerToken;
77
+ let bearerTokenHeader = 'Authorization';
78
+ if (!endpoint) {
79
+ const instance = await (0, client_services_1.getEncoreInstance)(ctx, opts.encoreInstanceName);
80
+ if (!instance) {
81
+ throw new Error(`Encore instance ${opts.encoreInstanceName} not found`);
82
+ }
83
+ bearerToken = await ctx.getServiceAccessToken('encore');
84
+ endpointUrl = instance.url;
85
+ }
86
+ else {
87
+ endpointUrl = endpoint.endpointUrl.toString();
88
+ bearerToken = endpoint.bearerToken;
89
+ if (endpoint.beaderTokenHeader) {
90
+ bearerTokenHeader = endpoint.beaderTokenHeader;
91
+ }
58
92
  }
59
- const serviceAccessToken = await ctx.getServiceAccessToken('encore');
60
93
  if (opts.inputUrl.protocol !== 's3:' && opts.inputUrl.protocol !== 'https:') {
61
94
  throw new Error('inputUrl must be an S3 or HTTPS URL');
62
95
  }
@@ -91,12 +124,15 @@ async function transcode(ctx, opts) {
91
124
  if (opts.callBackUrl) {
92
125
  encoreJob['progressCallbackUri'] = opts.callBackUrl.toString();
93
126
  }
94
- const response = await fetch(new URL('/encoreJobs', instance.url), {
127
+ const headers = {
128
+ 'Content-Type': 'application/json'
129
+ };
130
+ if (bearerToken) {
131
+ headers[bearerTokenHeader] = `Bearer ${bearerToken}`;
132
+ }
133
+ const response = await fetch(new URL('/encoreJobs', endpointUrl), {
95
134
  method: 'POST',
96
- headers: {
97
- 'Content-Type': 'application/json',
98
- Authorization: `Bearer ${serviceAccessToken}`
99
- },
135
+ headers,
100
136
  body: JSON.stringify(encoreJob)
101
137
  });
102
138
  if (!response.ok) {
@@ -114,22 +150,38 @@ exports.transcode = transcode;
114
150
  * @param ctx - Eyevinn OSC context
115
151
  * @param {string} instanceName - Name of Encore instance
116
152
  * @param {string} jobId - Id of the Encore job
153
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
117
154
  * @returns {Job} - The Encore job
118
155
  *
119
156
  * @example
120
157
  * const job = await getTranscodeJob(ctx, 'tutorial', 'fb2baa17-8972-451b-bb1e-1bc773283476');
121
158
  * console.log(job);
122
159
  */
123
- async function getTranscodeJob(ctx, instanceName, jobId) {
124
- const instance = await (0, client_services_1.getEncoreInstance)(ctx, instanceName);
125
- if (!instance) {
126
- throw new Error(`Encore instance ${instanceName} not found`);
127
- }
128
- const serviceAccessToken = await ctx.getServiceAccessToken('encore');
129
- const response = await fetch(new URL(`/encoreJobs/${jobId}`, instance.url), {
130
- headers: {
131
- Authorization: `Bearer ${serviceAccessToken}`
160
+ async function getTranscodeJob(ctx, instanceName, jobId, endpoint) {
161
+ let endpointUrl;
162
+ let bearerTokenHeader = 'Authorization';
163
+ let bearerToken;
164
+ if (!endpoint) {
165
+ const instance = await (0, client_services_1.getEncoreInstance)(ctx, instanceName);
166
+ if (!instance) {
167
+ throw new Error(`Encore instance ${instanceName} not found`);
168
+ }
169
+ endpointUrl = instance.url;
170
+ bearerToken = await ctx.getServiceAccessToken('encore');
171
+ }
172
+ else {
173
+ endpointUrl = endpoint.endpointUrl.toString();
174
+ bearerToken = endpoint.bearerToken;
175
+ if (endpoint.beaderTokenHeader) {
176
+ bearerTokenHeader = endpoint.beaderTokenHeader;
132
177
  }
178
+ }
179
+ const headers = {};
180
+ if (bearerToken) {
181
+ headers[bearerTokenHeader] = `Bearer ${bearerToken}`;
182
+ }
183
+ const response = await fetch(new URL(`/encoreJobs/${jobId}`, endpointUrl), {
184
+ headers
133
185
  });
134
186
  if (!response.ok) {
135
187
  if (response.status === 404) {
@@ -147,22 +199,38 @@ exports.getTranscodeJob = getTranscodeJob;
147
199
  * @memberof module:@osaas/client-transcode
148
200
  * @param ctx - Eyevinn OSC context
149
201
  * @param {string} instanceName - Name of Encore instance
202
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
150
203
  * @returns {Job[]} - List of Encore jobs
151
204
  *
152
205
  * @example
153
206
  * const jobs = await listTranscodeJobs(ctx, 'tutorial');
154
207
  * console.log(jobs);
155
208
  */
156
- async function listTranscodeJobs(ctx, instanceName) {
157
- const instance = await (0, client_services_1.getEncoreInstance)(ctx, instanceName);
158
- if (!instance) {
159
- throw new Error(`Encore instance ${instanceName} not found`);
160
- }
161
- const serviceAccessToken = await ctx.getServiceAccessToken('encore');
162
- const response = await fetch(new URL('/encoreJobs', instance.url), {
163
- headers: {
164
- Authorization: `Bearer ${serviceAccessToken}`
209
+ async function listTranscodeJobs(ctx, instanceName, endpoint) {
210
+ let endpointUrl;
211
+ let bearerTokenHeader = 'Authorization';
212
+ let bearerToken;
213
+ if (!endpoint) {
214
+ const instance = await (0, client_services_1.getEncoreInstance)(ctx, instanceName);
215
+ if (!instance) {
216
+ throw new Error(`Encore instance ${instanceName} not found`);
165
217
  }
218
+ bearerToken = await ctx.getServiceAccessToken('encore');
219
+ endpointUrl = instance.url;
220
+ }
221
+ else {
222
+ endpointUrl = endpoint.endpointUrl.toString();
223
+ bearerToken = endpoint.bearerToken;
224
+ if (endpoint.beaderTokenHeader) {
225
+ bearerTokenHeader = endpoint.beaderTokenHeader;
226
+ }
227
+ }
228
+ const headers = {};
229
+ if (bearerToken) {
230
+ headers[bearerTokenHeader] = `Bearer ${bearerToken}`;
231
+ }
232
+ const response = await fetch(new URL('/encoreJobs', endpointUrl), {
233
+ headers
166
234
  });
167
235
  if (!response.ok) {
168
236
  throw new Error(`Failed to list Encore jobs: ${response.status}`);
@@ -172,10 +240,8 @@ async function listTranscodeJobs(ctx, instanceName) {
172
240
  const jobs = jobList._embedded.encoreJobs;
173
241
  if (jobList.page.totalPages > 1) {
174
242
  for (const page of (0, util_1.range)(1, jobList.page.totalPages, 1)) {
175
- const response = await fetch(new URL(`/encoreJobs?page=${page}`, instance.url), {
176
- headers: {
177
- Authorization: `Bearer ${serviceAccessToken}`
178
- }
243
+ const response = await fetch(new URL(`/encoreJobs?page=${page}`, endpointUrl), {
244
+ headers
179
245
  });
180
246
  if (!response.ok) {
181
247
  throw new Error(`Failed to list Encore jobs: ${response.status}`);
@@ -1 +1 @@
1
- {"version":3,"file":"transcode.js","sourceRoot":"","sources":["../src/transcode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcode.js","sourceRoot":"","sources":["../src/transcode.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.17.1",
3
+ "version": "0.18.0",
4
4
  "description": "Open Source Cloud Client SDK transcode library",
5
5
  "author": "Eyevinn Open Source Cloud <osc@eyevinn.se>",
6
6
  "homepage": "https://www.osaas.io",
@@ -34,5 +34,5 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "gitHead": "ada52a854836f24220209329cf122bc8fc8ef6e7"
37
+ "gitHead": "af9065468c8afb4ba0dfc2cd370fed5b61dd4863"
38
38
  }