Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/salmankhanmsk786/multimedia-system-design
This project processes multimedia data, generates thumbnails from video files, and uploads them to Frame.io. The script integrates data from Baselight and Xytech files, processes video frames, creates thumbnails, and uploads them to a specified Frame.io project.
https://github.com/salmankhanmsk786/multimedia-system-design
Last synced: 24 days ago
JSON representation
This project processes multimedia data, generates thumbnails from video files, and uploads them to Frame.io. The script integrates data from Baselight and Xytech files, processes video frames, creates thumbnails, and uploads them to a specified Frame.io project.
- Host: GitHub
- URL: https://github.com/salmankhanmsk786/multimedia-system-design
- Owner: salmankhanmsk786
- Created: 2024-05-12T07:07:33.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-12T19:15:05.000Z (8 months ago)
- Last Synced: 2024-05-12T20:26:05.368Z (8 months ago)
- Language: Python
- Homepage:
- Size: 74.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.txt
Awesome Lists containing this project
README
Project 3: The Crucible
Overview: This project processes multimedia data, generates thumbnails from video files, and uploads them to Frame.io. The script integrates data from Baselight and Xytech files, processes video frames, creates thumbnails, and uploads them to a specified Frame.io project.Prerequisites
Python 3.x
MongoDB installed and running locally.
FFmpeg installed and added to your system's PATH.
Frame.io API Token with appropriate permissions.1. Installation
Clone the Repository:
git clone
cd The_Crucible2. Install Required Packages:
Install Required Packages:pip install -r requirements.txt
3.Install Frame.io Python Client:
pip install frameioclientUsage
Command-Line Arguments
-b or --baselight: Path to the Baselight export file.
-x or --xytech: Path to the Xytech file.
-v or --video: Path to the video file.
-c or --command: Command to execute (process, video, export).
-t or --token: Frame.io API Token.
-p or --parent_id: Parent Asset ID for the Frame.io project.Example Commands
1. Process Baselight and Xytech Data:
python The_Crucible.py -b Baselight_export.txt -x Xytech.txt -c process2. Process Video and Generate Thumbnails:
python The_Crucible.py -v twitch_nft_demo.mp4 -c video3. Export Data and Upload Thumbnails to Frame.io:
python The_Crucible.py -c export -b Baselight_export.txt -x Xytech.txt -v twitch_nft_demo.mp4Script Details
Main Functions
* read_and_insert_baselight_data(filepath): Reads Baselight data and inserts it into MongoDB.
* read_and_insert_xytech_data(filepath): Reads Xytech data and inserts it into MongoDB.
* fetch_and_filter_frame_data(db, video_path, fps): Fetches and filters frame data based on video length.
* create_thumbnail(video_path, frame, fps): Creates a thumbnail for a given frame.
* upload_to_frameio(api_token, parent_asset_id, file_path): Uploads a file to Frame.io.
Running the Script
* Ensure MongoDB is running locally.
* Execute the script with the desired command-line arguments.