Spaces:
Running
Running
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 |
|