Skip to main content

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


Download files

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

Source Distribution

nirabo_media_transcoder-0.1.0.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

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

nirabo_media_transcoder-0.1.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

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

Hashes for nirabo_media_transcoder-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8d57fc672ce739fafdcf4cf846dc26decd021b5a98894a4aea3cade6f50f9eb3
MD5 43ac157d9208574936c0005c52912424
BLAKE2b-256 394010272ef99016308646a86f92fac984a92e26282b19798adba16c8a826405

See more details on using hashes here.

File details

Details for the file nirabo_media_transcoder-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nirabo_media_transcoder-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 069d1df00b0e7f78055dbf1d1b6ae6e6c3af24a6805452bd6dd611968d81320a
MD5 e6e19491d4e3c396b75b59878861f93b
BLAKE2b-256 5a31e0b6e3ba6b6dddcb7ff34ef98ce42fe03d4d5f43912ae480eab33b6f6f36

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