@rendley/sdk 1.8.3 → 1.9.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/LICENSE CHANGED
@@ -1,48 +1,48 @@
1
- Proprietary License Agreement
2
-
3
- 1. Grant of License
4
- Onix Technologies ("Licensor") hereby grants you ("Licensee") a non-exclusive, non-transferable, limited license to use the Rendley SDK ("Software") solely for the purpose of developing and integrating applications in accordance with the terms of this Agreement.
5
-
6
- 2. Restrictions
7
-
8
- Licensee shall not:
9
-
10
- 1. Modify, adapt, translate, or create derivative works of the Software without prior written consent from Licensor.
11
- 2. Reverse engineer, decompile, disassemble, or otherwise attempt to discover the source code of the Software.
12
- 3. Redistribute, sublicense, rent, lease, or lend the Software to any third party.
13
- 4. Use the Software for any purpose that is illegal or prohibited by law.
14
-
15
- 5. Intellectual Property Rights
16
-
17
- The Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. All title, ownership rights, and intellectual property rights in and to the Software and all copies thereof are owned by Licensor.
18
-
19
- 4. Fees and Payment
20
- Licensee agrees to pay the license fees and any other charges incurred in connection with the use of the Software as specified in the order form or purchase agreement. All payments are non-refundable.
21
-
22
- 5. Support and Updates
23
- Licensor may, at its sole discretion, provide updates, enhancements, or modifications to the Software. Licensor is not obligated to provide any support services, updates, or enhancements unless a separate support agreement is entered into.
24
-
25
- 6. Termination
26
- This Agreement is effective until terminated. Licensee may terminate this Agreement at any time by destroying all copies of the Software in their possession. Licensor may terminate this Agreement if Licensee breaches any of the terms and conditions. Upon termination, Licensee must destroy all copies of the Software.
27
-
28
- 7. Disclaimer of Warranties
29
- THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. LICENSOR DOES NOT WARRANT THAT THE SOFTWARE WILL MEET LICENSEE'S REQUIREMENTS OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE.
30
-
31
- 8. Limitation of Liability
32
- IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA, OR USE, INCURRED BY LICENSEE OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, ARISING FROM LICENSEE'S ACCESS TO, OR USE OF, THE SOFTWARE.
33
-
34
- 9. Governing Law
35
- This Agreement shall be governed by and construed in accordance with the laws of Moldova, without regard to its conflict of laws principles.
36
-
37
- 10. Entire Agreement
38
- This Agreement constitutes the entire agreement between the parties with respect to the use of the Software and supersedes all prior or contemporaneous understandings regarding such subject matter. Any modifications to this Agreement must be in writing and signed by both parties.
39
-
40
- 11. Severability
41
- If any provision of this Agreement is held to be invalid or unenforceable, the remaining provisions will continue in full force and effect.
42
-
43
- 12. No Waiver
44
- The failure of either party to enforce any right or provision of this Agreement will not be deemed a waiver of such right or provision.
45
-
46
- Onix Technologies
47
- Chisinau, MD-2072
48
- Moldova
1
+ Proprietary License Agreement
2
+
3
+ 1. Grant of License
4
+ Onix Technologies ("Licensor") hereby grants you ("Licensee") a non-exclusive, non-transferable, limited license to use the Rendley SDK ("Software") solely for the purpose of developing and integrating applications in accordance with the terms of this Agreement.
5
+
6
+ 2. Restrictions
7
+
8
+ Licensee shall not:
9
+
10
+ 1. Modify, adapt, translate, or create derivative works of the Software without prior written consent from Licensor.
11
+ 2. Reverse engineer, decompile, disassemble, or otherwise attempt to discover the source code of the Software.
12
+ 3. Redistribute, sublicense, rent, lease, or lend the Software to any third party.
13
+ 4. Use the Software for any purpose that is illegal or prohibited by law.
14
+
15
+ 5. Intellectual Property Rights
16
+
17
+ The Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. All title, ownership rights, and intellectual property rights in and to the Software and all copies thereof are owned by Licensor.
18
+
19
+ 4. Fees and Payment
20
+ Licensee agrees to pay the license fees and any other charges incurred in connection with the use of the Software as specified in the order form or purchase agreement. All payments are non-refundable.
21
+
22
+ 5. Support and Updates
23
+ Licensor may, at its sole discretion, provide updates, enhancements, or modifications to the Software. Licensor is not obligated to provide any support services, updates, or enhancements unless a separate support agreement is entered into.
24
+
25
+ 6. Termination
26
+ This Agreement is effective until terminated. Licensee may terminate this Agreement at any time by destroying all copies of the Software in their possession. Licensor may terminate this Agreement if Licensee breaches any of the terms and conditions. Upon termination, Licensee must destroy all copies of the Software.
27
+
28
+ 7. Disclaimer of Warranties
29
+ THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. LICENSOR DOES NOT WARRANT THAT THE SOFTWARE WILL MEET LICENSEE'S REQUIREMENTS OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE.
30
+
31
+ 8. Limitation of Liability
32
+ IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA, OR USE, INCURRED BY LICENSEE OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, ARISING FROM LICENSEE'S ACCESS TO, OR USE OF, THE SOFTWARE.
33
+
34
+ 9. Governing Law
35
+ This Agreement shall be governed by and construed in accordance with the laws of Moldova, without regard to its conflict of laws principles.
36
+
37
+ 10. Entire Agreement
38
+ This Agreement constitutes the entire agreement between the parties with respect to the use of the Software and supersedes all prior or contemporaneous understandings regarding such subject matter. Any modifications to this Agreement must be in writing and signed by both parties.
39
+
40
+ 11. Severability
41
+ If any provision of this Agreement is held to be invalid or unenforceable, the remaining provisions will continue in full force and effect.
42
+
43
+ 12. No Waiver
44
+ The failure of either party to enforce any right or provision of this Agreement will not be deemed a waiver of such right or provision.
45
+
46
+ Onix Technologies
47
+ Chisinau, MD-2072
48
+ Moldova
package/README.md CHANGED
@@ -1,40 +1,40 @@
1
- # Rendley SDK
2
-
3
- Rendley SDK takes the complexity out of video editing by providing a comprehensive set of APIs that handle composition, effects, filters, playback, rendering, splitting, trimming, and more.
4
-
5
- To achieve maximum performance, we leverage WebGL for rendering and WebCodecs API for hardware-accelerated encoding and decoding. For browsers that don't support [WebCodecs API](https://caniuse.com/?search=webcodecs), we seamlessly fallback to a browser-based version of FFmpeg.
6
-
7
- ## Installation
8
-
9
- ### Prerequisites
10
-
11
- To use Rendley SDK, ensure that your website includes the following headers to enable [SharedArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) functionality:
12
-
13
- ```
14
- Cross-Origin-Embedder-Policy: credentialless
15
- Cross-Origin-Opener-Policy: same-origin
16
- ```
17
-
18
- ### Using the NPM Registry
19
-
20
- The installation process is straightforward. Simply run one of the followin
21
-
22
- ```bash
23
- npm install @rendley/sdk
24
- ```
25
-
26
- or
27
-
28
- ```bash
29
- yarn add @rendley/sdk
30
- ```
31
-
32
- The package includes type definitions, so you don't need to worry about setting those up separately.
33
-
34
- ## Getting Started
35
-
36
- Check out the [documentation](https://docs.rendley.com) to learn more about how to get started creating compositions and building your own video editing software.
37
-
38
- ## Templates
39
-
40
- To further simplify the process, we have [pre-built interfaces](https://docs.rendley.com/video-editor) that allow you to embed our video editing capabilities onto your website with just a few lines of code.
1
+ # Rendley SDK
2
+
3
+ Rendley SDK takes the complexity out of video editing by providing a comprehensive set of APIs that handle composition, effects, filters, playback, rendering, splitting, trimming, and more.
4
+
5
+ To achieve maximum performance, we leverage WebGL for rendering and WebCodecs API for hardware-accelerated encoding and decoding. For browsers that don't support [WebCodecs API](https://caniuse.com/?search=webcodecs), we seamlessly fallback to a browser-based version of FFmpeg.
6
+
7
+ ## Installation
8
+
9
+ ### Prerequisites
10
+
11
+ To use Rendley SDK, ensure that your website includes the following headers to enable [SharedArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) functionality:
12
+
13
+ ```
14
+ Cross-Origin-Embedder-Policy: credentialless
15
+ Cross-Origin-Opener-Policy: same-origin
16
+ ```
17
+
18
+ ### Using the NPM Registry
19
+
20
+ The installation process is straightforward. Simply run one of the followin
21
+
22
+ ```bash
23
+ npm install @rendley/sdk
24
+ ```
25
+
26
+ or
27
+
28
+ ```bash
29
+ yarn add @rendley/sdk
30
+ ```
31
+
32
+ The package includes type definitions, so you don't need to worry about setting those up separately.
33
+
34
+ ## Getting Started
35
+
36
+ Check out the [documentation](https://docs.rendley.com) to learn more about how to get started creating compositions and building your own video editing software.
37
+
38
+ ## Templates
39
+
40
+ To further simplify the process, we have [pre-built interfaces](https://docs.rendley.com/video-editor) that allow you to embed our video editing capabilities onto your website with just a few lines of code.
package/dist/Engine.d.ts CHANGED
@@ -4,7 +4,7 @@ import { Display, DisplayOptions } from "./modules/display/Display";
4
4
  import { EventEmitter } from "./modules/event-emitter";
5
5
  import { FontRegistry } from "./modules/font-registry";
6
6
  import { Library } from "./modules/library";
7
- import { Settings } from "./modules/settings";
7
+ import { Settings, VideoCodec } from "./modules/settings";
8
8
  import { StorageProviderBase } from "./modules/storage";
9
9
  import { StorageController } from "./modules/storage/StorageController";
10
10
  import { SubtitlesManager } from "./modules/subtitles";
@@ -44,20 +44,23 @@ type CustomClipConstructor<T extends CustomClip = CustomClip> = {
44
44
  };
45
45
  export declare class Engine {
46
46
  private static instance?;
47
+ static readonly currentVersion = "0.1.2";
48
+ static projectVersion: string;
47
49
  private display;
48
50
  private timeline;
49
51
  private library;
50
- private fontRegistry;
52
+ private readonly fontRegistry;
51
53
  private subtitlesManager;
52
- private undoManager;
53
- private storageController;
54
+ private readonly undoManager;
55
+ private readonly storageController;
54
56
  private settings;
55
57
  readonly events: EventEmitter;
56
58
  private initialized;
57
- private rendering;
58
59
  private license?;
59
60
  private projectId;
60
61
  private isDestroying;
62
+ private createdAt;
63
+ private readonly renderer;
61
64
  private constructor();
62
65
  static getInstance(): Engine;
63
66
  hasInstance(): boolean;
@@ -76,7 +79,6 @@ export declare class Engine {
76
79
  getStorageController(): StorageController;
77
80
  isInitialized(): boolean;
78
81
  isRendering(): boolean;
79
- private generateMix;
80
82
  export(payload?: ExportOptions): Promise<ExportResult | null>;
81
83
  play(): Promise<void>;
82
84
  pause(): Promise<void>;
@@ -84,7 +86,7 @@ export declare class Engine {
84
86
  seek(value: number): Promise<void>;
85
87
  getRenderer(): import("./modules/display/renderer/PixiRenderer").PixiRenderer;
86
88
  getRendererStage(): PIXI.Container<PIXI.DisplayObject> | null;
87
- getClipById(clipId: string): import("./modules/clip").Clip<PIXI.Sprite, import("./modules/clip").ClipStyle<PIXI.Sprite>> | undefined;
89
+ getClipById(clipId: string): import(".").Clip<PIXI.Sprite, import(".").ClipStyle<PIXI.Sprite>> | undefined;
88
90
  getClipsIdsForPoint(x: number, y: number): null;
89
91
  setSubtitles(subtitlesId: string, offset: number): void;
90
92
  shouldSplitAudio(): boolean;
@@ -144,46 +146,63 @@ export declare class Engine {
144
146
  }[];
145
147
  };
146
148
  version?: string | undefined;
149
+ createdAt?: number | undefined;
147
150
  projectId?: string | undefined;
148
151
  subtitlesManager?: {
149
- textMode: "full" | "partial";
152
+ scale: number;
153
+ textMode: "partial" | "full";
150
154
  highlightAnimation: import("./modules/subtitles").HighlightAnimationEnum;
151
155
  highlightAnimationSpeed: number;
152
156
  mainTextStyle: {
153
157
  color: string;
158
+ strokeColor: string;
154
159
  fontSize: number;
155
160
  fontWeight: "bold" | "normal" | "bolder" | "lighter" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900";
156
161
  fontFamily: string;
157
162
  fontStyle: "normal" | "italic" | "oblique";
158
163
  backgroundColor: string;
159
- backgroundPadding: number;
160
- backgroundCornerRadius: number;
161
164
  strokeThickness: number;
162
- strokeColor: string;
163
- padding: number;
164
165
  wordWrapWidth: number;
166
+ padding: number;
165
167
  wordWrap: boolean;
168
+ backgroundPadding: number;
169
+ backgroundCornerRadius: number;
166
170
  leading: number;
167
171
  };
168
172
  highlightTextStyle: {
169
173
  color: string;
174
+ strokeColor: string;
170
175
  fontSize: number;
171
176
  fontWeight: "bold" | "normal" | "bolder" | "lighter" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900";
172
177
  fontFamily: string;
173
178
  fontStyle: "normal" | "italic" | "oblique";
174
179
  backgroundColor: string;
175
- backgroundPadding: number;
176
- backgroundCornerRadius: number;
177
180
  strokeThickness: number;
178
- strokeColor: string;
179
181
  padding: number;
182
+ backgroundPadding: number;
183
+ backgroundCornerRadius: number;
180
184
  };
185
+ position?: [number, number] | undefined;
181
186
  } | undefined;
182
187
  settings?: {
183
188
  decoderPreferredAcceleration: import("./modules/settings").PreferredAcceleration;
184
189
  encoderPreferredAcceleration: import("./modules/settings").PreferredAcceleration;
185
190
  m3u8MaxResolution: [number, number];
186
- showRenderPreview: boolean;
191
+ renderShowPreview: boolean;
192
+ renderMaxQueueSize: number;
193
+ renderThrottleFactor: number;
194
+ encoderCodec: VideoCodec;
195
+ encoderUseWebCodecs: boolean;
196
+ encoderUseAlpha: boolean;
197
+ encoderBitrate: number;
198
+ encoderBitrateMode: import("./modules/settings").BitrateMode;
199
+ encoderPerformanceMode: import("./modules/settings").PerformanceMode;
200
+ encoderDeadline: number;
201
+ encoderCrf: number;
202
+ encoderForcedCodecRFCString: string;
203
+ subtitlesScaleOnResize: boolean;
204
+ subtitlesAutoWrapOnResize: boolean;
205
+ viewAutoLayoutOnResize: import("./modules/settings").AutoLayoutMode;
187
206
  } | undefined;
188
207
  };
189
208
  static deserialize(data: object): Promise<Engine | undefined>;