Skip to main content

HW accelerated video reading for ML Inference (CUDA version).

Project description

Release and Benchmark Tests License PyPI Version PyPI Version CUDA PyPI - Downloads Python Versions Discord

CeLux

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.

The name CeLux is derived from the Latin words celer (speed) and lux (light), reflecting its commitment to speed and efficiency.

📚 Documentation

🚀 Features

  • ⚡ Ultra-Fast Video Decoding: Achieve lightning-fast decode times for full HD videos using hardware acceleration.
  • 🔗 Direct Decoding to Tensors: Decode video frames directly into PyTorch tensors for immediate processing.
  • 🖥️ Hardware Acceleration Support: Utilize CUDA for GPU-accelerated decoding, significantly improving performance.
  • 🔄 Easy Integration: Seamlessly integrates with existing Python workflows, making it easy to incorporate into your projects.

⚡ Quick Start

pip install celux  # cpu only version
pip install celux-cuda  # cuda+cpu
from celux import VideoReader, Scale
#import celux as cx
filters = [Scale(width = 1920, height = 1080)]
reader = VideoReader("/path/to/video.ext",
                    #num_threads: int = os.cpu_count(),
                    filters = filters,
                    #tensor_shape: str = 'HWC'
                    )
for frame in reader:
# do something

📊 Benchmark Summary

Library Device Frames per Second (FPS)
Celux CPU 1520.75
Celux CUDA 1710.85
PyAV CPU 350.58
OpenCV CPU 454.44

For more details, see Benchmarks.

📄 License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.

🙏 Acknowledgments

  • FFmpeg: The backbone of video processing in CeLux.
  • PyTorch: For tensor operations and CUDA support.
  • Vcpkg: Simplifies cross-platform dependency management.
  • @NevermindNilas: For assistance with testing, API suggestions, and more.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

celux_cuda-0.5.6.1-py3-none-any.whl (12.1 MB view details)

Uploaded Python 3

File details

Details for the file celux_cuda-0.5.6.1-py3-none-any.whl.

File metadata

  • Download URL: celux_cuda-0.5.6.1-py3-none-any.whl
  • Upload date:
  • Size: 12.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for celux_cuda-0.5.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 66194d3e681f6fb16a47dc9949d5b8c59ea1dbcf1928337813923395af161607
MD5 81109b1a319aff978f8dc34b77ce270f
BLAKE2b-256 fb46ecd97502e3196886ee784e55f82d5da896cd5a612ad7bf39730743a8a2e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page