aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/lib/video-transcoding.ts
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2019-11-22 11:43:17 +0100
committerChocobozzz <me@florianbigard.com>2019-11-25 10:59:49 +0100
commit3a149e9f8b2e99507c72792b80cee3a90df003b2 (patch)
treee12d6279f8a9cb3c3268aa7a006b22a85c42d034 /server/lib/video-transcoding.ts
parent6ad88df896e359e428259ff511f6fca3675cb4af (diff)
downloadPeerTube-3a149e9f8b2e99507c72792b80cee3a90df003b2.tar.gz
PeerTube-3a149e9f8b2e99507c72792b80cee3a90df003b2.tar.zst
PeerTube-3a149e9f8b2e99507c72792b80cee3a90df003b2.zip
Add audio only transcoding tests
Diffstat (limited to 'server/lib/video-transcoding.ts')
-rw-r--r--server/lib/video-transcoding.ts55
1 files changed, 11 insertions, 44 deletions
diff --git a/server/lib/video-transcoding.ts b/server/lib/video-transcoding.ts
index 9dd54837f..ab5200936 100644
--- a/server/lib/video-transcoding.ts
+++ b/server/lib/video-transcoding.ts
@@ -83,51 +83,18 @@ async function transcodeNewResolution (video: MVideoWithFile, resolution: VideoR
83 83
84 const transcodeOptions = resolution === VideoResolution.H_NOVIDEO 84 const transcodeOptions = resolution === VideoResolution.H_NOVIDEO
85 ? { 85 ? {
86 type: 'split-audio' as 'split-audio', 86 type: 'only-audio' as 'only-audio',
87 inputPath: videoInputPath, 87 inputPath: videoInputPath,
88 outputPath: videoTranscodedPath, 88 outputPath: videoTranscodedPath,
89 resolution, 89 resolution
90 } 90 }
91 : { 91 : {
92 type: 'video' as 'video', 92 type: 'video' as 'video',
93 inputPath: videoInputPath, 93 inputPath: videoInputPath,
94 outputPath: videoTranscodedPath, 94 outputPath: videoTranscodedPath,
95 resolution, 95 resolution,
96 isPortraitMode: isPortrait 96 isPortraitMode: isPortrait
97 } 97 }
98
99 await transcode(transcodeOptions)
100
101 return onVideoFileTranscoding(video, newVideoFile, videoTranscodedPath, videoOutputPath)
102}
103
104/**
105 * Extract audio into a separate audio-only mp4.
106 */
107async function splitAudioFile (video: MVideoWithFile) {
108 const videosDirectory = CONFIG.STORAGE.VIDEOS_DIR
109 const transcodeDirectory = CONFIG.STORAGE.TMP_DIR
110 const extname = '.mp4'
111 const resolution = VideoResolution.H_NOVIDEO
112
113 // We are sure it's x264 in mp4 because optimizeOriginalVideofile was already executed
114 const videoInputPath = join(videosDirectory, video.getVideoFilename(video.getOriginalFile()))
115
116 const newVideoFile = new VideoFileModel({
117 resolution,
118 extname,
119 size: 0,
120 videoId: video.id
121 })
122 const videoOutputPath = join(CONFIG.STORAGE.VIDEOS_DIR, video.getVideoFilename(newVideoFile))
123 const videoTranscodedPath = join(transcodeDirectory, video.getVideoFilename(newVideoFile))
124
125 const transcodeOptions = {
126 type: 'split-audio' as 'split-audio',
127 inputPath: videoInputPath,
128 outputPath: videoTranscodedPath,
129 resolution
130 }
131 98
132 await transcode(transcodeOptions) 99 await transcode(transcodeOptions)
133 100