Nick021402 commited on
Commit
635d08b
·
verified ·
1 Parent(s): 6c75690

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -5
app.py CHANGED
@@ -1,6 +1,5 @@
1
  import whisper
2
  import yt_dlp
3
- import moviepy.editor as mp
4
  import os
5
  import torch
6
  from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
@@ -10,6 +9,7 @@ from datetime import timedelta
10
  import gradio as gr
11
  import torchaudio
12
  import whisper.tokenizer
 
13
 
14
  # -----------------------------
15
  # Helper Functions
@@ -32,14 +32,23 @@ def download_youtube_audio(url):
32
  except Exception as e:
33
  raise RuntimeError(f"Error downloading audio: {str(e)}")
34
 
 
 
35
  def extract_audio_from_video(video_path):
 
36
  try:
37
- clip = mp.VideoFileClip(video_path)
38
- clip.audio.write_audiofile("audio.mp3")
39
- return "audio.mp3"
 
 
 
 
 
40
  except Exception as e:
41
- raise RuntimeError(f"Error extracting audio: {str(e)}")
42
 
 
43
  def generate_srt(segments):
44
  subs = []
45
  for i, seg in enumerate(segments):
 
1
  import whisper
2
  import yt_dlp
 
3
  import os
4
  import torch
5
  from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
 
9
  import gradio as gr
10
  import torchaudio
11
  import whisper.tokenizer
12
+ import ffmpeg
13
 
14
  # -----------------------------
15
  # Helper Functions
 
32
  except Exception as e:
33
  raise RuntimeError(f"Error downloading audio: {str(e)}")
34
 
35
+
36
+
37
  def extract_audio_from_video(video_path):
38
+ output_audio = "audio.mp3"
39
  try:
40
+ ffmpeg.input(video_path).output(
41
+ output_audio,
42
+ vn=None, # Disable video
43
+ acodec="libmp3lame", # Use MP3 codec
44
+ ar="16000", # 16kHz sample rate
45
+ ac="1" # Mono channel
46
+ ).run(quiet=True, overwrite_output=True)
47
+ return output_audio
48
  except Exception as e:
49
+ raise RuntimeError(f"FFmpeg error: {str(e)}")
50
 
51
+
52
  def generate_srt(segments):
53
  subs = []
54
  for i, seg in enumerate(segments):