Skip to main content

reVidx

FFmpeg

reVidx is a cross-platform CLI tool designed to re-encode video files to AVC (H.264) codec and audio to MP3 for compatibility with legacy devices and players.

Built on top of FFmpeg, it offers a simple, fast interface for batch processing video conversion, subtitle burning, and audio extraction (aac) with a minimal terminal progress bar.

Requirements

Installation from source

  • Install directly from github repo
    git clone https://github.com/voidsnax/reVidx.git
    cd revidx
    pip install -e .
    

Features

  • Video Conversion: Converts HEVC (H.265) to AVC (H.264) with proper pixel format and colour range settings for older device compatibility.

  • Audio Conversion: Encodes audio to mp3 (192kbps) for video files.

  • Audio Extraction: Extracts audio directly to aac (128kbps).

  • Subtitle Burning: Hardcode subtitles into the video track.

  • Progress Bar: Displays real-time stats including Size, Duration, Percentage, and Elapsed Time.

  • Fast Encoding: Uses crf 20 (default) with veryfast preset for a balance of speed and quality.

  • Batch Processing: Process multiple video files sequentially with a single command.

Usage

usage: revidx INPUTFILES ... [OPTIONS]

positional arguments:
  inputfiles          Input video files

options:
  -h, --help          show this help message and exit
  -o [PATH/NAME]      Output directory or filename
  -skip               Skip video encoding (copy)
  -burn [INDEX/PATH]  Burn subtitles into the video (default: 0)
  -aindex INDEX       Audio index (default: 0)
  -audio              Extract only audio to AAC
  -crf VALUE          CRF value (default: 20)

Note: You can use ffprobe to get file info

Basic Conversion

Convert a video file to avc/mp3. The output will be saved as input-AvcMp3.mp4.

revidx inputvideo

Skip Video Encoding

Convert the audio to mp3 and Keep the original video stream.

revidx inputvideo -skip

Specify Output Path

Convert a videofile and save it with specific name or convert multiple files and save them to specific folder.

revidx inputvideo -o ~/Covertedvideo.mp4
revidx inputvideo -o ./ConvertedVideos

Burn Subtitles

Burn the first subtitle track into the video.

revidx inputvideo -burn

Burn a specific subtitle stream from input video.

revidx inputvideo -burn 2

Burn a specific external subtitle file.

revidx inputvideo -burn pathtosubfile

Extract Audio Only

Extract the audio track to an aac file.

revidx inputvideo -audio

Batch Processing

Convert all mkv files in current dir to avc/mp3

revidx *.mkv inputvideo

Convert all files in current dir to avc/mp3

revidx ./* inputvideo

Notes

  • Output Extensions: When using -o to specify a filename, ensure it ends with .mp4 or .mkv (video) or .aac (audio).
  • Automatic Naming: If no name is provided, output is saved as input-AvcMp3.mp4 or input.aac.
  • Overwriting: The tool automatically overwrites existing files without prompting.
  • Subtitles: Subtitle index start from 0 and ensure proper subtitle formats are passed when -burn is provided with external path.
  • Interrupting: Press Ctrl+C to abort the current encoding.

License

MIT License

Release files for revidx 1.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for revidx 1.4.2
File Size Uploaded
revidx-1.4.2.tar.gz 9.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for revidx 1.4.2
File Interpreter ABI Platform
revidx-1.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 18.6 kB

Release files / revidx-1.4.2.tar.gz

Download URL revidx-1.4.2.tar.gz
Size 9.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d3838b4db16b1f8c8cef2bd0e4f51fc5dccda5ef830b32c5453c28fa8f6aa770
BLAKE2b-256 checksum
How to use checksums
d32893a57eb2632af875e0cc7d56843a3cbd7ffe4e73f91c83d8700bdcd9de00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 3, 2026.

Transparency log

Release files / revidx-1.4.2-py3-none-any.whl

Download URL revidx-1.4.2-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b199630d4224c3430ba5c2d9edef199b2cda50bb27ad43dacd0fa171398b7336
BLAKE2b-256 checksum
How to use checksums
8a001312c7989d950587c548a34aed9e463f4e46ca4a4ddbbcf80d052bf16993
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.4.2 This release

2 release files

1.4.1

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page