From 7bb0e8fe5dc4067067e4b6cab017f8e7f30e627f Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Tue, 29 Sep 2020 15:39:01 +0200 Subject: [PATCH] Fix FFMpeg remux stop for server recordings on windows --- .../src/main/java/ctbrec/recorder/postprocessing/Remux.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/ctbrec/recorder/postprocessing/Remux.java b/common/src/main/java/ctbrec/recorder/postprocessing/Remux.java index 61128568..d09daadc 100644 --- a/common/src/main/java/ctbrec/recorder/postprocessing/Remux.java +++ b/common/src/main/java/ctbrec/recorder/postprocessing/Remux.java @@ -46,8 +46,9 @@ public class Remux extends AbstractPostProcessor { File remuxedFile = new File(rec.getPostProcessedFile().getAbsolutePath() + '.' + fileExt); argsPlusFile[argsPlusFile.length - 1] = remuxedFile.getAbsolutePath(); String[] cmdline = OS.getFFmpegCommand(argsPlusFile); - LOG.info(Arrays.toString(cmdline)); - Process ffmpeg = Runtime.getRuntime().exec(cmdline, new String[0], rec.getPostProcessedFile().getParentFile()); + File executionDir = rec.getPostProcessedFile().isDirectory() ? rec.getPostProcessedFile() : rec.getPostProcessedFile().getParentFile(); + LOG.info("Executing {} in working directory {}", Arrays.toString(cmdline), executionDir); + Process ffmpeg = Runtime.getRuntime().exec(cmdline, new String[0], executionDir); setupLogging(ffmpeg, rec); rec.setPostProcessedFile(remuxedFile); if (inputFile.getName().equals("playlist.m3u8")) {