aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts/optimize-old-videos.ts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/optimize-old-videos.ts')
-rw-r--r--scripts/optimize-old-videos.ts22
1 files changed, 15 insertions, 7 deletions
diff --git a/scripts/optimize-old-videos.ts b/scripts/optimize-old-videos.ts
index a1d5345a1..2c80f16bc 100644
--- a/scripts/optimize-old-videos.ts
+++ b/scripts/optimize-old-videos.ts
@@ -32,6 +32,7 @@ async function run () {
32 32
33 for (const video of localVideos) { 33 for (const video of localVideos) {
34 currentVideoId = video.id 34 currentVideoId = video.id
35
35 for (const file of video.VideoFiles) { 36 for (const file of video.VideoFiles) {
36 currentFile = join(CONFIG.STORAGE.VIDEOS_DIR, video.getVideoFilename(file)) 37 currentFile = join(CONFIG.STORAGE.VIDEOS_DIR, video.getVideoFilename(file))
37 38
@@ -44,22 +45,29 @@ async function run () {
44 const maxBitrate = getMaxBitrate(resolution.videoFileResolution, fps, VIDEO_TRANSCODING_FPS) 45 const maxBitrate = getMaxBitrate(resolution.videoFileResolution, fps, VIDEO_TRANSCODING_FPS)
45 const isMaxBitrateExceeded = videoBitrate > maxBitrate 46 const isMaxBitrateExceeded = videoBitrate > maxBitrate
46 if (isMaxBitrateExceeded) { 47 if (isMaxBitrateExceeded) {
47 console.log('Optimizing video file %s with bitrate %s kbps (max: %s kbps)', 48 console.log(
48 basename(currentFile), videoBitrate / 1000, maxBitrate / 1000) 49 'Optimizing video file %s with bitrate %s kbps (max: %s kbps)',
50 basename(currentFile), videoBitrate / 1000, maxBitrate / 1000
51 )
52
49 const backupFile = `${currentFile}_backup` 53 const backupFile = `${currentFile}_backup`
50 await copy(currentFile, backupFile) 54 await copy(currentFile, backupFile)
55
51 await optimizeVideofile(video, file) 56 await optimizeVideofile(video, file)
57
52 const originalDuration = await getDurationFromVideoFile(backupFile) 58 const originalDuration = await getDurationFromVideoFile(backupFile)
53 const newDuration = await getDurationFromVideoFile(currentFile) 59 const newDuration = await getDurationFromVideoFile(currentFile)
60
54 if (originalDuration === newDuration) { 61 if (originalDuration === newDuration) {
55 console.log('Finished optimizing %s', basename(currentFile)) 62 console.log('Finished optimizing %s', basename(currentFile))
56 await remove(backupFile) 63 await remove(backupFile)
57 } else { 64 return
58 console.log('Failed to optimize %s, restoring original', basename(currentFile))
59 move(backupFile, currentFile, { overwrite: true })
60 await video.createTorrentAndSetInfoHash(file)
61 await file.save()
62 } 65 }
66
67 console.log('Failed to optimize %s, restoring original', basename(currentFile))
68 await move(backupFile, currentFile, { overwrite: true })
69 await video.createTorrentAndSetInfoHash(file)
70 await file.save()
63 } 71 }
64 } 72 }
65 } 73 }