euler314 commited on
Commit
b7e25bb
·
verified ·
1 Parent(s): dd7cf2d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -10
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
- temp_file = tempfile.NamedTemporaryFile(delete=False, suffix='.mp4',
 
 
 
 
 
 
 
 
 
 
 
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) # Higher DPI for better quality
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}")