A media transcoder with CUDA hardware acceleration support
Project description
Media Transcoder
A powerful media transcoding tool with CUDA hardware acceleration support.
Features
- Transcode video files to web-optimized formats
- NVIDIA CUDA hardware acceleration support for faster transcoding
- Automatic detection of hardware capabilities
- Batch processing of media files
- Database tracking of transcoded files
- Web-safe filename generation
Installation
# Using uv (recommended)
uv pip install media-transcoder
# Using pip
pip install media-transcoder
Requirements
- Python 3.8+
- FFmpeg with hardware acceleration support (optional)
- NVIDIA GPU with CUDA support (optional, for hardware acceleration)
Usage
# Basic usage
media-transcoder -t /path/to/videos/
# Use hardware acceleration (if available)
media-transcoder -t /path/to/videos/ --keep-originals
# Force software encoding
media-transcoder -t /path/to/videos/ --software-only
# Generate web-safe filenames
media-transcoder -t /path/to/videos/ --web-safe-names
# Verbose output
media-transcoder -t /path/to/videos/ -v
# Force processing of all files
media-transcoder -t /path/to/videos/ -f
Development
Setup Development Environment
# Clone the repository
git clone https://github.com/lpetrov/media-transcoder.git
cd media-transcoder
# Install development dependencies using uv
uv pip install -e ".[dev]"
Run Tests
# Using uv
uv run pytest
# Or with the script runner
uv run --script tests/test_transcoder.py
Run Tests with Coverage
# Using uv
uv run pytest --cov=media_transcoder
Building the Package
To build the package for distribution:
# Build both wheel and source distribution
uv build
# The built packages will be in the dist/ directory
ls dist/
Publishing to PyPI
To publish the package to PyPI:
# Test publishing to TestPyPI first
uv publish --index testpypi
# Publish to the official PyPI
uv publish
Managing Dependencies
This project uses UV for dependency management. To update dependencies:
# Update all dependencies
uv pip sync
# Add a new dependency
uv pip install new-package
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nirabo_media_transcoder-0.1.0.tar.gz.
File metadata
- Download URL: nirabo_media_transcoder-0.1.0.tar.gz
- Upload date:
- Size: 24.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d57fc672ce739fafdcf4cf846dc26decd021b5a98894a4aea3cade6f50f9eb3
|
|
| MD5 |
43ac157d9208574936c0005c52912424
|
|
| BLAKE2b-256 |
394010272ef99016308646a86f92fac984a92e26282b19798adba16c8a826405
|
File details
Details for the file nirabo_media_transcoder-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nirabo_media_transcoder-0.1.0-py3-none-any.whl
- Upload date:
- Size: 21.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
069d1df00b0e7f78055dbf1d1b6ae6e6c3af24a6805452bd6dd611968d81320a
|
|
| MD5 |
e6e19491d4e3c396b75b59878861f93b
|
|
| BLAKE2b-256 |
5a31e0b6e3ba6b6dddcb7ff34ef98ce42fe03d4d5f43912ae480eab33b6f6f36
|