@osaas/client-transcode 0.3.0 → 0.5.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/lib/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /** @module @osaas/client-transcode */
1
2
  export { QueuePool } from './pool';
2
3
  export { vmafCompare } from './vmaf';
4
+ export { createStreamingPackage } from './packager';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC"}
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"}
package/lib/index.js CHANGED
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.vmafCompare = exports.QueuePool = void 0;
3
+ exports.createStreamingPackage = exports.vmafCompare = exports.QueuePool = void 0;
4
+ /** @module @osaas/client-transcode */
4
5
  var pool_1 = require("./pool");
5
6
  Object.defineProperty(exports, "QueuePool", { enumerable: true, get: function () { return pool_1.QueuePool; } });
6
7
  var vmaf_1 = require("./vmaf");
7
8
  Object.defineProperty(exports, "vmafCompare", { enumerable: true, get: function () { return vmaf_1.vmafCompare; } });
9
+ var packager_1 = require("./packager");
10
+ Object.defineProperty(exports, "createStreamingPackage", { enumerable: true, get: function () { return packager_1.createStreamingPackage; } });
8
11
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA"}
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"}
@@ -0,0 +1,27 @@
1
+ /// <reference types="node" />
2
+ import { Context } from '@osaas/client-core';
3
+ /**
4
+ * Create a HLS and MPEG-DASH streaming package
5
+ *
6
+ * @async
7
+ * @memberof module:@osaas/client-transcode
8
+ * @param {Context} ctx - Open Source Cloud configuration context
9
+ * @param {URL} sourceBucket - URL to source bucket (supported protocols: s3)
10
+ * @param {string[]} videos - List of video files in source bucket
11
+ * @param {string} audio - Audio file in source bucket
12
+ * @param {URL} resultBucket - URL to bucket where streaming package will be stored (supported protocols: s3)
13
+ * @example
14
+ * import { Context } from '@osaas/client-core';
15
+ * import { createStreamingPackage } from '@osaas/client-transcode';
16
+ *
17
+ * const ctx = new Context();
18
+ * await createStreamingPackage(
19
+ * ctx,
20
+ * new URL('s3://video/abr'),
21
+ * ['video1080p.mp4', 'video720p.mp4', 'video360p.mp4'],
22
+ * 'audio.mp4',
23
+ * new URL('s3://video/streaming')
24
+ * );
25
+ */
26
+ export declare function createStreamingPackage(ctx: Context, sourceBucket: URL, videos: string[], audio: string, resultBucket: URL): Promise<void>;
27
+ //# sourceMappingURL=packager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packager.d.ts","sourceRoot":"","sources":["../src/packager.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAIR,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,GAAG,EACjB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,GAAG,iBAoClB"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createStreamingPackage = void 0;
4
+ const client_core_1 = require("@osaas/client-core");
5
+ /**
6
+ * Create a HLS and MPEG-DASH streaming package
7
+ *
8
+ * @async
9
+ * @memberof module:@osaas/client-transcode
10
+ * @param {Context} ctx - Open Source Cloud configuration context
11
+ * @param {URL} sourceBucket - URL to source bucket (supported protocols: s3)
12
+ * @param {string[]} videos - List of video files in source bucket
13
+ * @param {string} audio - Audio file in source bucket
14
+ * @param {URL} resultBucket - URL to bucket where streaming package will be stored (supported protocols: s3)
15
+ * @example
16
+ * import { Context } from '@osaas/client-core';
17
+ * import { createStreamingPackage } from '@osaas/client-transcode';
18
+ *
19
+ * const ctx = new Context();
20
+ * await createStreamingPackage(
21
+ * ctx,
22
+ * new URL('s3://video/abr'),
23
+ * ['video1080p.mp4', 'video720p.mp4', 'video360p.mp4'],
24
+ * 'audio.mp4',
25
+ * new URL('s3://video/streaming')
26
+ * );
27
+ */
28
+ async function createStreamingPackage(ctx, sourceBucket, videos, audio, resultBucket) {
29
+ const serviceAccessToken = await ctx.getServiceAccessToken('eyevinn-shaka-packager-s3');
30
+ if (!process.env.AWS_ACCESS_KEY_ID || !process.env.AWS_SECRET_ACCESS_KEY) {
31
+ throw new Error('AWS credentials not set');
32
+ }
33
+ const jobId = Math.random().toString(36).substring(7);
34
+ let idx = 1;
35
+ let inputArgs = `-i a:${idx}=${audio}`;
36
+ videos.forEach((video) => {
37
+ inputArgs += ` -i v:${idx++}=${video}`;
38
+ });
39
+ const cmdLineArgs = `${sourceBucket.toString()} ${resultBucket.toString()} ${inputArgs}`;
40
+ const job = await (0, client_core_1.createJob)(ctx, 'eyevinn-shaka-packager-s3', serviceAccessToken, {
41
+ name: jobId,
42
+ awsAccessKeyId: process.env.AWS_ACCESS_KEY_ID,
43
+ awsSecretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
44
+ cmdLineArgs
45
+ });
46
+ (0, client_core_1.Log)().debug(`Creating streaming package for ${videos.length} video(s) and 1 audio file`);
47
+ await (0, client_core_1.waitForJobToComplete)(ctx, 'eyevinn-shaka-packager-s3', job.name, serviceAccessToken);
48
+ (0, client_core_1.Log)().debug(`Streaming package ${job.name} created`);
49
+ }
50
+ exports.createStreamingPackage = createStreamingPackage;
51
+ //# sourceMappingURL=packager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packager.js","sourceRoot":"","sources":["../src/packager.ts"],"names":[],"mappings":";;;AAAA,oDAK4B;AAE5B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,KAAK,UAAU,sBAAsB,CAC1C,GAAY,EACZ,YAAiB,EACjB,MAAgB,EAChB,KAAa,EACb,YAAiB;IAEjB,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,qBAAqB,CACxD,2BAA2B,CAC5B,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE;QACxE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,SAAS,GAAG,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,SAAS,IAAI,SAAS,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,IAAI,YAAY,CAAC,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAC;IACzF,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAS,EACzB,GAAG,EACH,2BAA2B,EAC3B,kBAAkB,EAClB;QACE,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7C,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACrD,WAAW;KACZ,CACF,CAAC;IACF,IAAA,iBAAG,GAAE,CAAC,KAAK,CACT,kCAAkC,MAAM,CAAC,MAAM,4BAA4B,CAC5E,CAAC;IACF,MAAM,IAAA,kCAAoB,EACxB,GAAG,EACH,2BAA2B,EAC3B,GAAG,CAAC,IAAI,EACR,kBAAkB,CACnB,CAAC;IACF,IAAA,iBAAG,GAAE,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC;AACvD,CAAC;AAzCD,wDAyCC"}
package/lib/pool.d.ts CHANGED
@@ -1,7 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import { Context } from '@osaas/client-core';
3
+ export type TranscodeOptions = {
4
+ profile?: string;
5
+ duration?: number;
6
+ packageDestination?: URL;
7
+ };
3
8
  /**
4
9
  * Represents a pool of Encore queues (instances) in Open Source Cloud
10
+ * @memberof module:@osaas/client-transcode
5
11
  */
6
12
  export declare class QueuePool {
7
13
  private context;
@@ -14,12 +20,20 @@ export declare class QueuePool {
14
20
  * @property {Context} context - Open Source Cloud configuration context
15
21
  * @property {number} size - Number of queues in the pool
16
22
  */
23
+ /**
24
+ * @typedef TranscodeOptions
25
+ * @type object
26
+ * @property {string?} profile - Transcoding profile to use (default: program)
27
+ * @property {number?} duration - Duration in seconds (default: entire file)
28
+ * @property {URL?} packageDestination - If provided create a streaming package and store here
29
+ */
17
30
  /**
18
31
  * Creates a new Queue Pool
19
32
  * @constructor
20
33
  * @param {QueuePoolOptions} options - Queue Pool options
21
34
  * @example
22
35
  * import { Context } from '@osaas/client-core';
36
+ * import { QueuePool } from '@osaas/client-transcode';
23
37
  * const ctx = new Context();
24
38
  * // Create a new pool with 2 queues
25
39
  * const pool = new QueuePool({ context: ctx, size: 2 });
@@ -43,9 +57,22 @@ export declare class QueuePool {
43
57
  * await pool.destroy();
44
58
  */
45
59
  destroy(): Promise<void>;
46
- transcode(source: URL, destination: URL, { profile, duration }: {
47
- profile?: string;
48
- duration?: number;
49
- }): Promise<void>;
60
+ /**
61
+ * Transcodes a media file into an ABR bundle that is transferred to a destination
62
+ * @async
63
+ * @param {URL} source - Source URL of the media file (supported protocols: http, https)
64
+ * @param {URL} destination - Destination URL of the transcoded media files (supported protocols: s3)
65
+ * @param {TranscodeOptions} options - Transcode options
66
+ * @example
67
+ * const source = new URL('https://example.com/video.mp4');
68
+ * const destination = new URL('s3://mybucket/video/');
69
+ *
70
+ * // Transcode the first 10 seconds of the video
71
+ * await pool.transcode(source, destination, { duration: 10 });
72
+ *
73
+ * // Transcode the entire video and create a streaming package
74
+ * await pool.transcode(source, destination, { packageDestination: new URL('s3://mybucket/streaming/') });
75
+ */
76
+ transcode(source: URL, destination: URL, { profile, duration, packageDestination }: TranscodeOptions): Promise<void>;
50
77
  }
51
78
  //# sourceMappingURL=pool.d.ts.map
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;AAK5B;;GAEG;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;;;;;;;;;;OAUG;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;IASP,SAAS,CACpB,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,GAAG,EAChB,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;CA0DjE"}
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;CA2E9D"}
package/lib/pool.js CHANGED
@@ -7,8 +7,10 @@ exports.QueuePool = void 0;
7
7
  const client_core_1 = require("@osaas/client-core");
8
8
  const util_1 = require("./util");
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
+ const packager_1 = require("./packager");
10
11
  /**
11
12
  * Represents a pool of Encore queues (instances) in Open Source Cloud
13
+ * @memberof module:@osaas/client-transcode
12
14
  */
13
15
  class QueuePool {
14
16
  context;
@@ -21,12 +23,20 @@ class QueuePool {
21
23
  * @property {Context} context - Open Source Cloud configuration context
22
24
  * @property {number} size - Number of queues in the pool
23
25
  */
26
+ /**
27
+ * @typedef TranscodeOptions
28
+ * @type object
29
+ * @property {string?} profile - Transcoding profile to use (default: program)
30
+ * @property {number?} duration - Duration in seconds (default: entire file)
31
+ * @property {URL?} packageDestination - If provided create a streaming package and store here
32
+ */
24
33
  /**
25
34
  * Creates a new Queue Pool
26
35
  * @constructor
27
36
  * @param {QueuePoolOptions} options - Queue Pool options
28
37
  * @example
29
38
  * import { Context } from '@osaas/client-core';
39
+ * import { QueuePool } from '@osaas/client-transcode';
30
40
  * const ctx = new Context();
31
41
  * // Create a new pool with 2 queues
32
42
  * const pool = new QueuePool({ context: ctx, size: 2 });
@@ -81,7 +91,23 @@ class QueuePool {
81
91
  await (0, client_core_1.removeInstance)(this.context, 'encore', instance, this.token);
82
92
  }
83
93
  }
84
- async transcode(source, destination, { profile, duration }) {
94
+ /**
95
+ * Transcodes a media file into an ABR bundle that is transferred to a destination
96
+ * @async
97
+ * @param {URL} source - Source URL of the media file (supported protocols: http, https)
98
+ * @param {URL} destination - Destination URL of the transcoded media files (supported protocols: s3)
99
+ * @param {TranscodeOptions} options - Transcode options
100
+ * @example
101
+ * const source = new URL('https://example.com/video.mp4');
102
+ * const destination = new URL('s3://mybucket/video/');
103
+ *
104
+ * // Transcode the first 10 seconds of the video
105
+ * await pool.transcode(source, destination, { duration: 10 });
106
+ *
107
+ * // Transcode the entire video and create a streaming package
108
+ * await pool.transcode(source, destination, { packageDestination: new URL('s3://mybucket/streaming/') });
109
+ */
110
+ async transcode(source, destination, { profile, duration, packageDestination }) {
85
111
  if (!this.token) {
86
112
  throw new Error('Pool not initialized');
87
113
  }
@@ -117,6 +143,17 @@ class QueuePool {
117
143
  const outputFiles = job.output.filter((file) => file.type === 'VideoFile' || file.type === 'AudioFile');
118
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 || ''));
119
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);
155
+ }
156
+ }
120
157
  }
121
158
  }
122
159
  exports.QueuePool = QueuePool;
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/lib/vmaf.d.ts CHANGED
@@ -1,4 +1,24 @@
1
1
  /// <reference types="node" />
2
2
  import { Context } from '@osaas/client-core';
3
+ /**
4
+ * Compare two video files using VMAF
5
+ *
6
+ * @async
7
+ * @memberof module:@osaas/client-transcode
8
+ * @param {Context} ctx - Open Source Cloud configuration context
9
+ * @param {URL} reference - URL to reference video file (supported protocols: s3)
10
+ * @param {URL} distorted - URL to distorted video file (supported protocols: s3)
11
+ * @param {URL} resultBucket - URL to S3 bucket where result file will be stored
12
+ * @returns S3 URL to result file
13
+ * @example
14
+ * import { Context } from '@osaas/client-core';
15
+ * import { vmafCompare } from '@osaas/client-transcode';
16
+ *
17
+ * const ctx = new Context();
18
+ * const reference = new URL('s3://video/reference.mp4');
19
+ * const distorted = new URL('s3://video/distorted.mp4');
20
+ * const resultBucket = new URL('s3://video/results');
21
+ * const resultFile = await vmafCompare(ctx, reference, distorted, resultBucket);
22
+ */
3
23
  export declare function vmafCompare(ctx: Context, reference: URL, distorted: URL, resultBucket: URL): Promise<URL>;
4
24
  //# sourceMappingURL=vmaf.d.ts.map
package/lib/vmaf.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vmaf.d.ts","sourceRoot":"","sources":["../src/vmaf.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAIR,MAAM,oBAAoB,CAAC;AAG5B,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,GAAG,EACd,YAAY,EAAE,GAAG,GAChB,OAAO,CAAC,GAAG,CAAC,CA6Bd"}
1
+ {"version":3,"file":"vmaf.d.ts","sourceRoot":"","sources":["../src/vmaf.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAIR,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,GAAG,EACd,YAAY,EAAE,GAAG,GAChB,OAAO,CAAC,GAAG,CAAC,CA6Bd"}
package/lib/vmaf.js CHANGED
@@ -6,6 +6,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.vmafCompare = void 0;
7
7
  const client_core_1 = require("@osaas/client-core");
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
+ /**
10
+ * Compare two video files using VMAF
11
+ *
12
+ * @async
13
+ * @memberof module:@osaas/client-transcode
14
+ * @param {Context} ctx - Open Source Cloud configuration context
15
+ * @param {URL} reference - URL to reference video file (supported protocols: s3)
16
+ * @param {URL} distorted - URL to distorted video file (supported protocols: s3)
17
+ * @param {URL} resultBucket - URL to S3 bucket where result file will be stored
18
+ * @returns S3 URL to result file
19
+ * @example
20
+ * import { Context } from '@osaas/client-core';
21
+ * import { vmafCompare } from '@osaas/client-transcode';
22
+ *
23
+ * const ctx = new Context();
24
+ * const reference = new URL('s3://video/reference.mp4');
25
+ * const distorted = new URL('s3://video/distorted.mp4');
26
+ * const resultBucket = new URL('s3://video/results');
27
+ * const resultFile = await vmafCompare(ctx, reference, distorted, resultBucket);
28
+ */
9
29
  async function vmafCompare(ctx, reference, distorted, resultBucket) {
10
30
  const serviceAccessToken = await ctx.getServiceAccessToken('eyevinn-easyvmaf-s3');
11
31
  const jobId = Math.random().toString(36).substring(7);
package/lib/vmaf.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vmaf.js","sourceRoot":"","sources":["../src/vmaf.ts"],"names":[],"mappings":";;;;;;AAAA,oDAK4B;AAC5B,0DAA6B;AAEtB,KAAK,UAAU,WAAW,CAC/B,GAAY,EACZ,SAAc,EACd,SAAc,EACd,YAAiB;IAEjB,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,qBAAqB,CACxD,qBAAqB,CACtB,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,GAAG,YAAY;SAC/B,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,mBAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;IAE3E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE;QACxE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAS,EAAC,GAAG,EAAE,qBAAqB,EAAE,kBAAkB,EAAE;QAC1E,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7C,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACrD,WAAW,EAAE,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,OAAO,UAAU,EAAE;KACtF,CAAC,CAAC;IACH,IAAA,iBAAG,GAAE,CAAC,KAAK,CACT,kBAAkB,SAAS,CAAC,QAAQ,EAAE,SAAS,SAAS,CAAC,QAAQ,EAAE,EAAE,CACtE,CAAC;IACF,MAAM,IAAA,kCAAoB,EACxB,GAAG,EACH,qBAAqB,EACrB,GAAG,CAAC,IAAI,EACR,kBAAkB,CACnB,CAAC;IACF,IAAA,iBAAG,GAAE,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC;IACrD,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC;AAlCD,kCAkCC"}
1
+ {"version":3,"file":"vmaf.js","sourceRoot":"","sources":["../src/vmaf.ts"],"names":[],"mappings":";;;;;;AAAA,oDAK4B;AAC5B,0DAA6B;AAE7B;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,UAAU,WAAW,CAC/B,GAAY,EACZ,SAAc,EACd,SAAc,EACd,YAAiB;IAEjB,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,qBAAqB,CACxD,qBAAqB,CACtB,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,GAAG,YAAY;SAC/B,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,mBAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;IAE3E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE;QACxE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAS,EAAC,GAAG,EAAE,qBAAqB,EAAE,kBAAkB,EAAE;QAC1E,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7C,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACrD,WAAW,EAAE,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,SAAS,CAAC,QAAQ,EAAE,OAAO,UAAU,EAAE;KACtF,CAAC,CAAC;IACH,IAAA,iBAAG,GAAE,CAAC,KAAK,CACT,kBAAkB,SAAS,CAAC,QAAQ,EAAE,SAAS,SAAS,CAAC,QAAQ,EAAE,EAAE,CACtE,CAAC;IACF,MAAM,IAAA,kCAAoB,EACxB,GAAG,EACH,qBAAqB,EACrB,GAAG,CAAC,IAAI,EACR,kBAAkB,CACnB,CAAC;IACF,IAAA,iBAAG,GAAE,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC;IACrD,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC;AAlCD,kCAkCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osaas/client-transcode",
3
- "version": "0.3.0",
3
+ "version": "0.5.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",
@@ -22,15 +22,14 @@
22
22
  "lint": "eslint .",
23
23
  "pretty": "prettier --check --ignore-unknown .",
24
24
  "typecheck": "tsc --noEmit -p tsconfig.json",
25
- "test": "jest --passWithNoTests",
26
- "build:doc": "npm run build && jsdoc -r -R ./README.md -d docs lib/"
25
+ "test": "jest --passWithNoTests"
27
26
  },
28
27
  "dependencies": {
29
- "@osaas/client-core": "^0.5.0",
28
+ "@osaas/client-core": "^0.6.0",
30
29
  "chalk": "4.1.2"
31
30
  },
32
31
  "publishConfig": {
33
32
  "access": "public"
34
33
  },
35
- "gitHead": "b4832cc5efef3522a8797ee20b49a77c4f8384a9"
34
+ "gitHead": "0d54f545a51a26df68290fc3a3bcfce2ce2851aa"
36
35
  }