Pushkar0655g commited on
Commit
a360176
Β·
verified Β·
1 Parent(s): b4f46c4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -14
app.py CHANGED
@@ -16,33 +16,41 @@ language_map = {
16
  "Japanese": "Helsinki-NLP/opus-mt-en-jap"
17
  }
18
 
19
- def generate_subtitles(video_file, language):
20
- try:
21
- srt_path = process_video(video_file, language)
22
- return srt_path
23
- except Exception as e:
24
- return f"Error: {str(e)}"
25
-
26
  # Define Gradio Interface
27
- with gr.Blocks() as demo:
28
- gr.Markdown("# AI-Powered Video Subtitling")
29
- gr.Markdown("Upload a video and select a language to generate subtitles.")
30
 
31
  with gr.Row():
32
- video_input = gr.Video(label="Upload Video File", format="mp4") # Use gr.Video instead of gr.File
 
 
 
 
33
  language_dropdown = gr.Dropdown(
34
  choices=list(language_map.keys()),
35
  label="Select Subtitle Language",
36
  value="English"
37
  )
38
 
39
- generate_button = gr.Button("Generate Subtitles")
40
  output_srt = gr.File(label="Download Subtitles")
 
 
 
 
 
 
 
 
 
 
 
41
 
42
  generate_button.click(
43
  generate_subtitles,
44
- inputs=[video_input, language_dropdown],
45
- outputs=output_srt
46
  )
47
 
48
  demo.launch()
 
16
  "Japanese": "Helsinki-NLP/opus-mt-en-jap"
17
  }
18
 
 
 
 
 
 
 
 
19
  # Define Gradio Interface
20
+ with gr.Blocks(theme=gr.themes.Monochrome()) as demo: # Add dark theme
21
+ gr.Markdown("# πŸŽ₯ AI-Powered Video Subtitling")
22
+ gr.Markdown("Upload a video (MP4/MKV/AVI) and select a language to generate subtitles.")
23
 
24
  with gr.Row():
25
+ video_input = gr.File(
26
+ label="Upload Video File",
27
+ file_types=["mp4", "mkv", "avi"], # Remove dots before extensions
28
+ interactive=True
29
+ )
30
  language_dropdown = gr.Dropdown(
31
  choices=list(language_map.keys()),
32
  label="Select Subtitle Language",
33
  value="English"
34
  )
35
 
36
+ generate_button = gr.Button("Generate Subtitles πŸš€")
37
  output_srt = gr.File(label="Download Subtitles")
38
+ progress = gr.Textbox(label="Progress", interactive=False) # Add progress updates
39
+
40
+ def generate_subtitles(video_file, language):
41
+ try:
42
+ # Extract the file path from Gradio's File object
43
+ video_path = video_file.name # Get the actual file path
44
+ print(f"Processing video: {video_path}")
45
+ srt_path = process_video(video_path, language)
46
+ return srt_path, "βœ… Subtitles generated successfully!"
47
+ except Exception as e:
48
+ return None, f"❌ Error: {str(e)}"
49
 
50
  generate_button.click(
51
  generate_subtitles,
52
+ inputs=[video_file, language_dropdown],
53
+ outputs=[output_srt, progress] # Include progress feedback
54
  )
55
 
56
  demo.launch()