chompionsawelo commited on
Commit
96f6a7b
·
1 Parent(s): 0561e5b

add url download

Browse files
Files changed (4) hide show
  1. app.py +6 -1
  2. file_name.py +1 -0
  3. lang_ui.py +4 -0
  4. ui.py +17 -0
app.py CHANGED
@@ -12,13 +12,18 @@ with gr.Blocks() as demo:
12
  with gr.Column():
13
  with gr.Row():
14
  with gr.Column():
 
 
 
 
 
15
  input_video.render()
16
  input_video.change(get_duration, input_video, [
17
  start_time, end_time])
 
18
  with gr.Row():
19
  start_time.render()
20
  end_time.render()
21
- with gr.Column():
22
  lang_radio.render()
23
  model_dropdown.render()
24
  summary_checkbox.render()
 
12
  with gr.Column():
13
  with gr.Row():
14
  with gr.Column():
15
+ with gr.Row():
16
+ input_url.render()
17
+ url_download.render()
18
+ url_download.click(get_video_from_url,
19
+ input_url, input_video)
20
  input_video.render()
21
  input_video.change(get_duration, input_video, [
22
  start_time, end_time])
23
+ with gr.Column():
24
  with gr.Row():
25
  start_time.render()
26
  end_time.render()
 
27
  lang_radio.render()
28
  model_dropdown.render()
29
  summary_checkbox.render()
file_name.py CHANGED
@@ -3,6 +3,7 @@ import os
3
 
4
  current_working_directory = os.getcwd()
5
 
 
6
  audio_file = f"{current_working_directory}/input.wav"
7
  transcribe_file = f"{current_working_directory}/transcribe.txt"
8
  subtitle_file = f"{current_working_directory}/subtitle.srt"
 
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
  subtitle_file = f"{current_working_directory}/subtitle.srt"
lang_ui.py CHANGED
@@ -18,6 +18,8 @@ english_ui = {
18
  "lang_radio_warning": "Please choose a language for the video",
19
  "model_dropdown_warning": "Please choose a model size for the video",
20
 
 
 
21
  "input_video_label": "Insert video",
22
  "start_time_label": "Start time",
23
  "end_time_label": "End time",
@@ -67,6 +69,8 @@ indonesia_ui = {
67
  "lang_radio_warning": "Mohon pilih bahasa yang digunakan dalam video",
68
  "model_dropdown_warning": "Mohon pilih ukuran model yang digunakan untuk video",
69
 
 
 
70
  "input_video_label": "Masukkan video",
71
  "start_time_label": "Waktu mulai",
72
  "end_time_label": "Waktu selesai",
 
18
  "lang_radio_warning": "Please choose a language for the video",
19
  "model_dropdown_warning": "Please choose a model size for the video",
20
 
21
+ "input_url_label": "Insert video url",
22
+ "download_button_value": "Download video",
23
  "input_video_label": "Insert video",
24
  "start_time_label": "Start time",
25
  "end_time_label": "End time",
 
69
  "lang_radio_warning": "Mohon pilih bahasa yang digunakan dalam video",
70
  "model_dropdown_warning": "Mohon pilih ukuran model yang digunakan untuk video",
71
 
72
+ "input_url_label": "Masukkan link video",
73
+ "download_button_value": "Unduh video",
74
  "input_video_label": "Masukkan video",
75
  "start_time_label": "Waktu mulai",
76
  "end_time_label": "Waktu selesai",
ui.py CHANGED
@@ -1,6 +1,8 @@
1
  from lang_ui import get_ui_lang
2
  import gradio as gr
 
3
  import ffmpeg
 
4
 
5
  # Display available langauges and set default UI language
6
  ui_lang_index = 1
@@ -16,6 +18,10 @@ ui_lang_radio = gr.Radio(
16
  top_markdown = gr.Markdown(
17
  ui_lang["top_markdown"])
18
  # TODO Add video by link
 
 
 
 
19
  input_video = gr.Video(
20
  label=ui_lang["input_video_label"], interactive=True)
21
  start_time = gr.Textbox(
@@ -61,6 +67,17 @@ def time_str(t):
61
  round(t % 60))
62
 
63
 
 
 
 
 
 
 
 
 
 
 
 
64
  def get_duration(input_file):
65
  print("Checking file")
66
  if input_file is None:
 
1
  from lang_ui import get_ui_lang
2
  import gradio as gr
3
+ import file_name
4
  import ffmpeg
5
+ import urllib.request
6
 
7
  # Display available langauges and set default UI language
8
  ui_lang_index = 1
 
18
  top_markdown = gr.Markdown(
19
  ui_lang["top_markdown"])
20
  # TODO Add video by link
21
+ input_url = gr.Textbox(
22
+ max_lines=1, label=ui_lang["input_url_label"], interactive=True)
23
+ url_download = gr.Button(
24
+ ui_lang["download_button_value"], interactive=True)
25
  input_video = gr.Video(
26
  label=ui_lang["input_video_label"], interactive=True)
27
  start_time = gr.Textbox(
 
67
  round(t % 60))
68
 
69
 
70
+ def get_video_from_url(url):
71
+ try:
72
+ urllib.request.urlretrieve(url, file_name.download_file)
73
+ print("Download finished")
74
+ return file_name.download_file
75
+ except:
76
+ print("Download failed")
77
+ gr.Warning(ui_lang["input_video_warning"])
78
+ return None
79
+
80
+
81
  def get_duration(input_file):
82
  print("Checking file")
83
  if input_file is None: