@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 +48 -48
- package/README.md +40 -40
- package/dist/Engine.d.ts +35 -16
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/libs/ffmpeg/classes.d.ts +1 -1
- package/dist/modules/clip/Clip.d.ts +10 -6
- package/dist/modules/clip/clips/audio/AudioClip.d.ts +2 -2
- package/dist/modules/clip/clips/custom/CustomClip.d.ts +2 -2
- package/dist/modules/clip/clips/htmlText/HtmlTextClip.d.ts +11 -11
- package/dist/modules/clip/clips/lottie/LottieClip.d.ts +2 -2
- package/dist/modules/clip/clips/shape/ShapeClip.d.ts +2 -2
- package/dist/modules/clip/clips/shape/ShapeStyle.d.ts +1 -1
- package/dist/modules/clip/clips/subtitles/SubtitlesClip.d.ts +4 -0
- package/dist/modules/clip/clips/text/TextClip.d.ts +2 -2
- package/dist/modules/clip/clips/text/TextStyle.d.ts +8 -8
- package/dist/modules/clip/clips/video/VideoClip.d.ts +2 -2
- package/dist/modules/display/Display.d.ts +1 -1
- package/dist/modules/event-emitter/types/EventEmitter.types.d.ts +10 -0
- package/dist/modules/filter/MaskFilter.d.ts +1 -1
- package/dist/modules/renderer/Renderer.d.ts +15 -0
- package/dist/modules/renderer/index.d.ts +2 -0
- package/dist/modules/renderer/types/Renderer.types.d.ts +14 -0
- package/dist/modules/settings/Settings.d.ts +84 -7
- package/dist/modules/storage/StorageProviderBase.d.ts +1 -0
- package/dist/modules/subtitles/SubtitleManager.d.ts +130 -69
- package/dist/modules/undo/UndoManager.types.d.ts +10 -0
- package/package.json +81 -81
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("
|
|
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
|
-
|
|
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
|
-
|
|
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>;
|