Skip to main content

🌊 FluxMedia

The official Python module and PyPI package for FluxMedia, featuring a customizable LAN QR share portal and rich media player.

PyPI version Python versions License: MIT

A powerful, open-source, and cross-platform command-line media downloader designed for simplicity, robustness, and speed.


[!IMPORTANT] Disclaimer & Educational Notice: This program is developed strictly for educational and research purposes. You must obtain explicit permission from the original content creators before downloading any videos or media. The author does not assume any liability for unauthorized downloads or usage of this tool.

🚀 Quick Start

[!TIP] Looking for detailed step-by-step installation instructions for your specific OS (Windows, macOS, Linux, or Termux)? Check out the Detailed OS-Specific Setup Guide.

1. Installation

Install FluxMedia globally on any system running Python 3.10+ directly via pip:

pip install fluxmedia

If you run into an externally-managed-environment error on modern Linux systems, install using pipx instead:

pipx install fluxmedia

2. Execution

Run the interface from any terminal or command prompt:

fluxmedia

✨ Key Features

Feature Description
🎨 Dynamic Console TUI Renders rich tables, panels, and live progress bars for download speeds, ETA, and file sizes.
🎵 Smart Audio Extraction Automatically extract and convert media into high-quality MP3 (192kbps) with embedded cover art and metadata.
🏷️ Metadata Embedding Automatically write video thumbnails and details (description, uploader, dates) directly into your downloads.
📚 Batch Downloads Save entire playlists or recent uploads from content creator channels.
📝 Subtitles Capturing Download caption files directly for specified language codes.
⚙️ Global Settings Customize download folders, default formats, filename structures, and UI themes inside the app.
🌐 LAN QR Share Portal Easily share downloaded media over your local network using an interactive web portal.

🛠️ Requirements & Setup

  • Python: Version 3.10 or higher.
  • FFmpeg (Highly Recommended): Required for merging high-definition video formats and converting audio to MP3.
# Windows
winget install Gyan.FFmpeg

# macOS
brew install ffmpeg

# Linux (Debian/Ubuntu)
sudo apt install ffmpeg

🔍 Troubleshooting

1. LAN QR Sharing Fails on Phone/Tablet

If your phone cannot load the link generated by the QR Share Server (http://<IP>:8000):

  • Windows Network Profile: Windows Firewall blocks incoming traffic on Public networks. Open Windows Settings ➔ Network & internetWi-Fi, click your connection properties, and change the network profile type to Private.
  • Windows Firewall Inbound Rule: Add an inbound firewall rule in PowerShell to whitelist port 8000:
    New-NetFirewallRule -DisplayName "FluxMedia LAN Share" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8000-8020
    
  • Same Network: Ensure your phone is connected to the exact same Wi-Fi connection (or phone hotspot) as your laptop.
2. Audio Extraction or Trimming Fails
  • FFmpeg Dependency: Merging streams, converting to MP3/M4A, and trimming downloads require FFmpeg. Make sure you have FFmpeg installed on your machine and added to your system's PATH.
3. Permission Denied on Android (Termux)

If downloads fail with PermissionError when writing to /sdcard/Download/FluxMediaDownloads/:

  • Run the following command in Termux to grant file system storage access permissions:
    termux-setup-storage
    
4. Locked Files on Windows Update

If upgrading FluxMedia or yt-dlp inside the app fails because the files are locked in memory:

  • Close the application and run the update command directly from a standard terminal window:
    pip install -U fluxmedia
    
5. SSL Certificate Verification Failures

If downloads fail with [SSL: CERTIFICATE_VERIFY_FAILED]:

  • macOS Users: Go to your Applications/Python folder and double-click Install Certificates.command.
  • All Platforms: Run: pip install --upgrade certifi

👑 Credits & Support

This project was created and is fully maintained by pdev-labs. I am a student in India (Standard 11, PCM with CS) and I spent a couple of weeks designing, coding, and perfecting FluxMedia alone.

If you find this tool helpful, please support my work by giving it a star on GitHub! ⭐

GitHub

  • Support via UPI: priyanshuc@fam

🐛 Bugs, Errors & Feedback

Got an issue, bug, or feature request? I would love to hear from you! Please file reports directly at: 👉 FluxMedia Issue Tracker


📜 Changelog

Check out the full CHANGELOG.md for detailed release history.

Latest Release: [v1.6.22]

  • Static Typing Cleanup: Patched type annotation conflicts, dynamic import placeholders, and uninitialized type checkers constraints across modules.
  • Troubleshooting Menu Fix: Constrained Troubleshooting Guide selection range to valid options to prevent UnboundLocalError crash on non-matching default/options.
  • Deduplication: Removed double except clauses and cleaned up redundant return statements.
Made with ❤️ by pdev-labs

Download files

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

Source Distribution

fluxmedia-1.6.22.tar.gz (94.7 kB view details)

Uploaded Source

Built Distribution

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

fluxmedia-1.6.22-py3-none-any.whl (94.1 kB view details)

Uploaded Python 3

File details

Details for the file fluxmedia-1.6.22.tar.gz.

File metadata

  • Download URL: fluxmedia-1.6.22.tar.gz
  • Upload date:
  • Size: 94.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fluxmedia-1.6.22.tar.gz
Algorithm Hash digest
SHA256 f6ff8c8fa9fad37d57ada86139d70af5dcd29c9a540409e33bdd45194e045774
MD5 3ac47173998455fa65f362c033080daa
BLAKE2b-256 ad2c5e4f749a9eb14bdf40b6d6b10ef40c626869844aca6036c20e6c244882e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluxmedia-1.6.22.tar.gz:

Publisher: publish.yml on pdev-labs/FluxMedia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fluxmedia-1.6.22-py3-none-any.whl.

File metadata

  • Download URL: fluxmedia-1.6.22-py3-none-any.whl
  • Upload date:
  • Size: 94.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fluxmedia-1.6.22-py3-none-any.whl
Algorithm Hash digest
SHA256 3e82a9c66fa1a5cf9c1ea9ceadb30131bdd0947a067f12d384e6b6848aab050c
MD5 7f14d96b3ab34d28d631483b02ffa5cf
BLAKE2b-256 e8b5493318d943fd80423a4d67fe1a8fc9f396a0b4830203da4704b2e0186e3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluxmedia-1.6.22-py3-none-any.whl:

Publisher: publish.yml on pdev-labs/FluxMedia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

Supported by

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