{"id":17445621,"url":"https://github.com/trentonom0r3/celux","last_synced_at":"2025-04-19T13:48:51.866Z","repository":{"id":258008468,"uuid":"864412929","full_name":"Trentonom0r3/CeLux","owner":"Trentonom0r3","description":"CeLux: High-performance video processing for Python, powered by FFmpeg and PyTorch. Ultra-fast video decoding directly to tensors with CPU and CUDA support.","archived":false,"fork":false,"pushed_at":"2025-01-25T06:10:18.000Z","size":203409,"stargazers_count":11,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T07:17:29.895Z","etag":null,"topics":["ffmpeg","libtorch","machne-learning","python","pytorch","tensors","torch","video-processing","video-reader"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Trentonom0r3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","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":"2024-09-28T06:37:57.000Z","updated_at":"2025-03-05T17:26:33.000Z","dependencies_parsed_at":"2025-01-03T02:32:43.725Z","dependency_job_id":"c454a5ec-b2e5-4aa5-bab2-d1a0df0e67fd","html_url":"https://github.com/Trentonom0r3/CeLux","commit_stats":{"total_commits":137,"total_committers":2,"mean_commits":68.5,"dds":"0.16058394160583944","last_synced_commit":"9ed4da6fba4db3b813ea5fd376c97f42d8b310fe"},"previous_names":["trentonom0r3/celux","trentonom0r3/ffmpy"],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trentonom0r3%2FCeLux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trentonom0r3%2FCeLux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trentonom0r3%2FCeLux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trentonom0r3%2FCeLux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Trentonom0r3","download_url":"https://codeload.github.com/Trentonom0r3/CeLux/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249707086,"owners_count":21313766,"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":["ffmpeg","libtorch","machne-learning","python","pytorch","tensors","torch","video-processing","video-reader"],"created_at":"2024-10-17T18:06:19.382Z","updated_at":"2025-04-19T13:48:51.861Z","avatar_url":"https://github.com/Trentonom0r3.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Release and Benchmark Tests](https://github.com/Trentonom0r3/CeLux/actions/workflows/createRelease.yaml/badge.svg)](https://github.com/Trentonom0r3/CeLux/actions/workflows/createRelease.yaml)\n[![License](https://img.shields.io/badge/license-AGPL%203.0-blue.svg)](LICENSE)\n[![PyPI Version](https://img.shields.io/pypi/v/celux)](https://pypi.org/project/celux/)\n[![PyPI Version CUDA](https://img.shields.io/pypi/v/celux-cuda)](https://pypi.org/project/celux-cuda/)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/celux)](https://pypi.org/project/celux/)\n[![Python Versions](https://img.shields.io/pypi/pyversions/celux)](https://pypi.org/project/celux/)\n[![Discord](https://img.shields.io/discord/1041502781808328704.svg?label=Join%20Us%20on%20Discord\u0026logo=discord\u0026colorB=7289da)](https://discord.gg/hFSHjGyp4p)\n\n\n# CeLux\n\n**CeLux** is a high-performance Python library for video processing, leveraging the power of FFmpeg. It delivers some of the fastest decode times for full HD videos globally, enabling efficient and seamless video decoding directly into PyTorch tensors.\n\nThe name **CeLux** is derived from the Latin words `celer` (speed) and `lux` (light), reflecting its commitment to speed and efficiency.\n\n# [Check out the latest changes](docs/CHANGELOG.md#version-060)\n  - **CeLux** now has basic audio support!\n    - Decode into tensor, or directly into file.\n    \n## 📚 Documentation\n\n- [📝 Changelog](docs/CHANGELOG.md)\n- [📦 Installation Instructions](docs/INSTALLATION.md)\n  - [🤖 PIP installation](docs/INSTALLATION.md#pip-installation)\n  - [🛠️ Building from Source](docs/INSTALLATION.md#building-from-source)\n- [🚀 Getting Started](docs/GETTINGSTARTED.md)\n- [📊 Benchmarks](docs/BENCHMARKS.md)\n- [🤝 Contributing Guide](docs/CONTRIBUTING.md)\n- [❓ FAQ](docs/FAQ.md)\n\n## 🚀 Features\n\n- **⚡ Ultra-Fast Video Decoding:** Achieve lightning-fast decode times for full HD videos using hardware acceleration.\n- **🔗 Direct Decoding to Tensors:** Decode video frames directly into PyTorch tensors for immediate processing.\n- **🔄 Easy Integration:** Seamlessly integrates with existing Python workflows, making it easy to incorporate into your projects.\n\n## ⚡ Quick Start\n\n```sh\npip install celux  # cpu only version\n```\n\n```py\nfrom celux import VideoReader, Scale\n#import celux as cx\nfilters = [Scale(width = 1920, height = 1080)]\nreader = VideoReader(\"/path/to/video.ext\",\n                    #num_threads: int = os.cpu_count(),\n                    filters = filters,\n                    #tensor_shape: str = 'HWC'\n                    )\nfor frame in reader:\n# do something\n```\n\n\u003c!-- BENCHMARK_SUMMARY_START --\u003e\n\n## 📊 Benchmark Summary\n\n| Library  | Device       | Frames per Second (FPS) |\n|----------|--------------|-------------------------|\n| Celux | CPU      | 1520.75                 |\n| PyAV | CPU      | 350.58                |\n| OpenCV | CPU      | 454.44                 |\n\n\nFor more details, see [Benchmarks](docs/BENCHMARKS.md).\n\n\u003c!-- BENCHMARK_SUMMARY_END --\u003e\n\n## 📄 License\n\nThis project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**. See the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- **[FFmpeg](https://ffmpeg.org/):** The backbone of video processing in CeLux.\n- **[PyTorch](https://pytorch.org/):** For tensor operations and CUDA support.\n- **[Vcpkg](https://github.com/microsoft/vcpkg):** Simplifies cross-platform dependency management.\n- **[@NevermindNilas](https://github.com/NevermindNilas):** For assistance with testing, API suggestions, and more.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrentonom0r3%2Fcelux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrentonom0r3%2Fcelux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrentonom0r3%2Fcelux/lists"}