Awesome
🎥✂️🔗 lord-of-the-clips (lotc)
Video downloader, trimmer, and merger using the terminal. Supports YouTube, Facebook, Reddit, Twitter, TikTok, Instagram, LinkedIn, 9GAG, etc. Downloads/trims at multiple points. Merges multiple clips.
💫 Background
As per the Pareto Principle, a video usually has its best parts. Hence, Reels/Shorts/Stories are popular nowadays. Likewise, I frequently download videos from various sites (e.g. YouTube, Facebook, Reddit, etc) using various online video downloaders, then I clip the most interesting/best parts only which are usually posted in social media sites or shared on private/group chats.
Got tired of these routines eventually, and I want a tool that given a URL and timestamps/durations will download the video AND auto-clip them at the desired segments in a single command AND it should support multiple sites. This is the missing tool that I wanted. In the simplest case, this lotc
CLI app will download the full video.
⚡Features
- downloads a video and auto-trims/clips the specified durations
- trims a saved video file and/or clips the specified durations
- merges saved video files, usually for concatenating related clips
- provides smart output file name by default
- accepts a custom output file name
- leverages CLI styling for better experience
🦾 Standing on the Shoulders of Giants
- yt-dlp: video downloader
- moviepy: video trimmer/merger
- click: CLI app creator
- rich / rich-click: CLI app styler
🔨 Installation
pip install lord-of-the-clips
This will install a global lotc
shell command which you could run in the terminal.
lotc
is the acronym for lord-of-the-clips
.
🔧 Dependencies
ffmpeg
is strongly recommended by yt-dlp
to be installed since some websites have split video/audio files:
- Mac:
brew install ffmpeg
- Ubuntu:
sudo apt install ffmpeg
- Others
⚙️ Usage
For further details/sample usages, run this command:
lotc --help
And for its subcommands:
lotc download --help
lotc trim --help
lotc merge --help
🚀 Demo
The GIF below demonstrates the output of lotc --help
command and its lotc download --help
subcommand, and running an example provided in the output:
⚠️ Rate Limits
Some sites (e.g. Facebook) imposes scraping rate limits on their pages and could cause issues in your succeeding downloads.
Hence, throttle your usage or don't use lotc
excessively in a short amount of time.