Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -179,35 +179,26 @@ def generate_video(image):
|
|
| 179 |
video_clip = ImageSequenceClip(video_frames, fps=24)
|
| 180 |
video_duration = video_clip.duration
|
| 181 |
|
| 182 |
-
#
|
| 183 |
audio_text = text2text_A(text)
|
| 184 |
-
audio_data, audio_rate = text2audio(audio_text,
|
| 185 |
|
| 186 |
# 将音频数据写入临时文件
|
| 187 |
-
with tempfile.NamedTemporaryFile(delete=
|
| 188 |
scipy.io.wavfile.write(tmpfile, audio_rate, audio_data)
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
# 创建AudioFileClip对象
|
| 192 |
-
audio_clip = AudioFileClip(tmpfile_path)
|
| 193 |
|
| 194 |
# 将音频添加到视频中
|
| 195 |
video_clip = video_clip.set_audio(audio_clip)
|
| 196 |
-
print("audio_done")
|
| 197 |
|
| 198 |
# 将视频写入临时文件
|
| 199 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp4") as tmpfile:
|
| 200 |
video_clip.write_videofile(tmpfile.name, codec="libx264", audio_codec="aac")
|
| 201 |
video_file_path = tmpfile.name
|
| 202 |
|
| 203 |
-
#
|
| 204 |
-
|
| 205 |
-
video_data = f.read()
|
| 206 |
-
video_io = BytesIO(video_data)
|
| 207 |
-
os.remove(video_file_path)
|
| 208 |
-
os.remove(tmpfile_path)
|
| 209 |
-
print("video_done")
|
| 210 |
-
return video_io
|
| 211 |
|
| 212 |
import traceback
|
| 213 |
|
|
|
|
| 179 |
video_clip = ImageSequenceClip(video_frames, fps=24)
|
| 180 |
video_duration = video_clip.duration
|
| 181 |
|
| 182 |
+
# 生成音频
|
| 183 |
audio_text = text2text_A(text)
|
| 184 |
+
audio_data, audio_rate = text2audio(audio_text, video_clip.duration)
|
| 185 |
|
| 186 |
# 将音频数据写入临时文件
|
| 187 |
+
with tempfile.NamedTemporaryFile(delete=True, suffix=".wav") as tmpfile:
|
| 188 |
scipy.io.wavfile.write(tmpfile, audio_rate, audio_data)
|
| 189 |
+
tmpfile.flush() # 确保数据已写入磁盘
|
| 190 |
+
audio_clip = AudioFileClip(tmpfile.name)
|
|
|
|
|
|
|
| 191 |
|
| 192 |
# 将音频添加到视频中
|
| 193 |
video_clip = video_clip.set_audio(audio_clip)
|
|
|
|
| 194 |
|
| 195 |
# 将视频写入临时文件
|
| 196 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp4") as tmpfile:
|
| 197 |
video_clip.write_videofile(tmpfile.name, codec="libx264", audio_codec="aac")
|
| 198 |
video_file_path = tmpfile.name
|
| 199 |
|
| 200 |
+
# 函数现在返回视频文件的路径,不再需要读取数据并删除
|
| 201 |
+
return video_file_path
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 202 |
|
| 203 |
import traceback
|
| 204 |
|