Spaces:
Runtime error
Runtime error
Commit
·
f5053b0
1
Parent(s):
cd05049
add process button
Browse files
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.
|
|
|
|
|
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]
|