Spaces:
Runtime error
Runtime error
| from faster_whisper import WhisperModel | |
| import os | |
| OUTPUT_DIR = "assets/outputs" | |
| os.makedirs(OUTPUT_DIR, exist_ok=True) | |
| # Force CPU usage | |
| model = WhisperModel("base", device="cpu", compute_type="int8") | |
| def generate_subtitles(video_path): | |
| segments, info = model.transcribe(video_path) | |
| srt_path = os.path.join(OUTPUT_DIR, "subtitles.srt") | |
| with open(srt_path, "w", encoding="utf-8") as srt: | |
| for i, segment in enumerate(segments, start=1): | |
| start = format_time(segment.start) | |
| end = format_time(segment.end) | |
| text = segment.text.strip() | |
| srt.write(f"{i}\n") | |
| srt.write(f"{start} --> {end}\n") | |
| srt.write(f"{text}\n\n") | |
| return srt_path | |
| def format_time(seconds): | |
| hrs = int(seconds // 3600) | |
| mins = int((seconds % 3600) // 60) | |
| secs = int(seconds % 60) | |
| millis = int((seconds - int(seconds)) * 1000) | |
| return f"{hrs:02}:{mins:02}:{secs:02},{millis:03}" |