import * as ffmpeg from 'fluent-ffmpeg'
import { join } from 'path'
import { VideoResolution } from '../../shared/models/videos'
-import { CONFIG, MAX_VIDEO_TRANSCODING_FPS } from '../initializers'
+import { CONFIG, VIDEO_TRANSCODING_FPS } from '../initializers'
import { unlinkPromise } from './core-utils'
import { processImage } from './image-utils'
import { logger } from './logger'
.outputOption('-movflags faststart')
// .outputOption('-crf 18')
- if (fps > MAX_VIDEO_TRANSCODING_FPS) command = command.withFPS(MAX_VIDEO_TRANSCODING_FPS)
+ // Our player has some FPS limits
+ if (fps > VIDEO_TRANSCODING_FPS.MAX) command = command.withFPS(VIDEO_TRANSCODING_FPS.MAX)
+ else if (fps < VIDEO_TRANSCODING_FPS.MIN) command = command.withFPS(VIDEO_TRANSCODING_FPS.MIN)
if (options.resolution !== undefined) {
// '?x720' or '720x?' for example
command = command.size(size)
}
- command.on('error', rej)
- .on('end', res)
- .run()
+ command
+ .on('error', (err, stdout, stderr) => {
+ logger.error('Error in transcoding job.', { stdout, stderr })
+ return rej(err)
+ })
+ .on('end', res)
+ .run()
})
}