Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -2822,18 +2822,23 @@ def generate_enhanced_track_video(year, typhoon_selection, standard):
|
|
2822 |
interval=400, blit=False, repeat=True # Slightly slower for better viewing
|
2823 |
)
|
2824 |
|
2825 |
-
# Save animation
|
2826 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2827 |
dir=tempfile.gettempdir())
|
2828 |
-
|
2829 |
-
# Enhanced writer settings
|
2830 |
-
writer = animation.FFMpegWriter(
|
2831 |
-
fps=3, bitrate=2000, codec='libx264', # Slower FPS for better visibility
|
2832 |
-
extra_args=['-pix_fmt', 'yuv420p'] # Better compatibility
|
2833 |
-
)
|
2834 |
-
|
2835 |
print(f"Saving animation to {temp_file.name}")
|
2836 |
-
anim.save(temp_file.name, writer=writer, dpi=120)
|
2837 |
plt.close(fig)
|
2838 |
|
2839 |
print(f"Video generated successfully: {temp_file.name}")
|
|
|
2822 |
interval=400, blit=False, repeat=True # Slightly slower for better viewing
|
2823 |
)
|
2824 |
|
2825 |
+
# Save animation with graceful fallback if FFmpeg is unavailable
|
2826 |
+
if shutil.which('ffmpeg'):
|
2827 |
+
writer = animation.FFMpegWriter(
|
2828 |
+
fps=3, bitrate=2000, codec='libx264',
|
2829 |
+
extra_args=['-pix_fmt', 'yuv420p']
|
2830 |
+
)
|
2831 |
+
suffix = '.mp4'
|
2832 |
+
else:
|
2833 |
+
print("FFmpeg not found - generating GIF instead")
|
2834 |
+
writer = animation.PillowWriter(fps=3)
|
2835 |
+
suffix = '.gif'
|
2836 |
+
|
2837 |
+
temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=suffix,
|
2838 |
dir=tempfile.gettempdir())
|
2839 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
2840 |
print(f"Saving animation to {temp_file.name}")
|
2841 |
+
anim.save(temp_file.name, writer=writer, dpi=120)
|
2842 |
plt.close(fig)
|
2843 |
|
2844 |
print(f"Video generated successfully: {temp_file.name}")
|