gnosticdev commited on
Commit
796d198
·
verified ·
1 Parent(s): 32735a6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -16
app.py CHANGED
@@ -135,11 +135,20 @@ if audio_file:
135
  # Generate video when all images are generated
136
  if st.session_state[f'generated_images_{session_id}'] and st.session_state[f'audio_{session_id}'] and not st.session_state[f'video_generated_{session_id}']:
137
  with st.spinner("Generating video... Please wait."):
138
- # Create a directory for the video
139
  video_dir = "./generated_videos"
140
- os.makedirs(video_dir, exist_ok=True)
 
 
 
 
 
 
 
 
141
  video_filename = f"generated_video_{session_id}.mp4"
142
  video_path = os.path.join(video_dir, video_filename)
 
143
  # Map images to segments
144
  image_paths = [img[1] for img in st.session_state[f'generated_images_{session_id}']]
145
  generated_video_path = generate_video(
@@ -147,22 +156,35 @@ if st.session_state[f'generated_images_{session_id}'] and st.session_state[f'aud
147
  images=image_paths,
148
  segments=st.session_state[f'segments_{session_id}']
149
  )
150
- st.session_state[f'generated_video_{session_id}'] = generated_video_path
151
- st.session_state[f'video_generated_{session_id}'] = True # Set the flag to True
152
- st.success("Video generated successfully!")
153
- logger.info("Video generated successfully.")
 
 
 
 
 
 
 
154
  # Display the generated video
155
  if st.session_state[f'generated_video_{session_id}']:
156
- st.video(st.session_state[f'generated_video_{session_id}'])
157
-
158
- # Add a download button for the generated video
159
- with open(st.session_state[f'generated_video_{session_id}'], "rb") as file:
160
- st.download_button(
161
- label="Download Video",
162
- data=file,
163
- file_name=f"generated_video_{session_id}.mp4",
164
- mime="video/mp4"
165
- )
 
 
 
 
 
 
166
  else:
167
  st.warning("Please upload an audio file to proceed.")
168
  logger.warning("No audio file uploaded.")
 
135
  # Generate video when all images are generated
136
  if st.session_state[f'generated_images_{session_id}'] and st.session_state[f'audio_{session_id}'] and not st.session_state[f'video_generated_{session_id}']:
137
  with st.spinner("Generating video... Please wait."):
138
+ # Define the directory for the video
139
  video_dir = "./generated_videos"
140
+
141
+ # Ensure the directory exists
142
+ if not os.path.exists(video_dir):
143
+ os.makedirs(video_dir, exist_ok=True)
144
+ logger.info(f"Created directory: {video_dir}")
145
+ else:
146
+ logger.info(f"Directory already exists: {video_dir}")
147
+
148
+ # Define the video file path
149
  video_filename = f"generated_video_{session_id}.mp4"
150
  video_path = os.path.join(video_dir, video_filename)
151
+
152
  # Map images to segments
153
  image_paths = [img[1] for img in st.session_state[f'generated_images_{session_id}']]
154
  generated_video_path = generate_video(
 
156
  images=image_paths,
157
  segments=st.session_state[f'segments_{session_id}']
158
  )
159
+
160
+ # Check if the video was generated successfully
161
+ if generated_video_path and os.path.exists(generated_video_path):
162
+ st.session_state[f'generated_video_{session_id}'] = generated_video_path
163
+ st.session_state[f'video_generated_{session_id}'] = True
164
+ st.success("Video generated successfully!")
165
+ logger.info(f"Video saved at: {generated_video_path}")
166
+ else:
167
+ st.error("Error generating video.")
168
+ logger.error("Error generating video.")
169
+
170
  # Display the generated video
171
  if st.session_state[f'generated_video_{session_id}']:
172
+ video_path = st.session_state[f'generated_video_{session_id}']
173
+
174
+ # Check if the video file exists
175
+ if os.path.exists(video_path):
176
+ st.video(video_path) # Display the video
177
+
178
+ # Add a download button for the generated video
179
+ with open(video_path, "rb") as file:
180
+ st.download_button(
181
+ label="Download Video",
182
+ data=file.read(),
183
+ file_name=f"generated_video_{session_id}.mp4",
184
+ mime="video/mp4"
185
+ )
186
+ else:
187
+ st.error("The generated video file is missing or inaccessible.")
188
  else:
189
  st.warning("Please upload an audio file to proceed.")
190
  logger.warning("No audio file uploaded.")