Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -28,6 +28,14 @@ def check_password():
|
|
28 |
st.error("Incorrect password")
|
29 |
return False
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
def video_to_frames(video_file, frame_sampling_rate=1):
|
32 |
with tempfile.NamedTemporaryFile(delete=False, suffix='.mp4') as tmpfile:
|
33 |
tmpfile.write(video_file.read())
|
@@ -201,15 +209,14 @@ def main():
|
|
201 |
|
202 |
if uploaded_file is not None and st.button("START PROCESSING"):
|
203 |
with st.spinner("Processing..."):
|
204 |
-
# Assuming save_temporary_audio_file and other necessary functions are defined
|
205 |
-
# Ensure overlay_audio_file is saved to a temporary file if present
|
206 |
overlay_audio_path = None
|
207 |
if overlay_audio_file is not None:
|
|
|
208 |
overlay_audio_path = save_temporary_audio_file(overlay_audio_file)
|
209 |
|
210 |
# Process the uploaded video file
|
211 |
-
base64Frame, video_filename, video_duration = video_to_frames(uploaded_file, 1)
|
212 |
-
prompt = script_templates
|
213 |
text = frames_to_story(base64Frame, prompt, openai_key)
|
214 |
audio_filename = text_to_audio(text, openai_key, voice_options[voice])
|
215 |
output_video_filename = os.path.splitext(video_filename)[0] + "_output.mp4"
|
@@ -223,7 +230,7 @@ def main():
|
|
223 |
os.remove(audio_filename)
|
224 |
if overlay_audio_path:
|
225 |
os.remove(overlay_audio_path)
|
226 |
-
# Consider
|
227 |
|
228 |
if __name__ == "__main__":
|
229 |
main()
|
|
|
28 |
st.error("Incorrect password")
|
29 |
return False
|
30 |
|
31 |
+
|
32 |
+
def save_temporary_audio_file(uploaded_file):
|
33 |
+
with tempfile.NamedTemporaryFile(delete=False, suffix=".wav", mode='wb') as tmpfile: # Ensure mode is set to 'wb' for binary write
|
34 |
+
# Directly write the uploaded file content to the temporary file
|
35 |
+
tmpfile.write(uploaded_file.read()) # Use .read() to read bytes from the uploaded file
|
36 |
+
return tmpfile.name
|
37 |
+
|
38 |
+
|
39 |
def video_to_frames(video_file, frame_sampling_rate=1):
|
40 |
with tempfile.NamedTemporaryFile(delete=False, suffix='.mp4') as tmpfile:
|
41 |
tmpfile.write(video_file.read())
|
|
|
209 |
|
210 |
if uploaded_file is not None and st.button("START PROCESSING"):
|
211 |
with st.spinner("Processing..."):
|
|
|
|
|
212 |
overlay_audio_path = None
|
213 |
if overlay_audio_file is not None:
|
214 |
+
# Save the uploaded overlay audio file to a temporary file
|
215 |
overlay_audio_path = save_temporary_audio_file(overlay_audio_file)
|
216 |
|
217 |
# Process the uploaded video file
|
218 |
+
base64Frame, video_filename, video_duration = video_to_frames(uploaded_file, frame_sampling_rate=1)
|
219 |
+
prompt = script_templates[selected_script_type].format(selected_duration=selected_duration) # Fixed to directly access script_templates
|
220 |
text = frames_to_story(base64Frame, prompt, openai_key)
|
221 |
audio_filename = text_to_audio(text, openai_key, voice_options[voice])
|
222 |
output_video_filename = os.path.splitext(video_filename)[0] + "_output.mp4"
|
|
|
230 |
os.remove(audio_filename)
|
231 |
if overlay_audio_path:
|
232 |
os.remove(overlay_audio_path)
|
233 |
+
# Consider adding functionality for the user to download/view the final video
|
234 |
|
235 |
if __name__ == "__main__":
|
236 |
main()
|