ChiBenevisamPas commited on
Commit
a28946a
·
verified ·
1 Parent(s): b67f0f7

Resolve Download Video 3

Browse files
Files changed (1) hide show
  1. app.py +7 -5
app.py CHANGED
@@ -8,6 +8,8 @@ import docx # To create Word documents
8
  from moviepy.video.tools.subtitles import SubtitlesClip
9
  from moviepy.editor import TextClip
10
  from pytube import YouTube # For downloading YouTube videos
 
 
11
 
12
  # Load Whisper model for speech-to-text (using smaller 'tiny' model for faster performance)
13
  asr = pipeline("automatic-speech-recognition", model="openai/whisper-tiny")
@@ -136,20 +138,20 @@ def download_video():
136
  video_path = subtitle_storage.get("video_path")
137
  video = mp.VideoFileClip(video_path)
138
 
139
- # Generate subtitle text without ImageMagick (using TextClip with a basic font)
140
- generator = lambda txt: TextClip(txt, font="Arial-Bold", fontsize=24, color="white", method='label') # Use 'label'
141
 
142
  subs = []
143
- subtitle_length = 5 # seconds each subtitle will be displayed
144
  for i in range(0, len(translated_subtitle), 50):
145
  start_time = (i // 50) * subtitle_length
146
- end_time = start_time + subtitle_length # Each subtitle lasts for 'subtitle_length' seconds
147
  subtitle_text = translated_subtitle[i:i + 50]
148
  subs.append(((start_time, end_time), subtitle_text))
149
 
150
  subtitles = SubtitlesClip(subs, generator)
151
 
152
- subtitled_video = mp.CompositeVideoClip([video, subtitles.set_position(('center', 'bottom'))])
153
 
154
  output_video_path = "subtitled_video.mp4"
155
  subtitled_video.write_videofile(output_video_path)
 
8
  from moviepy.video.tools.subtitles import SubtitlesClip
9
  from moviepy.editor import TextClip
10
  from pytube import YouTube # For downloading YouTube videos
11
+ from moviepy.editor import TextClip, CompositeVideoClip
12
+ from moviepy.video.tools.subtitles import SubtitlesClip
13
 
14
  # Load Whisper model for speech-to-text (using smaller 'tiny' model for faster performance)
15
  asr = pipeline("automatic-speech-recognition", model="openai/whisper-tiny")
 
138
  video_path = subtitle_storage.get("video_path")
139
  video = mp.VideoFileClip(video_path)
140
 
141
+ # Use TextClip with a basic method to avoid ImageMagick
142
+ generator = lambda txt: TextClip(txt, font="Arial", fontsize=24, color="white", method="caption", size=(video.w - 20, None), align="center")
143
 
144
  subs = []
145
+ subtitle_length = 5 # seconds for each subtitle
146
  for i in range(0, len(translated_subtitle), 50):
147
  start_time = (i // 50) * subtitle_length
148
+ end_time = start_time + subtitle_length
149
  subtitle_text = translated_subtitle[i:i + 50]
150
  subs.append(((start_time, end_time), subtitle_text))
151
 
152
  subtitles = SubtitlesClip(subs, generator)
153
 
154
+ subtitled_video = CompositeVideoClip([video, subtitles.set_position(('center', 'bottom'))])
155
 
156
  output_video_path = "subtitled_video.mp4"
157
  subtitled_video.write_videofile(output_video_path)