Skip to content

Commit 252b103

Browse files
authored
Update video_splitter.py
1 parent 8ee03cb commit 252b103

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

video_splitter.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ def __init__(self, root):
2222
# Встановлення іконки для вікна
2323
self.root.iconbitmap(icon_path)
2424

25-
2625
# Створення фрейму для організації елементів
2726
self.frame_input = tk.Frame(root)
2827
self.frame_input.pack(pady=5)
@@ -117,16 +116,20 @@ def split_video(self):
117116
else: # Для звичайного запуску з Python
118117
ffmpeg_path = os.path.join(os.getcwd(), "ffmpeg", "bin", "ffmpeg.exe")
119118

119+
# Отримання назви вхідного файлу без розширення
120+
input_filename = os.path.splitext(os.path.basename(input_file))[0]
121+
120122
# Формування команди залежно від режиму
121123
if mode == "time":
122124
try:
123125
# Перевірка формату часу MM:SS
124126
minutes, seconds = map(int, param.split(":"))
125127
segment_time = f"{minutes:02}:{seconds:02}"
128+
# Включаємо ім'я вхідного файлу у шаблон імені вихідного файлу
126129
command = [
127130
ffmpeg_path, "-i", input_file, "-c", "copy", "-map", "0:v", "-map", "0:a",
128131
"-segment_time", segment_time, "-f", "segment", "-reset_timestamps", "1",
129-
os.path.join(output_folder, "%03d.mp4")
132+
os.path.join(output_folder, f"{input_filename}_%03d.mp4") # Додаємо ім'я файлу
130133
]
131134
except ValueError:
132135
messagebox.showerror("Помилка", "Невірний формат часу. Використовуйте MM:SS.")
@@ -161,18 +164,19 @@ def split_video(self):
161164
# Якщо залишок часу є, додаємо його до останнього сегмента
162165
segment_time += remaining_time
163166

167+
# Включаємо ім'я вхідного файлу у шаблон імені вихідного файлу
168+
output_file_pattern = os.path.join(output_folder, f"{input_filename}_%03d.mp4")
169+
164170
# Формуємо команду
165171
command = [
166172
ffmpeg_path, "-i", input_file, "-c", "copy", "-map", "0:v", "-map", "0:a",
167173
"-segment_time", str(segment_time), "-f", "segment", "-reset_timestamps", "1",
168-
os.path.join(output_folder, "%03d.mp4")
174+
output_file_pattern # Додаємо ім'я файлу
169175
]
170176
except ValueError:
171177
messagebox.showerror("Помилка", "Невірна кількість частин.")
172178
return
173179

174-
175-
176180
else:
177181
messagebox.showerror("Помилка", "Оберіть режим.")
178182
return
@@ -188,6 +192,7 @@ def run_ffmpeg():
188192

189193
threading.Thread(target=run_ffmpeg).start()
190194

195+
191196
if __name__ == "__main__":
192197
root = tk.Tk()
193198
app = VideoSplitterApp(root)

0 commit comments

Comments
 (0)