@osaas/client-transcode 0.17.1 → 0.19.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.
@@ -13,6 +13,12 @@ export interface TranscodeOptions {
13
13
  profile?: string;
14
14
  frameRate?: number;
15
15
  injectIDRKeyFrames?: IDRKeyFrame[];
16
+ noReconnect?: boolean;
17
+ }
18
+ export interface CustomEndpoint {
19
+ endpointUrl: URL;
20
+ bearerToken?: string;
21
+ beaderTokenHeader?: string;
16
22
  }
17
23
  export declare function smpteTimecodeToFrames(smpteTimeCode: string, frameRate: number): number;
18
24
  /**
@@ -26,6 +32,13 @@ export declare function smpteTimecodeToFrames(smpteTimeCode: string, frameRate:
26
32
  * @property {string} [profile] - Profile to use for transcoding
27
33
  * @property {number} [frameRate] - Frame rate of the input video (required when injecting IDR key frames)
28
34
  * @property {IDRKeyFrame[]} [injectIDRKeyFrames] - List of SMPTE timecodes for IDR key frames
35
+ * @property {boolean} [noReconnect] - Do not reconnect to the input stream on network errors
36
+ */
37
+ /**
38
+ * @typedef {object} CustomEndpoint
39
+ * @property {URL} endpointUrl - The URL to the custom Encore endpoint
40
+ * @property {string} [bearerToken] - The bearer token to use for authentication
41
+ * @property {string} [beaderTokenHeader] - The header name for the bearer token (default: Authorization)
29
42
  */
30
43
  /**
31
44
  * Transcode a video file using SVT Encore in Eyevinn Open Source Cloud
@@ -33,6 +46,7 @@ export declare function smpteTimecodeToFrames(smpteTimeCode: string, frameRate:
33
46
  * @memberof module:@osaas/client-transcode
34
47
  * @param ctx - Eyevinn OSC context
35
48
  * @param {TranscodeOptions} opts - Transcode options
49
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
36
50
  * @returns {Job} - The created Encore job
37
51
  *
38
52
  * @example
@@ -44,8 +58,21 @@ export declare function smpteTimecodeToFrames(smpteTimeCode: string, frameRate:
44
58
  * inputUrl: new URL('s3://input/VINN.mp4')
45
59
  * });
46
60
  * console.log(job);
61
+ *
62
+ * @example
63
+ * // Using a custom Encore endpoint
64
+ * const job = await transcode(ctx, {
65
+ * encoreInstanceName: 'dummy',
66
+ * profile: 'program',
67
+ * externalId: 'tutorial',
68
+ * outputUrl: new URL('s3://output/tutorial/'),
69
+ * inputUrl: new URL('s3://input/VINN.mp4'),
70
+ * }, {
71
+ * endpointUrl: new URL('https://my-custom-encore-endpoint.example.com/'),
72
+ * });
73
+ * console.log(job);
47
74
  */
48
- export declare function transcode(ctx: Context, opts: TranscodeOptions): Promise<unknown>;
75
+ export declare function transcode(ctx: Context, opts: TranscodeOptions, endpoint?: CustomEndpoint): Promise<unknown>;
49
76
  /**
50
77
  * Get details of an SVT Encore transcode job in Eyevinn Open Source Cloud
51
78
  *
@@ -53,24 +80,26 @@ export declare function transcode(ctx: Context, opts: TranscodeOptions): Promise
53
80
  * @param ctx - Eyevinn OSC context
54
81
  * @param {string} instanceName - Name of Encore instance
55
82
  * @param {string} jobId - Id of the Encore job
83
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
56
84
  * @returns {Job} - The Encore job
57
85
  *
58
86
  * @example
59
87
  * const job = await getTranscodeJob(ctx, 'tutorial', 'fb2baa17-8972-451b-bb1e-1bc773283476');
60
88
  * console.log(job);
61
89
  */
62
- export declare function getTranscodeJob(ctx: Context, instanceName: string, jobId: string): Promise<unknown>;
90
+ export declare function getTranscodeJob(ctx: Context, instanceName: string, jobId: string, endpoint?: CustomEndpoint): Promise<unknown>;
63
91
  /**
64
92
  * Get a list of all SVT Encore transcode job in Eyevinn Open Source Cloud
65
93
  *
66
94
  * @memberof module:@osaas/client-transcode
67
95
  * @param ctx - Eyevinn OSC context
68
96
  * @param {string} instanceName - Name of Encore instance
97
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
69
98
  * @returns {Job[]} - List of Encore jobs
70
99
  *
71
100
  * @example
72
101
  * const jobs = await listTranscodeJobs(ctx, 'tutorial');
73
102
  * console.log(jobs);
74
103
  */
75
- export declare function listTranscodeJobs(ctx: Context, instanceName: string): Promise<any[]>;
104
+ export declare function listTranscodeJobs(ctx: Context, instanceName: string, endpoint?: CustomEndpoint): Promise<any[]>;
76
105
  //# 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;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;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;;;;;;;;;;;;GAYG;AAEH;;;;;GAKG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,gBAAgB,EACtB,QAAQ,CAAC,EAAE,cAAc,oBA0F1B;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
@@ -27,6 +27,13 @@ exports.smpteTimecodeToFrames = smpteTimecodeToFrames;
27
27
  * @property {string} [profile] - Profile to use for transcoding
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
+ * @property {boolean} [noReconnect] - Do not reconnect to the input stream on network errors
31
+ */
32
+ /**
33
+ * @typedef {object} CustomEndpoint
34
+ * @property {URL} endpointUrl - The URL to the custom Encore endpoint
35
+ * @property {string} [bearerToken] - The bearer token to use for authentication
36
+ * @property {string} [beaderTokenHeader] - The header name for the bearer token (default: Authorization)
30
37
  */
31
38
  /**
32
39
  * Transcode a video file using SVT Encore in Eyevinn Open Source Cloud
@@ -34,6 +41,7 @@ exports.smpteTimecodeToFrames = smpteTimecodeToFrames;
34
41
  * @memberof module:@osaas/client-transcode
35
42
  * @param ctx - Eyevinn OSC context
36
43
  * @param {TranscodeOptions} opts - Transcode options
44
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
37
45
  * @returns {Job} - The created Encore job
38
46
  *
39
47
  * @example
@@ -45,24 +53,57 @@ exports.smpteTimecodeToFrames = smpteTimecodeToFrames;
45
53
  * inputUrl: new URL('s3://input/VINN.mp4')
46
54
  * });
47
55
  * console.log(job);
56
+ *
57
+ * @example
58
+ * // Using a custom Encore endpoint
59
+ * const job = await transcode(ctx, {
60
+ * encoreInstanceName: 'dummy',
61
+ * profile: 'program',
62
+ * externalId: 'tutorial',
63
+ * outputUrl: new URL('s3://output/tutorial/'),
64
+ * inputUrl: new URL('s3://input/VINN.mp4'),
65
+ * }, {
66
+ * endpointUrl: new URL('https://my-custom-encore-endpoint.example.com/'),
67
+ * });
68
+ * console.log(job);
48
69
  */
49
- async function transcode(ctx, opts) {
70
+ async function transcode(ctx, opts, endpoint) {
50
71
  const baseName = opts.baseName || opts.externalId;
51
72
  const profile = opts.profile || (!opts.injectIDRKeyFrames ? 'program' : 'program-kf');
52
73
  if (opts.injectIDRKeyFrames && !opts.frameRate) {
53
74
  throw new Error('frameRate is required when injecting IDR key frames');
54
75
  }
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`);
76
+ let endpointUrl;
77
+ let bearerToken;
78
+ let bearerTokenHeader = 'Authorization';
79
+ if (!endpoint) {
80
+ const instance = await (0, client_services_1.getEncoreInstance)(ctx, opts.encoreInstanceName);
81
+ if (!instance) {
82
+ throw new Error(`Encore instance ${opts.encoreInstanceName} not found`);
83
+ }
84
+ bearerToken = await ctx.getServiceAccessToken('encore');
85
+ endpointUrl = instance.url;
86
+ }
87
+ else {
88
+ endpointUrl = endpoint.endpointUrl.toString();
89
+ bearerToken = endpoint.bearerToken;
90
+ if (endpoint.beaderTokenHeader) {
91
+ bearerTokenHeader = endpoint.beaderTokenHeader;
92
+ }
58
93
  }
59
- const serviceAccessToken = await ctx.getServiceAccessToken('encore');
60
94
  if (opts.inputUrl.protocol !== 's3:' && opts.inputUrl.protocol !== 'https:') {
61
95
  throw new Error('inputUrl must be an S3 or HTTPS URL');
62
96
  }
63
97
  if (opts.outputUrl.protocol !== 's3:') {
64
98
  throw new Error('outputUrl must be an S3 URL');
65
99
  }
100
+ let params = {};
101
+ if (!opts.noReconnect) {
102
+ params = {
103
+ reconnect: '1',
104
+ reconnect_on_error: '1'
105
+ };
106
+ }
66
107
  const encoreJob = {
67
108
  externalId: opts.externalId,
68
109
  profile,
@@ -72,7 +113,8 @@ async function transcode(ctx, opts) {
72
113
  {
73
114
  type: 'AudioVideo',
74
115
  copyTs: true,
75
- uri: opts.inputUrl.toString()
116
+ uri: opts.inputUrl.toString(),
117
+ params
76
118
  }
77
119
  ]
78
120
  };
@@ -91,12 +133,15 @@ async function transcode(ctx, opts) {
91
133
  if (opts.callBackUrl) {
92
134
  encoreJob['progressCallbackUri'] = opts.callBackUrl.toString();
93
135
  }
94
- const response = await fetch(new URL('/encoreJobs', instance.url), {
136
+ const headers = {
137
+ 'Content-Type': 'application/json'
138
+ };
139
+ if (bearerToken) {
140
+ headers[bearerTokenHeader] = `Bearer ${bearerToken}`;
141
+ }
142
+ const response = await fetch(new URL('/encoreJobs', endpointUrl), {
95
143
  method: 'POST',
96
- headers: {
97
- 'Content-Type': 'application/json',
98
- Authorization: `Bearer ${serviceAccessToken}`
99
- },
144
+ headers,
100
145
  body: JSON.stringify(encoreJob)
101
146
  });
102
147
  if (!response.ok) {
@@ -114,22 +159,38 @@ exports.transcode = transcode;
114
159
  * @param ctx - Eyevinn OSC context
115
160
  * @param {string} instanceName - Name of Encore instance
116
161
  * @param {string} jobId - Id of the Encore job
162
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
117
163
  * @returns {Job} - The Encore job
118
164
  *
119
165
  * @example
120
166
  * const job = await getTranscodeJob(ctx, 'tutorial', 'fb2baa17-8972-451b-bb1e-1bc773283476');
121
167
  * console.log(job);
122
168
  */
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}`
169
+ async function getTranscodeJob(ctx, instanceName, jobId, endpoint) {
170
+ let endpointUrl;
171
+ let bearerTokenHeader = 'Authorization';
172
+ let bearerToken;
173
+ if (!endpoint) {
174
+ const instance = await (0, client_services_1.getEncoreInstance)(ctx, instanceName);
175
+ if (!instance) {
176
+ throw new Error(`Encore instance ${instanceName} not found`);
132
177
  }
178
+ endpointUrl = instance.url;
179
+ bearerToken = await ctx.getServiceAccessToken('encore');
180
+ }
181
+ else {
182
+ endpointUrl = endpoint.endpointUrl.toString();
183
+ bearerToken = endpoint.bearerToken;
184
+ if (endpoint.beaderTokenHeader) {
185
+ bearerTokenHeader = endpoint.beaderTokenHeader;
186
+ }
187
+ }
188
+ const headers = {};
189
+ if (bearerToken) {
190
+ headers[bearerTokenHeader] = `Bearer ${bearerToken}`;
191
+ }
192
+ const response = await fetch(new URL(`/encoreJobs/${jobId}`, endpointUrl), {
193
+ headers
133
194
  });
134
195
  if (!response.ok) {
135
196
  if (response.status === 404) {
@@ -147,22 +208,38 @@ exports.getTranscodeJob = getTranscodeJob;
147
208
  * @memberof module:@osaas/client-transcode
148
209
  * @param ctx - Eyevinn OSC context
149
210
  * @param {string} instanceName - Name of Encore instance
211
+ * @param {CustomEndpoint} [endpoint] - Use a custom Encore endpoint (optional)
150
212
  * @returns {Job[]} - List of Encore jobs
151
213
  *
152
214
  * @example
153
215
  * const jobs = await listTranscodeJobs(ctx, 'tutorial');
154
216
  * console.log(jobs);
155
217
  */
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}`
218
+ async function listTranscodeJobs(ctx, instanceName, endpoint) {
219
+ let endpointUrl;
220
+ let bearerTokenHeader = 'Authorization';
221
+ let bearerToken;
222
+ if (!endpoint) {
223
+ const instance = await (0, client_services_1.getEncoreInstance)(ctx, instanceName);
224
+ if (!instance) {
225
+ throw new Error(`Encore instance ${instanceName} not found`);
226
+ }
227
+ bearerToken = await ctx.getServiceAccessToken('encore');
228
+ endpointUrl = instance.url;
229
+ }
230
+ else {
231
+ endpointUrl = endpoint.endpointUrl.toString();
232
+ bearerToken = endpoint.bearerToken;
233
+ if (endpoint.beaderTokenHeader) {
234
+ bearerTokenHeader = endpoint.beaderTokenHeader;
165
235
  }
236
+ }
237
+ const headers = {};
238
+ if (bearerToken) {
239
+ headers[bearerTokenHeader] = `Bearer ${bearerToken}`;
240
+ }
241
+ const response = await fetch(new URL('/encoreJobs', endpointUrl), {
242
+ headers
166
243
  });
167
244
  if (!response.ok) {
168
245
  throw new Error(`Failed to list Encore jobs: ${response.status}`);
@@ -172,10 +249,8 @@ async function listTranscodeJobs(ctx, instanceName) {
172
249
  const jobs = jobList._embedded.encoreJobs;
173
250
  if (jobList.page.totalPages > 1) {
174
251
  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
- }
252
+ const response = await fetch(new URL(`/encoreJobs?page=${page}`, endpointUrl), {
253
+ headers
179
254
  });
180
255
  if (!response.ok) {
181
256
  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.19.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": "d2a9a2b1eeb993d8fdc247c8e9920bc60445248b"
38
38
  }