chompionsawelo commited on
Commit
9002374
·
1 Parent(s): ce07bfe
Files changed (5) hide show
  1. adjust.py +1 -1
  2. file_name.py +12 -11
  3. set_up.py +2 -1
  4. transcribe.py +7 -5
  5. video_tool.py +6 -6
adjust.py CHANGED
@@ -116,7 +116,7 @@ def start_adjust(input_file, to_name, start_time, end_time, progress=gr.Progress
116
  # Adding subtitle to video
117
  progress(0.8, desc=ui_lang["progress_add_subtitle"])
118
  add_subtitle_to_video(
119
- input_file, subtitle_adjusted_file_parsed, video_subtitle_file, start_time, end_time)
120
 
121
  # Return video file link, transcribe string, transcribe.txt, subtitle.txt
122
  transcribe_txt_list, _ = utils.read_transcribe_subtitle_file(
 
116
  # Adding subtitle to video
117
  progress(0.8, desc=ui_lang["progress_add_subtitle"])
118
  add_subtitle_to_video(
119
+ input_file, base_subtitle_adjusted_file, video_subtitle_file, start_time, end_time)
120
 
121
  # Return video file link, transcribe string, transcribe.txt, subtitle.txt
122
  transcribe_txt_list, _ = utils.read_transcribe_subtitle_file(
file_name.py CHANGED
@@ -3,16 +3,17 @@ import os
3
 
4
  current_working_directory = os.getcwd()
5
 
6
- download_file = f"{current_working_directory}/download_video.mp4"
7
- audio_file = f"{current_working_directory}/input.wav"
8
- transcribe_file = f"{current_working_directory}/transcribe.txt"
 
9
 
10
- subtitle_file = f"{current_working_directory}/subtitle.srt"
11
- subtitle_file_parsed = "subtitle.srt"
12
- subtitle_adjusted_file = f"{current_working_directory}/subtitle_adjusted.srt"
13
- subtitle_adjusted_file_parsed = "subtitle_adjusted.srt"
14
 
15
- transcribe_adjusted_file = f"{current_working_directory}/transcribe_adjusted.txt"
16
- video_subtitle_file = f"{current_working_directory}/output.mp4"
17
- sample_groups_json = f"{current_working_directory}/sample_groups.json"
18
- speaker_groups_json = f"{current_working_directory}/speaker_groups.json"
 
3
 
4
  current_working_directory = os.getcwd()
5
 
6
+ download_file = f"{current_working_directory}\\download_video.mp4"
7
+ audio_file = f"{current_working_directory}\\input.wav"
8
+ transcribe_file = f"{current_working_directory}\\transcribe.txt"
9
+ cut_video_file = "cut_video.mp4"
10
 
11
+ subtitle_file = f"{current_working_directory}\\subtitle.srt"
12
+ base_subtitle_file = "subtitle.srt"
13
+ subtitle_adjusted_file = f"{current_working_directory}\\subtitle_adjusted.srt"
14
+ base_subtitle_adjusted_file = "subtitle_adjusted.srt"
15
 
16
+ transcribe_adjusted_file = f"{current_working_directory}\\transcribe_adjusted.txt"
17
+ video_subtitle_file = f"{current_working_directory}\\output.mp4"
18
+ sample_groups_json = f"{current_working_directory}\\sample_groups.json"
19
+ speaker_groups_json = f"{current_working_directory}\\speaker_groups.json"
set_up.py CHANGED
@@ -21,6 +21,7 @@ def prepare_input(input_file, start_time, end_time, lang, model_size, progress=g
21
  if validate_time_format(end_time) is False:
22
  gr.Warning(ui_lang["end_time_warning"])
23
  return [None, None, [None, None]]
 
24
  if lang is None:
25
  gr.Warning(ui_lang["lang_radio_warning"])
26
  return [None, None, [None, None]]
@@ -46,7 +47,7 @@ def prepare_input(input_file, start_time, end_time, lang, model_size, progress=g
46
 
47
  # Add subtitle to video
48
  progress(0.8, desc=ui_lang["progress_add_subtitle"])
49
- add_subtitle_to_video(input_file, subtitle_file_parsed,
50
  video_subtitle_file, start_time, end_time)
51
 
52
  # Return video file link, transcribe string, transcribe.txt, subtitle.txt
 
21
  if validate_time_format(end_time) is False:
22
  gr.Warning(ui_lang["end_time_warning"])
23
  return [None, None, [None, None]]
24
+ # Check if start time is lower than end time
25
  if lang is None:
26
  gr.Warning(ui_lang["lang_radio_warning"])
27
  return [None, None, [None, None]]
 
47
 
48
  # Add subtitle to video
49
  progress(0.8, desc=ui_lang["progress_add_subtitle"])
50
+ add_subtitle_to_video(input_file, base_subtitle_file,
51
  video_subtitle_file, start_time, end_time)
52
 
53
  # Return video file link, transcribe string, transcribe.txt, subtitle.txt
transcribe.py CHANGED
@@ -33,11 +33,12 @@ def start_transcribe(input_file, lang_choice: int, model_size_choice: int, progr
33
 
34
  speaker_txt_list = []
35
  shift = speaker_groups[speaker][0] + 1
36
- print(f"Current starting point: {shift}s or {time_str(shift)}")
 
37
  name = str(speaker)[:10]
38
  for segment in segments_list:
39
- start = time_str(segment.start + shift)
40
- end = time_str(segment.end + shift)
41
 
42
  segment_txt = segment.text
43
  speaker_txt_list.append(segment_txt)
@@ -46,13 +47,14 @@ def start_transcribe(input_file, lang_choice: int, model_size_choice: int, progr
46
  subtitle_txt_list.append(subtitle)
47
 
48
  speaker_txt = " ".join(speaker_txt_list)
49
- transcribe_txt_list.append(f"[{name}] {speaker_txt}\n")
 
50
 
51
  utils.write_transcribe_subtitle_file(
52
  input_file, transcribe_txt_list, subtitle_txt_list, False)
53
 
54
 
55
- def time_str(t):
56
  return '{0:02d}:{1:02d}:{2:06.3f}'.format(round(t // 3600),
57
  round(t % 3600 // 60),
58
  t % 60)
 
33
 
34
  speaker_txt_list = []
35
  shift = speaker_groups[speaker][0] + 1
36
+ print(
37
+ f"Current starting point: {shift}s or {time_str_subtitle(shift)}")
38
  name = str(speaker)[:10]
39
  for segment in segments_list:
40
+ start = time_str_subtitle(segment.start + shift)
41
+ end = time_str_subtitle(segment.end + shift)
42
 
43
  segment_txt = segment.text
44
  speaker_txt_list.append(segment_txt)
 
47
  subtitle_txt_list.append(subtitle)
48
 
49
  speaker_txt = " ".join(speaker_txt_list)
50
+ transcribe_txt_list.append(
51
+ f"[{time_str(shift)}]\n[{name}] {speaker_txt}\n")
52
 
53
  utils.write_transcribe_subtitle_file(
54
  input_file, transcribe_txt_list, subtitle_txt_list, False)
55
 
56
 
57
+ def time_str_subtitle(t):
58
  return '{0:02d}:{1:02d}:{2:06.3f}'.format(round(t // 3600),
59
  round(t % 3600 // 60),
60
  t % 60)
video_tool.py CHANGED
@@ -1,4 +1,5 @@
1
  import ffmpeg
 
2
 
3
 
4
  def convert_video_to_audio(input_file, output_file, start_time, end_time):
@@ -14,21 +15,20 @@ def convert_video_to_audio(input_file, output_file, start_time, end_time):
14
 
15
 
16
  def add_subtitle_to_video(input_file, subtitle_file, output_file, start_time, end_time):
17
- print("ADD SUBTITLE")
18
  print(f"INPUT: {input_file}")
19
  print(f"SUBTITLE: {subtitle_file}")
20
  print(f"OUTPUT: {output_file}")
21
- # 1: Add subtitle
22
  (
23
  ffmpeg
24
  .input(input_file)
25
- .output(output_file, vf='subtitles=' + subtitle_file, acodec='copy')
26
  .run(overwrite_output=True)
27
  )
28
- # 2: Cut the video
29
  (
30
  ffmpeg
31
- .input(output_file)
32
- .output(output_file, ss=start_time, to=end_time, acodec='copy')
33
  .run(overwrite_output=True)
34
  )
 
1
  import ffmpeg
2
+ import file_name
3
 
4
 
5
  def convert_video_to_audio(input_file, output_file, start_time, end_time):
 
15
 
16
 
17
  def add_subtitle_to_video(input_file, subtitle_file, output_file, start_time, end_time):
 
18
  print(f"INPUT: {input_file}")
19
  print(f"SUBTITLE: {subtitle_file}")
20
  print(f"OUTPUT: {output_file}")
21
+
22
  (
23
  ffmpeg
24
  .input(input_file)
25
+ .output(file_name.cut_video_file, ss=start_time, to=end_time, acodec='copy', vcodec='copy')
26
  .run(overwrite_output=True)
27
  )
28
+
29
  (
30
  ffmpeg
31
+ .input(file_name.cut_video_file)
32
+ .output(output_file, vf=f'subtitles={subtitle_file}', acodec='copy')
33
  .run(overwrite_output=True)
34
  )