{"id":24998916,"url":"https://github.com/thiswillbeyourgithub/mediametadataextractor","last_synced_at":"2026-02-09T15:01:41.973Z","repository":{"id":271143609,"uuid":"912509641","full_name":"thiswillbeyourgithub/MediaMetadataExtractor","owner":"thiswillbeyourgithub","description":"MediaMetadataExtractor is a Python tool for extracting and organizing metadata from media files, supporting various formats and providing detailed output in Excel and JSON formats.","archived":false,"fork":false,"pushed_at":"2025-01-08T11:49:42.000Z","size":375,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T18:11:53.380Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thiswillbeyourgithub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-05T19:11:51.000Z","updated_at":"2025-01-09T12:59:22.000Z","dependencies_parsed_at":"2025-01-08T11:26:26.582Z","dependency_job_id":"7477ca88-5e72-4af6-b639-4c4e03a69e66","html_url":"https://github.com/thiswillbeyourgithub/MediaMetadataExtractor","commit_stats":null,"previous_names":["thiswillbeyourgithub/mediametadataparser","thiswillbeyourgithub/mediametadataextractor"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiswillbeyourgithub%2FMediaMetadataExtractor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiswillbeyourgithub%2FMediaMetadataExtractor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiswillbeyourgithub%2FMediaMetadataExtractor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiswillbeyourgithub%2FMediaMetadataExtractor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thiswillbeyourgithub","download_url":"https://codeload.github.com/thiswillbeyourgithub/MediaMetadataExtractor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250315027,"owners_count":21410469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-04T18:52:17.997Z","updated_at":"2026-02-09T15:01:40.574Z","avatar_url":"https://github.com/thiswillbeyourgithub.png","language":"Python","readme":"# MediaMetadataExtractor\n\n\u003e Une version française de ce fichier README est disponible : [README_fr.md](README_fr.md)  \n\u003e A French version of this README is available: [README_fr.md](README_fr.md)\n\n![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)\n![License](https://img.shields.io/badge/license-GPLv3-green.svg)\n\n![Application GUI](gui.png)\n\n## Motivation\n\nThis 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:\n\n- Quickly scan entire directories of media files\n- Extract all relevant technical metadata in one go\n- Provide an organized, searchable output\n- Handle the specific needs of video production workflows\n\nMediaMetadataExtractor 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.\n\n## Features\n\n- Extracts comprehensive metadata including:\n  - Duration (in seconds and HH:MM:SS format)\n  - Resolution (width x height)\n  - FPS (frames per second)\n  - Codec information\n  - Pixel format\n  - Bit depth\n  - Rotation\n  - Bitrate\n  - Color space\n  - File size (in bytes and MB)\n  - Modification date\n  - Additional technical metadata from file headers\n- Supports multiple media formats:\n  - Video: .mp4, .avi, .mkv, .mov\n  - Audio: .mp3, .wav, .flac, .m4a, .aac\n  - Supported formats: .mp3, .mp4, .avi, .mkv, .mov, .wav, .flac, .m4a, .aac\n- Recursively scans directories\n- Excludes hidden files (those starting with '.')\n- Provides:\n  - Total number of media files\n  - Total size in GB\n  - Detailed metadata for each file\n  - Results saved to Excel file with auto-adjusted column widths\n  - Optional JSON output with proper type conversion\n  - Remembers last used directory via temporary file\n  - Progress tracking with percentage complete\n  - Cancellation support\n  - Error handling for problematic files\n  - GUI with:\n    - Expandable documentation\n    - GitHub link\n    - Style enhancements\n    - Input validation\n\n## Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/thiswillbeyourgithub/MediaMetadataExtractor.git\ncd MediaMetadataExtractor\n```\n\n2. Install dependencies:\n```bash\npip install moviepy openpyxl natsort\n```\n\n## Usage\n\nRun the script to launch the GUI application:\n```bash\npython MediaMetadataExtractor.py\n```\n\n1. Select a folder containing media files\n2. Choose an output location\n3. Click 'Start Processing' to begin metadata extraction\n\nThe application will:\n- Scan the selected directory\n- Extract metadata from all supported media files\n- Save results to an Excel file\n- Optionally save results in JSON format\n\n## Requirements\n\n- Python 3.8+\n- Required packages:\n  - moviepy (for media metadata extraction)\n  - openpyxl (for Excel file creation)\n  - tkinter (for GUI interface)\n  - json (for optional JSON output)\n\n## Contributing\n\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository\n2. Create a new branch (`git checkout -b feature/YourFeatureName`)\n3. Commit your changes (`git commit -m 'Add some feature'`)\n4. Push to the branch (`git push origin feature/YourFeatureName`)\n5. Create a new Pull Request\n\n## License\n\nThis project is licensed under the GPLv3 License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\nIf you find this project useful, please consider starring the repository ⭐\n\nFor issues or feature requests, please open an issue on GitHub.\n\n## Example Output\n\nThe application generates a detailed Excel spreadsheet with metadata for each media file, including:\n- File name and path\n- File size in bytes and MB\n- Modification date\n- Duration in seconds and HH:MM:SS format\n- Resolution (for video files)\n- FPS (for video files)\n- Codec information\n- Additional technical details\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthiswillbeyourgithub%2Fmediametadataextractor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthiswillbeyourgithub%2Fmediametadataextractor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthiswillbeyourgithub%2Fmediametadataextractor/lists"}