HongcanGuo commited on
Commit
5b17412
·
verified ·
1 Parent(s): 7666f7c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -16
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, video_duration)
185
 
186
  # 将音频数据写入临时文件
187
- with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as tmpfile:
188
  scipy.io.wavfile.write(tmpfile, audio_rate, audio_data)
189
- tmpfile_path = tmpfile.name
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
- with open(video_file_path, 'rb') as f:
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