A powerful web application that converts multiple images into professional videos with smooth transitions and customizable settings.
- Drag & Drop Interface: Easy-to-use interface for uploading images
- Multiple Transition Effects:
- Fade
- Slide Left
- Slide Right
- Zoom
- None (instant cut)
- Customizable Settings:
- Frame rate (24, 30, 60 FPS)
- Duration per image (1-10 seconds)
- Multiple resolutions (HD, Full HD, 2K, 4K)
- Supported Image Formats: JPG, PNG, GIF, BMP, WEBP
- Real-time Progress: Visual feedback during video generation
- Instant Download: Download generated videos immediately
- Backend: Flask (Python web framework)
- Video Processing: OpenCV
- Image Processing: Pillow
- Frontend: HTML5, CSS3, JavaScript
- UI Design: Modern gradient design with responsive layout
- Python 3.8 or higher
- pip (Python package manager)
- Clone or download the repository
cd OSINT- Create a virtual environment (recommended)
python -m venv venv
# On Linux/Mac:
source venv/bin/activate
# On Windows:
venv\Scripts\activate- Install dependencies
pip install -r requirements.txt- Run the Flask application
python app.py- Open your browser and navigate to:
http://localhost:5000
-
Upload Images:
- Drag and drop images onto the upload area, or
- Click the upload area to browse and select images
- Supported formats: JPG, PNG, GIF, BMP, WEBP
-
Configure Settings:
- Frame Rate: Choose between 24, 30, or 60 FPS
- Duration: Set how long each image displays (1-10 seconds)
- Transition: Select transition effect between images
- Resolution: Choose video quality (HD to 4K)
-
Generate Video:
- Click the "Generate Video" button
- Wait for the progress bar to complete
- Video processing time depends on:
- Number of images
- Selected resolution
- Transition complexity
-
Download:
- Once complete, click "Download Video" to save your creation
- Videos are saved in MP4 format
- Use images with similar aspect ratios for best results
- Higher resolutions take longer to process
- Fade transitions work well for smooth, professional videos
- 3 seconds per image is a good default duration
- For social media: Use 1920x1080 (Full HD) resolution
OSINT/
├── app.py # Main Flask application
├── requirements.txt # Python dependencies
├── README.md # This file
├── .gitignore # Git ignore rules
├── templates/
│ └── index.html # Main HTML template
├── static/
│ ├── css/
│ │ └── style.css # Stylesheet
│ └── js/
│ └── script.js # Frontend JavaScript
├── uploads/ # Temporary image storage (auto-created)
└── outputs/ # Generated videos (auto-created)
Upload images to the server.
Request: multipart/form-data with 'images' files
Response:
{
"success": true,
"files": ["image1.jpg", "image2.jpg"],
"count": 2
}Generate video from uploaded images.
Request:
{
"fps": 30,
"duration": 3,
"transition": "fade",
"resolution": "1920x1080"
}Response:
{
"success": true,
"filename": "video_20231031_120000.mp4",
"message": "Video generated successfully"
}Download a generated video.
Clear all uploaded images and generated videos.
You can modify the following settings in app.py:
MAX_CONTENT_LENGTH: Maximum upload size (default: 50MB)ALLOWED_EXTENSIONS: Supported image formats- Default video settings (FPS, duration, resolution, etc.)
Images not uploading:
- Check file format is supported
- Ensure total upload size is under 50MB
- Check browser console for errors
Video generation fails:
- Verify all uploaded images are valid
- Check available disk space
- Review server logs for error messages
Video quality issues:
- Use higher resolution images
- Select higher output resolution
- Ensure images have similar dimensions
- For faster processing, use lower resolutions during testing
- Batch upload all images at once rather than one-by-one
- Close other resource-intensive applications
- Use SSD storage for faster read/write operations
- Files are stored temporarily and should be cleared regularly
- The application accepts only image files (validated by extension)
- Upload size is limited to 50MB by default
- Consider adding authentication for production use
Potential features for future versions:
- Audio/music support
- Text overlays
- More transition effects
- Image filters and effects
- Batch processing
- Video preview before download
- Cloud storage integration
- User accounts and project saving
This project is open source and available for educational and commercial use.
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Improve documentation
For issues or questions:
- Check the troubleshooting section
- Review error messages in browser console
- Check server logs for detailed error information
Built with:
- Flask - Web framework
- OpenCV - Video processing
- Pillow - Image processing
- Modern CSS3 - Styling
- Vanilla JavaScript - Interactivity
Enjoy creating amazing videos from your images!
