@@ -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+
191196if __name__ == "__main__" :
192197 root = tk .Tk ()
193198 app = VideoSplitterApp (root )
0 commit comments