Une version française de ce fichier README est disponible : README_fr.md
A French version of this README is available: README_fr.md
This project was created to help my significant other who works in video production and needed a quicker way to access metadata from large collections of dailies, rush footage, and other video files. The existing tools were either too slow, didn't provide the right information, or required manual processing of each file. MediaMetadataExtractor was designed to:
- Quickly scan entire directories of media files
- Extract all relevant technical metadata in one go
- Provide an organized, searchable output
- Handle the specific needs of video production workflows
MediaMetadataExtractor is a powerful tool for extracting and organizing metadata from media files. It supports various media formats and provides detailed information in both Excel and JSON formats.
- Extracts comprehensive metadata including:
- Duration (in seconds and HH:MM:SS format)
- Resolution (width x height)
- FPS (frames per second)
- Codec information
- Pixel format
- Bit depth
- Rotation
- Bitrate
- Color space
- File size (in bytes and MB)
- Modification date
- Additional technical metadata from file headers
- Supports multiple media formats:
- Video: .mp4, .avi, .mkv, .mov
- Audio: .mp3, .wav, .flac, .m4a, .aac
- Supported formats: .mp3, .mp4, .avi, .mkv, .mov, .wav, .flac, .m4a, .aac
- Recursively scans directories
- Excludes hidden files (those starting with '.')
- Provides:
- Total number of media files
- Total size in GB
- Detailed metadata for each file
- Results saved to Excel file with auto-adjusted column widths
- Optional JSON output with proper type conversion
- Remembers last used directory via temporary file
- Progress tracking with percentage complete
- Cancellation support
- Error handling for problematic files
- GUI with:
- Expandable documentation
- GitHub link
- Style enhancements
- Input validation
- Clone the repository:
git clone https://github.com/thiswillbeyourgithub/MediaMetadataExtractor.git
cd MediaMetadataExtractor
- Install dependencies:
pip install moviepy openpyxl natsort
Run the script to launch the GUI application:
python MediaMetadataExtractor.py
- Select a folder containing media files
- Choose an output location
- Click 'Start Processing' to begin metadata extraction
The application will:
- Scan the selected directory
- Extract metadata from all supported media files
- Save results to an Excel file
- Optionally save results in JSON format
- Python 3.8+
- Required packages:
- moviepy (for media metadata extraction)
- openpyxl (for Excel file creation)
- tkinter (for GUI interface)
- json (for optional JSON output)
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/YourFeatureName
) - Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin feature/YourFeatureName
) - Create a new Pull Request
This project is licensed under the GPLv3 License - see the LICENSE file for details.
If you find this project useful, please consider starring the repository ⭐
For issues or feature requests, please open an issue on GitHub.
The application generates a detailed Excel spreadsheet with metadata for each media file, including:
- File name and path
- File size in bytes and MB
- Modification date
- Duration in seconds and HH:MM:SS format
- Resolution (for video files)
- FPS (for video files)
- Codec information
- Additional technical details