Skip to content

A user-friendly graphical interface for downloading videos from various platforms using yt-dlp.

License

Notifications You must be signed in to change notification settings

Bjorn99/vipedown

Repository files navigation

VipeDown

A fast, efficient video downloader for Linux systems built with PyQt6. VipeDown emphasizes functionality over aesthetics, providing a reliable way to download videos and audio from various platforms.

VipeDown Logo

Features

Download Management

  • Queue system for multiple downloads
  • Progress tracking with real-time speed and ETA
  • Format selection (video/audio)
  • Quality options from 360p to 2160p
  • Playlist handling with selective download options

Interface Elements

  • URL input with paste functionality
  • Format and quality selection dropdowns
  • Progress indicators showing:
    • Download speed in MB/s or KB/s
    • Estimated time remaining
    • File size and completion percentage
    • Current download phase
  • Queue management panel
  • System tray integration with notifications

Installation

VipeDown can be installed and used in two ways: as a system package or in development mode.

System Installation (Arch Linux)

  1. Install system dependencies:
sudo pacman -S base-devel git python python-pip ffmpeg
  1. Clone and build:
git clone https://github.com/Bjorn99/vipedown.git
cd vipedown
make clean
make package
sudo pacman -U vipedown-0.1.0-1-any.pkg.tar.zst
  1. Run:
vipedown

Development Installation

  1. Install Poetry:
curl -sSL https://install.python-poetry.org | python3 -

# Fish shell
set -U fish_user_paths $HOME/.local/bin $fish_user_paths

# Bash/Zsh
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc  # or ~/.zshrc
source ~/.bashrc  # or ~/.zshrc
  1. Clone and set up:
git clone https://github.com/Bjorn99/vipedown.git
cd vipedown
poetry install
  1. Run in development mode:
poetry run vipedown

Development vs Production Usage

Development Mode

Use Poetry when developing:

# Activate development environment
poetry shell

# Run application
poetry run vipedown

# Add dependencies
poetry add package-name

# Update dependencies
poetry update

Production Mode

Use system installation for regular use:

# Install system-wide
sudo pacman -U vipedown-*.pkg.tar.zst

# Run application
vipedown

Environment Management

Poetry Environments

  • Poetry creates isolated virtual environments for each project
  • Environments are stored in ~/.cache/pypoetry/virtualenvs/
  • Useful commands:
    # List environments
    poetry env list
    
    # Remove environments
    poetry env remove --all
    
    # Create new environment
    poetry env use python3.13

Switching Between Modes

When switching from development to system installation:

  1. Exit Poetry shell if active
  2. Remove Poetry environments:
    poetry env remove --all
    rm -rf $HOME/.cache/pypoetry/virtualenvs/vipedown-*
  3. Rebuild and install system package

Usage Guide

Basic Download

  1. Launch VipeDown
  2. Paste video URL
  3. Select format (video/audio)
  4. Choose quality
  5. Click "Add to Queue"
  6. Start the queue

Playlist Downloads

  1. Enter playlist URL
  2. Enable "Download as Playlist"
  3. Choose range (start/end) or specific videos
  4. Select format and quality
  5. Add to queue

Queue Management

  • Add multiple items to queue
  • Remove items (right-click)
  • Cancel ongoing downloads
  • Monitor progress in real-time

Troubleshooting

Installation Issues

  1. Poetry environment conflicts:

    poetry env remove --all
    rm -rf $HOME/.cache/pypoetry/virtualenvs/vipedown-*
  2. Package conflicts:

    make clean
    make package

Running Issues

  1. Check dependencies:

    python --version  # Should be 3.10 or higher
    ffmpeg -version
  2. Verify installation:

    which vipedown

Contributing

  1. Fork repository
  2. Create feature branch
  3. Set up development environment:
    poetry install
    poetry shell
  4. Make changes and test
  5. Submit pull request

Acknowledgements

VipeDown is built upon the work of several amazing open-source projects and tools:

  • yt-dlp - The core downloading functionality
  • PyQt6 - The GUI framework that powers our interface
  • FFmpeg - Essential media processing capabilities
  • Poetry - Dependency management and packaging
  • My Free Logo Maker - Tool used for creating our application logo

Special thanks to:

  • The Python community for providing excellent libraries and tools
  • The Arch Linux community for package management guidance

VipeDown is designed specifically for Linux systems, with special attention to Arch Linux and its derivatives.

License

MIT License

About

A user-friendly graphical interface for downloading videos from various platforms using yt-dlp.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages