@osaas/client-transcode 0.4.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,4 @@
1
+ /** @module @osaas/client-transcode */
1
2
  export { QueuePool } from './pool';
2
3
  export { vmafCompare } from './vmaf';
3
4
  export { createStreamingPackage } from './packager';
@@ -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;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,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,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
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");
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;AACpB,uCAAoD;AAA3C,kHAAA,sBAAsB,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"}
package/lib/packager.d.ts CHANGED
@@ -1,4 +1,27 @@
1
1
  /// <reference types="node" />
2
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
+ */
3
26
  export declare function createStreamingPackage(ctx: Context, sourceBucket: URL, videos: string[], audio: string, resultBucket: URL): Promise<void>;
4
27
  //# sourceMappingURL=packager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packager.d.ts","sourceRoot":"","sources":["../src/packager.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAIR,MAAM,oBAAoB,CAAC;AAE5B,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,GAAG,EACjB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,GAAG,iBAoClB"}
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"}
package/lib/packager.js CHANGED
@@ -2,6 +2,29 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createStreamingPackage = void 0;
4
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
+ */
5
28
  async function createStreamingPackage(ctx, sourceBucket, videos, audio, resultBucket) {
6
29
  const serviceAccessToken = await ctx.getServiceAccessToken('eyevinn-shaka-packager-s3');
7
30
  if (!process.env.AWS_ACCESS_KEY_ID || !process.env.AWS_SECRET_ACCESS_KEY) {
@@ -1 +1 @@
1
- {"version":3,"file":"packager.js","sourceRoot":"","sources":["../src/packager.ts"],"names":[],"mappings":";;;AAAA,oDAK4B;AAErB,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"}
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,6 +20,13 @@ 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
@@ -44,12 +57,6 @@ export declare class QueuePool {
44
57
  * await pool.destroy();
45
58
  */
46
59
  destroy(): Promise<void>;
47
- /**
48
- * @typedef TranscodeOptions
49
- * @type object
50
- * @property {string?} profile - Transcoding profile to use (default: program)
51
- * @property {number?} duration - Duration in seconds (default: entire file)
52
- */
53
60
  /**
54
61
  * Transcodes a media file into an ABR bundle that is transferred to a destination
55
62
  * @async
@@ -62,10 +69,10 @@ export declare class QueuePool {
62
69
  *
63
70
  * // Transcode the first 10 seconds of the video
64
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/') });
65
75
  */
66
- transcode(source: URL, destination: URL, { profile, duration }: {
67
- profile?: string;
68
- duration?: number;
69
- }): Promise<void>;
76
+ transcode(source: URL, destination: URL, { profile, duration, packageDestination }: TranscodeOptions): Promise<void>;
70
77
  }
71
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;;;;;;;;;;;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;;;;;OAKG;IAEH;;;;;;;;;;;;OAYG;IACU,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,6 +23,13 @@ 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
@@ -82,12 +91,6 @@ class QueuePool {
82
91
  await (0, client_core_1.removeInstance)(this.context, 'encore', instance, this.token);
83
92
  }
84
93
  }
85
- /**
86
- * @typedef TranscodeOptions
87
- * @type object
88
- * @property {string?} profile - Transcoding profile to use (default: program)
89
- * @property {number?} duration - Duration in seconds (default: entire file)
90
- */
91
94
  /**
92
95
  * Transcodes a media file into an ABR bundle that is transferred to a destination
93
96
  * @async
@@ -100,8 +103,11 @@ class QueuePool {
100
103
  *
101
104
  * // Transcode the first 10 seconds of the video
102
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/') });
103
109
  */
104
- async transcode(source, destination, { profile, duration }) {
110
+ async transcode(source, destination, { profile, duration, packageDestination }) {
105
111
  if (!this.token) {
106
112
  throw new Error('Pool not initialized');
107
113
  }
@@ -137,6 +143,17 @@ class QueuePool {
137
143
  const outputFiles = job.output.filter((file) => file.type === 'VideoFile' || file.type === 'AudioFile');
138
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 || ''));
139
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
+ }
140
157
  }
141
158
  }
142
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
@@ -3,6 +3,8 @@ import { Context } from '@osaas/client-core';
3
3
  /**
4
4
  * Compare two video files using VMAF
5
5
  *
6
+ * @async
7
+ * @memberof module:@osaas/client-transcode
6
8
  * @param {Context} ctx - Open Source Cloud configuration context
7
9
  * @param {URL} reference - URL to reference video file (supported protocols: s3)
8
10
  * @param {URL} distorted - URL to distorted video file (supported protocols: s3)
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;;;;;;;;;;;;;;;;;GAiBG;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"}
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
@@ -9,6 +9,8 @@ const node_path_1 = __importDefault(require("node:path"));
9
9
  /**
10
10
  * Compare two video files using VMAF
11
11
  *
12
+ * @async
13
+ * @memberof module:@osaas/client-transcode
12
14
  * @param {Context} ctx - Open Source Cloud configuration context
13
15
  * @param {URL} reference - URL to reference video file (supported protocols: s3)
14
16
  * @param {URL} distorted - URL to distorted video file (supported protocols: s3)
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;AAE7B;;;;;;;;;;;;;;;;;GAiBG;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"}
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.4.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",
@@ -25,11 +25,11 @@
25
25
  "test": "jest --passWithNoTests"
26
26
  },
27
27
  "dependencies": {
28
- "@osaas/client-core": "^0.5.1",
28
+ "@osaas/client-core": "^0.6.0",
29
29
  "chalk": "4.1.2"
30
30
  },
31
31
  "publishConfig": {
32
32
  "access": "public"
33
33
  },
34
- "gitHead": "1cd9bcf9e53033687345cbffa58d61853ade3a1f"
34
+ "gitHead": "0d54f545a51a26df68290fc3a3bcfce2ce2851aa"
35
35
  }