]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/video-paths.ts
Transcode HLS playlists in a tmp directory
[github/Chocobozzz/PeerTube.git] / server / lib / video-paths.ts
index fe0a004e455b765d84724a25c1a0f1017b62ef3e..53fc8e81d5fcf6f82cb7016c0747701eb647c9ab 100644 (file)
@@ -1,15 +1,15 @@
-import { isStreamingPlaylist, MStreamingPlaylistVideo, MVideo, MVideoFile, MVideoUUID } from '@server/typings/models'
-import { extractVideo } from './videos'
+import { isStreamingPlaylist, MStreamingPlaylistVideo, MVideo, MVideoFile, MVideoUUID } from '@server/types/models'
 import { join } from 'path'
 import { CONFIG } from '@server/initializers/config'
 import { HLS_REDUNDANCY_DIRECTORY, HLS_STREAMING_PLAYLIST_DIRECTORY } from '@server/initializers/constants'
+import { extractVideo } from '@server/helpers/video'
 
 // ################## Video file name ##################
 
 function getVideoFilename (videoOrPlaylist: MVideo | MStreamingPlaylistVideo, videoFile: MVideoFile) {
   const video = extractVideo(videoOrPlaylist)
 
-  if (isStreamingPlaylist(videoOrPlaylist)) {
+  if (videoFile.isHLS()) {
     return generateVideoStreamingPlaylistName(video.uuid, videoFile.resolution)
   }
 
@@ -25,9 +25,10 @@ function generateWebTorrentVideoName (uuid: string, resolution: number, extname:
 }
 
 function getVideoFilePath (videoOrPlaylist: MVideo | MStreamingPlaylistVideo, videoFile: MVideoFile, isRedundancy = false) {
-  if (isStreamingPlaylist(videoOrPlaylist)) {
+  if (videoFile.isHLS()) {
     const video = extractVideo(videoOrPlaylist)
-    return join(HLS_STREAMING_PLAYLIST_DIRECTORY, video.uuid, getVideoFilename(videoOrPlaylist, videoFile))
+
+    return join(getHLSDirectory(video), getVideoFilename(videoOrPlaylist, videoFile))
   }
 
   const baseDir = isRedundancy ? CONFIG.STORAGE.REDUNDANCY_DIR : CONFIG.STORAGE.VIDEOS_DIR