diff options
author | bobzel <zzzman@gmail.com> | 2021-03-21 02:02:57 -0400 |
---|---|---|
committer | bobzel <zzzman@gmail.com> | 2021-03-21 02:02:57 -0400 |
commit | 72631204e8ed6cfa230fd623eb02d5217efe3b04 (patch) | |
tree | 8015cb286fcbbad60c8c1b267cba1817a2db04b6 /src/server/DashUploadUtils.ts | |
parent | d13532ab66335d7ebba9c687746fc466ae5ec622 (diff) |
made it possible to capture screen recordings as videos.
Diffstat (limited to 'src/server/DashUploadUtils.ts')
-rw-r--r-- | src/server/DashUploadUtils.ts | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/DashUploadUtils.ts b/src/server/DashUploadUtils.ts index a6f752168..5f329094d 100644 --- a/src/server/DashUploadUtils.ts +++ b/src/server/DashUploadUtils.ts @@ -16,6 +16,7 @@ import { resolvedServerUrl } from "./server_Initialization"; import { AcceptableMedia, Upload } from './SharedMediaTypes'; import request = require('request-promise'); const parse = require('pdf-parse'); +var ffmpeg = require("fluent-ffmpeg"); const requestImageSize = require("../client/util/request-image-size"); export enum SizeSuffix { @@ -72,6 +73,12 @@ export namespace DashUploadUtils { } case "video": if (videoFormats.includes(format)) { + if (format.includes("x-matroska")) { + await new Promise(res => ffmpeg(file.path) + .videoCodec("copy") // this will copy the data instead or reencode it + .save(file.path.replace(".mkv", ".mp4")).on('end', () => res())); + file.path = file.path.replace(".mkv", ".mp4"); + } return MoveParsedFile(file, Directory.videos); } case "application": |