A powerful web-based tool for extracting comprehensive metadata from video files using multiple industry-standard libraries. This application provides detailed information about video files including technical specifications, creation dates, and generates thumbnails.
-
File Information
- File name and MD5 hash
- File size (formatted in B, KB, MB, GB, TB)
- File format detection
-
Video Technical Specifications
- Resolution (width x height)
- Frame rate (FPS)
- Video codec
- Total number of frames
- Duration (formatted as hours, minutes, seconds)
-
Date Information
- Creation date (from metadata)
- Modification date (from metadata)
-
Visual Content
- Automatic thumbnail generation (screenshot at random timestamp)
The application uses multiple libraries to ensure maximum compatibility and accuracy:
- FFmpeg/FFprobe - Primary video analysis tool
- MediaInfo - Comprehensive media file analysis
- ExifTool - Metadata extraction and date parsing
- PHP - Backend processing and web interface
- Bootstrap - Modern, responsive UI
- PHP 8.0 or higher
- Web server (Apache, Nginx, or built-in PHP server)
- Sufficient disk space for temporary file uploads
# Ubuntu/Debian
sudo apt update
sudo apt install ffmpeg
# CentOS/RHEL
sudo yum install ffmpeg
# macOS
brew install ffmpeg
# Windows
# Download from https://ffmpeg.org/download.html# Ubuntu/Debian
sudo apt install mediainfo
# CentOS/RHEL
sudo yum install mediainfo
# macOS
brew install mediainfo
# Windows
# Download from https://mediaarea.net/en/MediaInfo/Download# Ubuntu/Debian
sudo apt install libimage-exiftool-perl
# CentOS/RHEL
sudo yum install perl-Image-ExifTool
# macOS
brew install exiftool
# Windows
# Download from https://exiftool.org/-
Clone or download the project
git clone <repository-url> cd vidfor2
-
Set up web server
- Place files in your web server directory
- Ensure the
uploads/directory is writable
chmod 755 uploads/
-
Verify external tools
# Check if all tools are available ffmpeg -version ffprobe -version mediainfo --version exiftool -ver -
Configure paths (if needed) Edit
process.phpand update the tool paths if they're not in your system PATH:private $ffmpegPath = '/usr/bin/ffmpeg'; private $ffprobePath = '/usr/bin/ffprobe'; private $mediainfoPath = '/usr/bin/mediainfo'; private $exiftoolPath = '/usr/bin/exiftool';
-
Access the application
- Open your web browser
- Navigate to
http://your-domain/index.php
-
Upload video files
- Click "Choose Files" to select one or multiple video files
- Supported formats: MP4, AVI, MOV, MKV, WMV, FLV, WebM, and more
-
Extract metadata
- Click "Upload & Extract Metadata"
- Wait for processing to complete
-
View results
- Results are displayed in a table format
- Each row contains comprehensive metadata for one video file
- Thumbnails are generated automatically
- Common Formats: MP4, AVI, MOV, MKV, WMV, FLV, WebM
- Professional Formats: ProRes, DNxHD, CineForm
- Codecs: H.264, H.265, VP9, AV1, MPEG-2, MPEG-4
- Containers: All formats supported by FFmpeg
Adjust PHP settings in php.ini for large files:
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 300
memory_limit = 256MThe uploads/ directory stores temporary files and thumbnails. Ensure it has proper permissions:
chmod 755 uploads/
chown www-data:www-data uploads/ # For Apache/Nginx-
"Command not found" errors
- Ensure all external tools are installed and in PATH
- Check tool paths in
process.php
-
Permission denied errors
- Verify
uploads/directory permissions - Check web server user permissions
- Verify
-
Large file upload failures
- Increase PHP upload limits
- Check server timeout settings
-
Missing metadata
- Some files may not contain all metadata fields
- The application uses fallback methods for incomplete data
Enable debug logging by uncommenting debug lines in process.php:
file_put_contents($this->uploadDir . 'debug.log', $output, FILE_APPEND);- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- FFmpeg - Multimedia framework
- MediaInfo - Media file analysis
- ExifTool - Metadata extraction
- Bootstrap - CSS framework
For support and questions:
- Create an issue in the repository
- Check the troubleshooting section above
- Verify all dependencies are properly installed
Note: This tool is designed for legitimate video analysis purposes. Please ensure you have the right to analyze any video files you upload.