]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/helpers/ffmpeg-utils.ts
add display of logs matching any state
[github/Chocobozzz/PeerTube.git] / server / helpers / ffmpeg-utils.ts
index 1093cb48306a2bba6fdbd281cb8bca414b47f567..bf6408d3e1c63b116c239b779b0622f47209766e 100644 (file)
@@ -137,6 +137,8 @@ interface HLSTranscodeOptions extends BaseTranscodeOptions {
 interface HLSFromTSTranscodeOptions extends BaseTranscodeOptions {
   type: 'hls-from-ts'
 
+  isAAC: boolean
+
   hlsPlaylist: {
     videoFilename: string
   }
@@ -455,11 +457,13 @@ async function buildHLSVODCommand (command: ffmpeg.FfmpegCommand, options: HLSTr
 async function buildHLSVODFromTSCommand (command: ffmpeg.FfmpegCommand, options: HLSFromTSTranscodeOptions) {
   const videoPath = getHLSVideoPath(options)
 
-  command.inputOption('-safe 0')
-  command.inputOption('-f concat')
+  command.outputOption('-c copy')
 
-  command.outputOption('-c:v copy')
-  command.audioFilter('aresample=async=1:first_pts=0')
+  if (options.isAAC) {
+    // Required for example when copying an AAC stream from an MPEG-TS
+    // Since it's a bitstream filter, we don't need to reencode the audio
+    command.outputOption('-bsf:a aac_adtstoasc')
+  }
 
   addCommonHLSVODCommandOptions(command, videoPath)