From ad5db1044c8599eaaaa2a578b350777ae996b068 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 18 Nov 2021 14:35:08 +0100 Subject: Add ability to run transcoding jobs --- shared/models/videos/file/index.ts | 3 +++ .../models/videos/file/video-file-metadata.model.ts | 13 +++++++++++++ shared/models/videos/file/video-file.model.ts | 21 +++++++++++++++++++++ shared/models/videos/file/video-resolution.enum.ts | 11 +++++++++++ 4 files changed, 48 insertions(+) create mode 100644 shared/models/videos/file/index.ts create mode 100644 shared/models/videos/file/video-file-metadata.model.ts create mode 100644 shared/models/videos/file/video-file.model.ts create mode 100644 shared/models/videos/file/video-resolution.enum.ts (limited to 'shared/models/videos/file') diff --git a/shared/models/videos/file/index.ts b/shared/models/videos/file/index.ts new file mode 100644 index 000000000..78a784a3c --- /dev/null +++ b/shared/models/videos/file/index.ts @@ -0,0 +1,3 @@ +export * from './video-file-metadata.model' +export * from './video-file.model' +export * from './video-resolution.enum' diff --git a/shared/models/videos/file/video-file-metadata.model.ts b/shared/models/videos/file/video-file-metadata.model.ts new file mode 100644 index 000000000..8f527c0a7 --- /dev/null +++ b/shared/models/videos/file/video-file-metadata.model.ts @@ -0,0 +1,13 @@ +export class VideoFileMetadata { + streams: { [x: string]: any, [x: number]: any }[] + format: { [x: string]: any, [x: number]: any } + chapters: any[] + + constructor (hash: { chapters: any[], format: any, streams: any[] }) { + this.chapters = hash.chapters + this.format = hash.format + this.streams = hash.streams + + delete this.format.filename + } +} diff --git a/shared/models/videos/file/video-file.model.ts b/shared/models/videos/file/video-file.model.ts new file mode 100644 index 000000000..0ea857e7a --- /dev/null +++ b/shared/models/videos/file/video-file.model.ts @@ -0,0 +1,21 @@ +import { VideoConstant } from '../video-constant.model' +import { VideoFileMetadata } from './video-file-metadata.model' +import { VideoResolution } from './video-resolution.enum' + +export interface VideoFile { + resolution: VideoConstant + size: number // Bytes + + torrentUrl: string + torrentDownloadUrl: string + + fileUrl: string + fileDownloadUrl: string + + fps: number + + metadata?: VideoFileMetadata + metadataUrl?: string + + magnetUri: string | null +} diff --git a/shared/models/videos/file/video-resolution.enum.ts b/shared/models/videos/file/video-resolution.enum.ts new file mode 100644 index 000000000..5b48ad353 --- /dev/null +++ b/shared/models/videos/file/video-resolution.enum.ts @@ -0,0 +1,11 @@ +export const enum VideoResolution { + H_NOVIDEO = 0, + H_144P = 144, + H_240P = 240, + H_360P = 360, + H_480P = 480, + H_720P = 720, + H_1080P = 1080, + H_1440P = 1440, + H_4K = 2160 +} -- cgit v1.2.3