import { basename, extname as extnameUtil, join } from 'path'
import { toEven } from '@server/helpers/core-utils'
import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent'
-import { MStreamingPlaylistFilesVideo, MVideoFile, MVideoFullLight } from '@server/types/models'
+import { MStreamingPlaylistFilesVideo, MVideo, MVideoFile, MVideoFullLight } from '@server/types/models'
import { VideoResolution, VideoStorage } from '../../../shared/models/videos'
import { VideoStreamingPlaylistType } from '../../../shared/models/videos/video-streaming-playlist.type'
import {
+ buildFileMetadata,
canDoQuickTranscode,
getVideoStreamDuration,
- buildFileMetadata,
getVideoStreamFPS,
transcodeVOD,
TranscodeVODOptions,
// Concat TS segments from a live video to a fragmented mp4 HLS playlist
async function generateHlsPlaylistResolutionFromTS (options: {
- video: MVideoFullLight
+ video: MVideo
concatenatedTsFilePath: string
resolution: VideoResolution
isPortraitMode: boolean
// Generate an HLS playlist from an input file, and update the master playlist
function generateHlsPlaylistResolution (options: {
- video: MVideoFullLight
+ video: MVideo
videoInputPath: string
resolution: VideoResolution
copyCodecs: boolean
async function generateHlsPlaylistCommon (options: {
type: 'hls' | 'hls-from-ts'
- video: MVideoFullLight
+ video: MVideo
inputPath: string
resolution: VideoResolution
copyCodecs?: boolean