From ae27dd1689ae1716591aab094e6d41f3a0160fef Mon Sep 17 00:00:00 2001 From: bobzel Date: Thu, 4 Jan 2024 13:11:22 -0500 Subject: 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. --- src/server/DashUploadUtils.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/server') 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(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; } -- cgit v1.2.3-70-g09d2