A Python toolkit for seamless video playback (VLC-powered) with preview video included and high-speed downloading from YouTube, Vimeo, and more. Features a user-friendly Tkinter GUI and customizable download options and more.
- 🎮 Smart Playback Controls: Play, pause, and navigate videos effortlessly
- ⚡ Advanced Speed Control: Adjust playback speed from 0.5x to 4.0x
- 🔄 Intelligent Track Management: Auto-skip watched videos with reset option
- 🎲 Random Playback: Built-in shuffle mode
- 🔊 Enhanced Audio: Volume control up to 100%
- ⏱️ Progress Tracking: Interactive seek bar with real-time timer
- ⌨️ Keyboard Shortcuts: Streamlined playback control
- 💾 Persistent Watched Tracking: Saves watched video progress across sessions, handling cases where playlists change.
- 🖼️ Video Preview: Displays a preview thumbnail above the duration bar.
- ⏸️ Watched Indices Loading: press "p" to load previous watched video progress or click on file>Load Watched Video
- 🌐 Universal Platform Support: Download from YouTube, Vimeo, TikTok, Twitch VODs
- 📊 Quality Optimization: Automatic best quality selection
- ⚡ Parallel Processing: Faster downloads through concurrent fragments
- 🎛️ Customizable Settings: Configure playlists, subtitles, and proxy options
# Core Requirements
python 3.x
python-vlc
VLC Media Player
tkinter (included with Python)
opencv-python
Pillow
# Core Requirements
python 3.x
yt-dlp
tkinter (included with Python)
# Clone the repository
git clone https://github.com/jimmyH123-cloud/VideoPlaylistPlayer.git
# Install dependencies
pip install python-vlc
pip install opencv-python
pip install Pillow
# Launch the application
python video_playlist_player.py
# Clone the repository
git clone https://github.com/jimmyH123-cloud/VideoDownloader.git
# Install dependencies
pip install yt-dlp
# Launch the application
python video_downloader.py
- Launch the application and click Select Folder
- Choose a directory containing
.mp4
files - Use the intuitive controls for playback
- Adjust speed using slider or keyboard shortcuts
- Toggle shuffle mode for random playback
- Reset watched videos with RTWV button
- Persistent Watched Video Tracking:
- Pressing
<p>
will save the currently tracked watched videos to a file (watched_videos.txt
) in the same directory as the script. This allows you to resume your progress in future sessions. - Pausing the video will not automatically save the watched videos. You must use the
<p>
key or the "Save Watched Videos" menu option to save your progress. - When the application starts, you can choose to load previously tracked videos using the "Load Watched Videos" menu option.
- Handling Different Playlists: If you load watched video data from a previous session and some of the tracked videos are not present in the current playlist, a warning message will be displayed, and those invalid entries will be ignored. Only the valid entries for the current playlist will be loaded.
- Pressing
Key | Action |
---|---|
→ | Skip forward 15s |
← | Skip backward 15s |
↑ | Increase speed 0.1x |
↓ | Decrease speed 0.1x |
p | Save watched video tracking to watched_videos.txt |
- Launch the application
- Paste your video URL
- Select download location
- Wait for completion
- After watching all videos, use RTWV (Reset Tracked Watched Videos) and press Next or Play/Pause to restart playback
- Video Downloader may not always download the best qualities for some videos.
This project is MIT licensed - see the LICENSE file for details
Project Link: https://github.com/jimmyH123-cloud/VideoToolsHub