From 9b3d9fe1e73c490a097e87cfa5c91ba363a039e1 Mon Sep 17 00:00:00 2001 From: Markos Gogoulos Date: Thu, 13 Nov 2025 12:42:48 +0200 Subject: [PATCH] trim (#1431) --- files/helpers.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/files/helpers.py b/files/helpers.py index 1884c4ad..8d3a892a 100644 --- a/files/helpers.py +++ b/files/helpers.py @@ -910,7 +910,9 @@ def trim_video_method(media_file_path, timestamps_list): return False with tempfile.TemporaryDirectory(dir=settings.TEMP_DIRECTORY) as temp_dir: - output_file = os.path.join(temp_dir, "output.mp4") + # Detect input file extension to preserve original format + _, input_ext = os.path.splitext(media_file_path) + output_file = os.path.join(temp_dir, f"output{input_ext}") segment_files = [] for i, item in enumerate(timestamps_list): @@ -920,7 +922,7 @@ def trim_video_method(media_file_path, timestamps_list): # For single timestamp, we can use the output file directly # For multiple timestamps, we need to create segment files - segment_file = output_file if len(timestamps_list) == 1 else os.path.join(temp_dir, f"segment_{i}.mp4") + segment_file = output_file if len(timestamps_list) == 1 else os.path.join(temp_dir, f"segment_{i}{input_ext}") cmd = [settings.FFMPEG_COMMAND, "-y", "-ss", str(item['startTime']), "-i", media_file_path, "-t", str(duration), "-c", "copy", "-avoid_negative_ts", "1", segment_file]