Spaces:
Build error
Build error
| import subprocess | |
| from fastapi import HTTPException | |
| def compress_video(input_path: str, output_path: str, resolution: str = "256x144"): | |
| """Compress video using FFmpeg for maximum reduction, with audio removed.""" | |
| command = [ | |
| "ffmpeg", | |
| "-y", # Force overwrite without asking | |
| "-i", input_path, | |
| "-vf", f"scale={resolution}", | |
| "-an", # Remove audio | |
| "-c:v", "libx265", | |
| "-preset", "medium", # Changed from veryslow for better speed/compression balance | |
| "-crf", "32", | |
| "-maxrate", "150k", | |
| "-bufsize", "200k", | |
| "-r", "10", | |
| output_path | |
| ] | |
| try: | |
| subprocess.run(command, check=True, capture_output=True, text=True) | |
| except subprocess.CalledProcessError as e: | |
| print(f"Compression error: {e.stderr}") | |
| raise HTTPException(status_code=500, detail="Video compression failed") |