diff options
author | Chocobozzz <me@florianbigard.com> | 2022-02-11 10:51:33 +0100 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2022-02-28 10:42:19 +0100 |
commit | c729caf6cc34630877a0e5a1bda1719384cd0c8a (patch) | |
tree | 1d2e13722e518c73d2c9e6f0969615e29d51cf8c /shared/models/videos | |
parent | a24bf4dc659cebb65d887862bf21d7a35e9ec791 (diff) | |
download | PeerTube-c729caf6cc34630877a0e5a1bda1719384cd0c8a.tar.gz PeerTube-c729caf6cc34630877a0e5a1bda1719384cd0c8a.tar.zst PeerTube-c729caf6cc34630877a0e5a1bda1719384cd0c8a.zip |
Add basic video editor support
Diffstat (limited to 'shared/models/videos')
-rw-r--r-- | shared/models/videos/editor/index.ts | 1 | ||||
-rw-r--r-- | shared/models/videos/editor/video-editor-create-edit.model.ts | 42 | ||||
-rw-r--r-- | shared/models/videos/index.ts | 1 | ||||
-rw-r--r-- | shared/models/videos/transcoding/video-transcoding-fps.model.ts | 1 | ||||
-rw-r--r-- | shared/models/videos/transcoding/video-transcoding.model.ts | 7 | ||||
-rw-r--r-- | shared/models/videos/video-state.enum.ts | 3 |
6 files changed, 52 insertions, 3 deletions
diff --git a/shared/models/videos/editor/index.ts b/shared/models/videos/editor/index.ts new file mode 100644 index 000000000..3436f2c3f --- /dev/null +++ b/shared/models/videos/editor/index.ts | |||
@@ -0,0 +1 @@ | |||
export * from './video-editor-create-edit.model' | |||
diff --git a/shared/models/videos/editor/video-editor-create-edit.model.ts b/shared/models/videos/editor/video-editor-create-edit.model.ts new file mode 100644 index 000000000..36b7c8d55 --- /dev/null +++ b/shared/models/videos/editor/video-editor-create-edit.model.ts | |||
@@ -0,0 +1,42 @@ | |||
1 | export interface VideoEditorCreateEdition { | ||
2 | tasks: VideoEditorTask[] | ||
3 | } | ||
4 | |||
5 | export type VideoEditorTask = | ||
6 | VideoEditorTaskCut | | ||
7 | VideoEditorTaskIntro | | ||
8 | VideoEditorTaskOutro | | ||
9 | VideoEditorTaskWatermark | ||
10 | |||
11 | export interface VideoEditorTaskCut { | ||
12 | name: 'cut' | ||
13 | |||
14 | options: { | ||
15 | start?: number | ||
16 | end?: number | ||
17 | } | ||
18 | } | ||
19 | |||
20 | export interface VideoEditorTaskIntro { | ||
21 | name: 'add-intro' | ||
22 | |||
23 | options: { | ||
24 | file: Blob | string | ||
25 | } | ||
26 | } | ||
27 | |||
28 | export interface VideoEditorTaskOutro { | ||
29 | name: 'add-outro' | ||
30 | |||
31 | options: { | ||
32 | file: Blob | string | ||
33 | } | ||
34 | } | ||
35 | |||
36 | export interface VideoEditorTaskWatermark { | ||
37 | name: 'add-watermark' | ||
38 | |||
39 | options: { | ||
40 | file: Blob | string | ||
41 | } | ||
42 | } | ||
diff --git a/shared/models/videos/index.ts b/shared/models/videos/index.ts index 67614efc9..e8eb227ab 100644 --- a/shared/models/videos/index.ts +++ b/shared/models/videos/index.ts | |||
@@ -3,6 +3,7 @@ export * from './caption' | |||
3 | export * from './change-ownership' | 3 | export * from './change-ownership' |
4 | export * from './channel' | 4 | export * from './channel' |
5 | export * from './comment' | 5 | export * from './comment' |
6 | export * from './editor' | ||
6 | export * from './live' | 7 | export * from './live' |
7 | export * from './file' | 8 | export * from './file' |
8 | export * from './import' | 9 | export * from './import' |
diff --git a/shared/models/videos/transcoding/video-transcoding-fps.model.ts b/shared/models/videos/transcoding/video-transcoding-fps.model.ts index 25fc1c2da..9a330ac94 100644 --- a/shared/models/videos/transcoding/video-transcoding-fps.model.ts +++ b/shared/models/videos/transcoding/video-transcoding-fps.model.ts | |||
@@ -2,6 +2,7 @@ export type VideoTranscodingFPS = { | |||
2 | MIN: number | 2 | MIN: number |
3 | STANDARD: number[] | 3 | STANDARD: number[] |
4 | HD_STANDARD: number[] | 4 | HD_STANDARD: number[] |
5 | AUDIO_MERGE: number | ||
5 | AVERAGE: number | 6 | AVERAGE: number |
6 | MAX: number | 7 | MAX: number |
7 | KEEP_ORIGIN_FPS_RESOLUTION_MIN: number | 8 | KEEP_ORIGIN_FPS_RESOLUTION_MIN: number |
diff --git a/shared/models/videos/transcoding/video-transcoding.model.ts b/shared/models/videos/transcoding/video-transcoding.model.ts index 3a7fb6472..91eacf8dc 100644 --- a/shared/models/videos/transcoding/video-transcoding.model.ts +++ b/shared/models/videos/transcoding/video-transcoding.model.ts | |||
@@ -7,8 +7,11 @@ export type EncoderOptionsBuilderParams = { | |||
7 | 7 | ||
8 | resolution: VideoResolution | 8 | resolution: VideoResolution |
9 | 9 | ||
10 | // Could be null for "merge audio" transcoding | 10 | // If PeerTube applies a filter, transcoding profile must not copy input stream |
11 | fps?: number | 11 | canCopyAudio: boolean |
12 | canCopyVideo: boolean | ||
13 | |||
14 | fps: number | ||
12 | 15 | ||
13 | // Could be undefined if we could not get input bitrate (some RTMP streams for example) | 16 | // Could be undefined if we could not get input bitrate (some RTMP streams for example) |
14 | inputBitrate: number | 17 | inputBitrate: number |
diff --git a/shared/models/videos/video-state.enum.ts b/shared/models/videos/video-state.enum.ts index 09268d2ff..e45e4adc2 100644 --- a/shared/models/videos/video-state.enum.ts +++ b/shared/models/videos/video-state.enum.ts | |||
@@ -6,5 +6,6 @@ export const enum VideoState { | |||
6 | LIVE_ENDED = 5, | 6 | LIVE_ENDED = 5, |
7 | TO_MOVE_TO_EXTERNAL_STORAGE = 6, | 7 | TO_MOVE_TO_EXTERNAL_STORAGE = 6, |
8 | TRANSCODING_FAILED = 7, | 8 | TRANSCODING_FAILED = 7, |
9 | TO_MOVE_TO_EXTERNAL_STORAGE_FAILED = 8 | 9 | TO_MOVE_TO_EXTERNAL_STORAGE_FAILED = 8, |
10 | TO_EDIT = 9 | ||
10 | } | 11 | } |