Spaces:
Runtime error
Runtime error
zfff
Browse files- video_generator.py +2 -9
video_generator.py
CHANGED
|
@@ -1,7 +1,6 @@
|
|
| 1 |
from PIL import Image, ImageDraw, ImageFont
|
| 2 |
import cv2
|
| 3 |
import numpy as np
|
| 4 |
-
import textwrap
|
| 5 |
|
| 6 |
def generate_lyric_frame(lyric, image_size):
|
| 7 |
# If image_size is None, provide a default value
|
|
@@ -30,7 +29,6 @@ def generate_lyric_frame(lyric, image_size):
|
|
| 30 |
draw.text((text_x, text_y), lyric, font=font, fill='white')
|
| 31 |
return image
|
| 32 |
|
| 33 |
-
|
| 34 |
def generate_video(lyrics_with_timing, image_size=(800, 600), frame_rate=30):
|
| 35 |
frames = []
|
| 36 |
for start_time, end_time, lyric in lyrics_with_timing:
|
|
@@ -42,15 +40,10 @@ def generate_video(lyrics_with_timing, image_size=(800, 600), frame_rate=30):
|
|
| 42 |
frame = generate_lyric_frame(lyric, image_size)
|
| 43 |
frames.append(frame)
|
| 44 |
|
| 45 |
-
# Combine frames into a video
|
| 46 |
video = combine_frames_into_video(frames, frame_rate)
|
| 47 |
return video
|
| 48 |
|
| 49 |
-
def extract_last_frame(video):
|
| 50 |
-
# Placeholder code to extract the last frame from the video
|
| 51 |
-
last_frame_image = None # Replace with actual code to extract the last frame
|
| 52 |
-
return last_frame_image
|
| 53 |
-
|
| 54 |
def combine_frames_into_video(frames, frame_rate):
|
| 55 |
# Convert the first frame to a NumPy array to get its shape
|
| 56 |
first_frame_np = np.array(frames[0])
|
|
@@ -74,4 +67,4 @@ def combine_frames_into_video(frames, frame_rate):
|
|
| 74 |
# Release the video writer object
|
| 75 |
out.release()
|
| 76 |
|
| 77 |
-
return 'output.avi'
|
|
|
|
| 1 |
from PIL import Image, ImageDraw, ImageFont
|
| 2 |
import cv2
|
| 3 |
import numpy as np
|
|
|
|
| 4 |
|
| 5 |
def generate_lyric_frame(lyric, image_size):
|
| 6 |
# If image_size is None, provide a default value
|
|
|
|
| 29 |
draw.text((text_x, text_y), lyric, font=font, fill='white')
|
| 30 |
return image
|
| 31 |
|
|
|
|
| 32 |
def generate_video(lyrics_with_timing, image_size=(800, 600), frame_rate=30):
|
| 33 |
frames = []
|
| 34 |
for start_time, end_time, lyric in lyrics_with_timing:
|
|
|
|
| 40 |
frame = generate_lyric_frame(lyric, image_size)
|
| 41 |
frames.append(frame)
|
| 42 |
|
| 43 |
+
# Combine frames into a video
|
| 44 |
video = combine_frames_into_video(frames, frame_rate)
|
| 45 |
return video
|
| 46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
def combine_frames_into_video(frames, frame_rate):
|
| 48 |
# Convert the first frame to a NumPy array to get its shape
|
| 49 |
first_frame_np = np.array(frames[0])
|
|
|
|
| 67 |
# Release the video writer object
|
| 68 |
out.release()
|
| 69 |
|
| 70 |
+
return 'output.avi'
|