chompionsawelo commited on
Commit
f5053b0
·
1 Parent(s): cd05049

add process button

Browse files
Files changed (4) hide show
  1. app.py +3 -1
  2. lang_ui.py +2 -0
  3. set_up.py +1 -1
  4. ui.py +13 -3
app.py CHANGED
@@ -17,7 +17,9 @@ with gr.Blocks() as demo:
17
  url_download_button.click(
18
  get_video_from_url, input_url, input_video)
19
  input_video.render()
20
- input_video.upload(get_duration, input_video, [
 
 
21
  start_time, end_time])
22
  with gr.Column():
23
  with gr.Row():
 
17
  url_download_button.click(
18
  get_video_from_url, input_url, input_video)
19
  input_video.render()
20
+ input_video.clear(clear_duration, outputs=[
21
+ start_time, end_time])
22
+ input_video_button.click(get_duration, input_video, [
23
  start_time, end_time])
24
  with gr.Column():
25
  with gr.Row():
lang_ui.py CHANGED
@@ -26,6 +26,7 @@ english_ui = {
26
  "input_url_info": "Instead of uploading your video directly, you can use Google Drive shareable link",
27
  "download_button_value": "Download Google Drive Video",
28
  "input_video_label": "Insert video",
 
29
  "start_time_label": "Start time",
30
  "end_time_label": "End time",
31
  "lang_radio_choices": ["English", "Indonesian", "Automatic"],
@@ -82,6 +83,7 @@ indonesia_ui = {
82
  "input_url_info": "Jika anda terkendala untuk mengunggah video secara langsung, silahkan unggah video ke Google Drive dan gunakan tautan video terbuka dari Google Drive pada kolom berikut",
83
  "download_button_value": "Unduh Video Google Drive",
84
  "input_video_label": "Masukkan video",
 
85
  "start_time_label": "Waktu mulai",
86
  "end_time_label": "Waktu selesai",
87
  "lang_radio_choices": ["Bahasa Inggris", "Bahasa Indonesia", "Otomatis"],
 
26
  "input_url_info": "Instead of uploading your video directly, you can use Google Drive shareable link",
27
  "download_button_value": "Download Google Drive Video",
28
  "input_video_label": "Insert video",
29
+ "input_video_button_value": "Process Video",
30
  "start_time_label": "Start time",
31
  "end_time_label": "End time",
32
  "lang_radio_choices": ["English", "Indonesian", "Automatic"],
 
83
  "input_url_info": "Jika anda terkendala untuk mengunggah video secara langsung, silahkan unggah video ke Google Drive dan gunakan tautan video terbuka dari Google Drive pada kolom berikut",
84
  "download_button_value": "Unduh Video Google Drive",
85
  "input_video_label": "Masukkan video",
86
+ "input_video_button_value": "Proses Video",
87
  "start_time_label": "Waktu mulai",
88
  "end_time_label": "Waktu selesai",
89
  "lang_radio_choices": ["Bahasa Inggris", "Bahasa Indonesia", "Otomatis"],
set_up.py CHANGED
@@ -35,7 +35,7 @@ def prepare_input(input_file, start_time, end_time, lang, model_size, progress=g
35
  if validate_time_format(start_time) is False:
36
  gr.Warning(ui_lang["start_time_warning"])
37
  return [None, None, [None, None]]
38
- if validate_time_format(end_time) is False:
39
  gr.Warning(ui_lang["end_time_warning"])
40
  return [None, None, [None, None]]
41
  # Check if start time is lower than end time
 
35
  if validate_time_format(start_time) is False:
36
  gr.Warning(ui_lang["start_time_warning"])
37
  return [None, None, [None, None]]
38
+ if validate_time_format(end_time) is False or end_time is '99:99:99':
39
  gr.Warning(ui_lang["end_time_warning"])
40
  return [None, None, [None, None]]
41
  # Check if start time is lower than end time
ui.py CHANGED
@@ -24,6 +24,8 @@ url_download_button = gr.Button(
24
  ui_lang["download_button_value"], size='sm', interactive=True)
25
  input_video = gr.Video(
26
  label=ui_lang["input_video_label"], interactive=True)
 
 
27
  start_time = gr.Textbox(
28
  max_lines=1, placeholder="00:00:00", label=ui_lang["start_time_label"], interactive=False)
29
  end_time = gr.Textbox(
@@ -79,6 +81,13 @@ def get_video_from_url(url):
79
  return file_name.download_file
80
 
81
 
 
 
 
 
 
 
 
82
  def get_duration(input_file):
83
  print("Checking file")
84
  if input_file is None:
@@ -87,8 +96,7 @@ def get_duration(input_file):
87
  start_time.update(None, interactive=False),
88
  end_time.update(None, interactive=False)
89
  ]
90
- print("Getting duration")
91
- time.sleep(3)
92
  info_json = ffmpeg.probe(input_file)
93
  print("Probing finished")
94
  duration_seconds = float(info_json['format']['duration'])
@@ -116,6 +124,8 @@ def change_lang(input):
116
  ui_lang["download_button_value"]),
117
  input_video.update(
118
  label=ui_lang["input_video_label"]),
 
 
119
  start_time.update(
120
  label=ui_lang["start_time_label"]),
121
  end_time.update(
@@ -151,4 +161,4 @@ def change_lang(input):
151
 
152
  # comp_to_update and change_lang return must always be in equal number
153
  comp_to_update = [
154
- top_markdown, input_url, url_download_button, input_video, start_time, end_time, lang_radio, model_dropdown, start_button, middle_markdown, adjust_speaker, prev_button, next_button, adjust_button, bottom_markdown, output_video, output_transcribe]
 
24
  ui_lang["download_button_value"], size='sm', interactive=True)
25
  input_video = gr.Video(
26
  label=ui_lang["input_video_label"], interactive=True)
27
+ input_video_button = gr.Button(
28
+ ui_lang(["input_video_button_value"]), interactive=True)
29
  start_time = gr.Textbox(
30
  max_lines=1, placeholder="00:00:00", label=ui_lang["start_time_label"], interactive=False)
31
  end_time = gr.Textbox(
 
81
  return file_name.download_file
82
 
83
 
84
+ def clear_duration():
85
+ return [
86
+ start_time.update(None, interactive=False),
87
+ end_time.update(None, interactive=False)
88
+ ]
89
+
90
+
91
  def get_duration(input_file):
92
  print("Checking file")
93
  if input_file is None:
 
96
  start_time.update(None, interactive=False),
97
  end_time.update(None, interactive=False)
98
  ]
99
+ print("Getting duration & Waiting")
 
100
  info_json = ffmpeg.probe(input_file)
101
  print("Probing finished")
102
  duration_seconds = float(info_json['format']['duration'])
 
124
  ui_lang["download_button_value"]),
125
  input_video.update(
126
  label=ui_lang["input_video_label"]),
127
+ input_video_button.update(
128
+ ui_lang(["input_video_button_value"])),
129
  start_time.update(
130
  label=ui_lang["start_time_label"]),
131
  end_time.update(
 
161
 
162
  # comp_to_update and change_lang return must always be in equal number
163
  comp_to_update = [
164
+ top_markdown, input_url, url_download_button, input_video, input_video_button, start_time, end_time, lang_radio, model_dropdown, start_button, middle_markdown, adjust_speaker, prev_button, next_button, adjust_button, bottom_markdown, output_video, output_transcribe]