aboutsummaryrefslogtreecommitdiff
path: root/src/server/DashUploadUtils.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2024-01-04 13:11:22 -0500
committerbobzel <zzzman@gmail.com>2024-01-04 13:11:22 -0500
commitae27dd1689ae1716591aab094e6d41f3a0160fef (patch)
tree09735c798abde4fd0b8f234c48375bd6cb1112a4 /src/server/DashUploadUtils.ts
parentebf32ac65d35053f847fb2cf60f915eb29d6fdd5 (diff)
fixed ffmpeg for uploading videos. fixed getView() to take focus options so that if a sidebar or timeline has to be opened, the didMove flag can be set properly. added video snapshot frame to top menu. fixed using '^' to stop and start a selection region on timelines.
Diffstat (limited to 'src/server/DashUploadUtils.ts')
-rw-r--r--src/server/DashUploadUtils.ts15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/server/DashUploadUtils.ts b/src/server/DashUploadUtils.ts
index 50f202e69..b1a7a9c5e 100644
--- a/src/server/DashUploadUtils.ts
+++ b/src/server/DashUploadUtils.ts
@@ -2,7 +2,7 @@ import axios from 'axios';
import { green, red } from 'colors';
import { ExifImage } from 'exif';
import * as exifr from 'exifr';
-import { FfmpegCommand, ffprobe } from 'fluent-ffmpeg';
+import * as ffmpeg from 'fluent-ffmpeg';
import * as formidable from 'formidable';
import { File } from 'formidable';
import * as fs from 'fs';
@@ -95,9 +95,8 @@ export namespace DashUploadUtils {
const outputFilePath = path.join(pathToDirectory(Directory.videos), outputFileName);
// concatenate the videos
- await new Promise((resolve, reject) => {
- var merge = new FfmpegCommand();
- merge
+ await new Promise((resolve, reject) =>
+ ffmpeg()
.input(textFilePath)
.inputOptions(['-f concat', '-safe 0'])
// .outputOptions('-c copy')
@@ -107,8 +106,8 @@ export namespace DashUploadUtils {
console.log(err);
reject();
})
- .on('end', resolve);
- });
+ .on('end', resolve)
+ );
// delete concat.txt from the file system
unlinkSync(textFilePath);
@@ -221,7 +220,7 @@ export namespace DashUploadUtils {
if (format.includes('x-matroska')) {
console.log('case video');
await new Promise(res =>
- new FfmpegCommand(file.filepath)
+ ffmpeg(file.filepath)
.videoCodec('copy') // this will copy the data instead of reencode it
.save(file.filepath.replace('.mkv', '.mp4'))
.on('end', res)
@@ -233,7 +232,7 @@ export namespace DashUploadUtils {
if (format.includes('quicktime')) {
let abort = false;
await new Promise<void>(res =>
- ffprobe(file.filepath, (err: any, metadata: any) => {
+ ffmpeg.ffprobe(file.filepath, (err: any, metadata: any) => {
if (metadata.streams.some((stream: any) => stream.codec_name === 'hevc')) {
abort = true;
}