diff options
Diffstat (limited to 'server/lib/videos.js')
-rw-r--r-- | server/lib/videos.js | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/server/lib/videos.js b/server/lib/videos.js index 24178561d..43d6c6b99 100644 --- a/server/lib/videos.js +++ b/server/lib/videos.js | |||
@@ -2,6 +2,7 @@ | |||
2 | 2 | ||
3 | const async = require('async') | 3 | const async = require('async') |
4 | const config = require('config') | 4 | const config = require('config') |
5 | const ffmpeg = require('fluent-ffmpeg') | ||
5 | const pathUtils = require('path') | 6 | const pathUtils = require('path') |
6 | const webtorrent = require('../lib/webtorrent') | 7 | const webtorrent = require('../lib/webtorrent') |
7 | 8 | ||
@@ -11,11 +12,20 @@ const Videos = require('../models/videos') | |||
11 | const uploadDir = pathUtils.join(__dirname, '..', '..', config.get('storage.uploads')) | 12 | const uploadDir = pathUtils.join(__dirname, '..', '..', config.get('storage.uploads')) |
12 | 13 | ||
13 | const videos = { | 14 | const videos = { |
15 | getVideoDuration: getVideoDuration, | ||
14 | getVideoState: getVideoState, | 16 | getVideoState: getVideoState, |
15 | seed: seed, | 17 | seed: seed, |
16 | seedAllExisting: seedAllExisting | 18 | seedAllExisting: seedAllExisting |
17 | } | 19 | } |
18 | 20 | ||
21 | function getVideoDuration (video_path, callback) { | ||
22 | ffmpeg.ffprobe(video_path, function (err, metadata) { | ||
23 | if (err) return callback(err) | ||
24 | |||
25 | return callback(null, Math.floor(metadata.format.duration)) | ||
26 | }) | ||
27 | } | ||
28 | |||
19 | function getVideoState (video) { | 29 | function getVideoState (video) { |
20 | const exist = (video !== null) | 30 | const exist = (video !== null) |
21 | let owned = false | 31 | let owned = false |