mhogomchungu / media-downloader

Media Downloader is a Qt/C++ front end to yt-dlp, youtube-dl, gallery-dl, lux, you-get, svtplay-dl, aria2c, wget and safari books..
GNU General Public License v2.0
1.6k stars 119 forks source link

Sugesstion of new CLI software donwloaders and download accelerator #158

Open trimechee opened 2 years ago

trimechee commented 2 years ago

Hello, it's only suggestions, we are not asking to integrate them but just suggestions in case the CLI software used by our beloved Media-Donwloader are no longer updated so here are open-source alternatives :

Terminal based YouTube player and downloader. No Youtube API key required.

Run audio in VLC with no GUI

https://github.com/iamtalhaasghar/yewtube

https://github.com/mps-youtube/mps-youtube/issues/1191

https://iamtalhaasghar.github.io/yewtube/

Terminal based YouTube player and downloader

Search and play audio/video Search tracks of albums by album title Search and import YouTube playlists Create and save local playlists Download audio/video Convert to mp3 & other formats (requires ffmpeg or avconv) View video comments Works with Python 3.x Works with Windows, Linux and Mac OS X Requires mplayer or mpv

https://github.com/otisdog8/termitube

HTTP(S) download manager that uses input/output completion ports (IOCP). it is a high-performance, multi-part download manager. You can Start, Pause, Stop, and Queue up to 100 downloads at a time. Each download can be split into 100 parts. That's 10,000 connections!

https://erickutcher.github.io/#HTTP_Downloader

trimechee commented 2 years ago

Other cli softwares, Bilibili is well known streaming website :

https://github.com/nilaoda/BBDown

https://github.com/the1812/Bilibili-Evolved

https://github.com/kengwang/BiliDuang

https://github.com/MotooriKashin/Bilibili-Old

https://github.com/sodaling/FastestBilibiliDownloader

trimechee commented 2 years ago

I discover an open source exttension to download HLS streams and m3u8 streams :

https://github.com/chandler-stimson/live-stream-downloader

and to donwload dash video :

https://chrome.google.com/webstore/detail/live-cat/cofmpiaddiioohphmmgjnbcpfoiknnkh

https://mediatools.cc/hlsDownloader

and to dowlad HLS streams :

https://chrome.google.com/webstore/detail/stream-recorder-download/iogidnfllpdhagebkblkgbfijkbkjdmm

https://www.hlsloader.com/

trimechee commented 2 years ago

I just discover this incredible download extension that seems to use command line : cliget :

https://github.com/zaidka/cliget

Download login-protected files from the command line using curl, wget or aria2.

This addon will generate commands that emulate the request as though it was coming from your browser by sending the same cookies, user agent string and referrer. With this addon you can download email attachments, purchased software/media, source code from a private repository to a remote server without having to download the files locally first. If come across a website where cliget doesn't work, please open an issue providing details to help reproduce the problem.

Windows users: Enable the "Escape with double-quotes" option because Windows doesn't support single quotes. If you use cygwin, however, you don't need to enable this option.

Please be aware of potential security and privacy implications from cookies being exposed in the download command.

trimechee commented 2 years ago

@mhogomchungu Hello, it seems that many famous downloaders have problems to donwload from protected cloud drive like google drive, dropbox.....but with this extension command line cliget, i read the reviews of uses in firefox addons page and users say they can dowload protected files from google drive and it "Works great with Google Takeout - I use Windows/Firefox and use Aria2 with the extra tags: --check-certificate=false --file-allocation=none", so it is possible that this extension is compatible with Media-Downloader and we can copy and send command line and cookies to Media-Downloader manger to download protected files ?

https://addons.mozilla.org/fr/firefox/addon/cliget/reviews/

trimechee commented 1 year ago

Wouah i juste discover incredible thelegram bot to download torrents, mega, google drive, telegram file and direct links + all yt-dlp supported sites, then upload them to google drive or telegram cloud !!! but install these telegram bots seems to be complicated.....

https://github.com/anasty17/mirror-leech-telegram-bot

https://github.com/junedkh/jmdkh-mltb

trimechee commented 1 year ago

I find this awesome software :

https://github.com/kanishka-linux/hlspy

trimechee commented 9 months ago

Hello, i find new tools :

A posix script to find and watch youtube videos from the terminal. (Without API) https://github.com/pystardust/ytfzf

The most powerful and fastest YouTube searching Python library. https://github.com/justfoolingaround/fast-yt-search

trimechee commented 9 months ago

and also :

A posix compliant highly fast and efficient Asynchronous stable m3u8 links dowloader that uses shell jobs for controlling parallel download...

https://github.com/CoolnsX/hls_downloader https://coolnsx.github.io/

trimechee commented 6 months ago

And :

https://github.com/ginuerzh/gost/blob/master/README_en.md

chapmanjacobd commented 4 months ago

You might like this:

pip install xklb
lb links https://archive.org/download/get-smart --path-exclude .ia.mp4 --path-include .mp4 --download

There are many other options too, including yt-dlp and gallery-dl but no svtplay

$ lb

Create database subcommands:
╭───────────────┬──────────────────────────────────────────╮
│ fs-add        │ Add local media                          │
├───────────────┼──────────────────────────────────────────┤
│ tube-add      │ Add online video media (yt-dlp)          │
├───────────────┼──────────────────────────────────────────┤
│ web-add       │ Add open-directory media                 │
├───────────────┼──────────────────────────────────────────┤
│ gallery-add   │ Add online gallery media (gallery-dl)    │
├───────────────┼──────────────────────────────────────────┤
│ tabs-add      │ Create a tabs database; Add URLs         │
├───────────────┼──────────────────────────────────────────┤
│ links-add     │ Create a link-scraping database          │
├───────────────┼──────────────────────────────────────────┤
│ site-add      │ Auto-scrape website data to SQLITE       │
├───────────────┼──────────────────────────────────────────┤
│ reddit-add    │ Create a reddit database; Add subreddits │
├───────────────┼──────────────────────────────────────────┤
│ hn-add        │ Create / Update a Hacker News database   │
├───────────────┼──────────────────────────────────────────┤
│ substack      │ Backup substack articles                 │
├───────────────┼──────────────────────────────────────────┤
│ tildes        │ Backup tildes comments and topics        │
├───────────────┼──────────────────────────────────────────┤
│ places-import │ Import places of interest (POIs)         │
├───────────────┼──────────────────────────────────────────┤
│ row-add       │ Add arbitrary data to SQLITE             │
╰───────────────┴──────────────────────────────────────────╯

Text subcommands:
╭──────────────────┬──────────────────────────────────────────────╮
│ cluster-sort     │ Sort text and images by similarity           │
├──────────────────┼──────────────────────────────────────────────┤
│ extract-links    │ Extract inner links from lists of web links  │
├──────────────────┼──────────────────────────────────────────────┤
│ extract-text     │ Extract human text from lists of web links   │
├──────────────────┼──────────────────────────────────────────────┤
│ markdown-links   │ Extract titles from lists of web links       │
├──────────────────┼──────────────────────────────────────────────┤
│ nouns            │ Unstructured text -> compound nouns (stdin)  │
├──────────────────┼──────────────────────────────────────────────┤
│ dates            │ Unstructured text -> timestamps, dates, time │
├──────────────────┼──────────────────────────────────────────────┤
│ json-keys-rename │ Rename JSON keys by substring match          │
╰──────────────────┴──────────────────────────────────────────────╯

Folder subcommands:
╭─────────────────┬────────────────────────────────────────────────────────────╮
│ merge-folders   │ Merge two or more file trees                               │
├─────────────────┼────────────────────────────────────────────────────────────┤
│ relmv           │ Move files preserving parent folder hierarchy              │
├─────────────────┼────────────────────────────────────────────────────────────┤
│ mergerfs-cp     │ cp files with reflink on mergerfs                          │
├─────────────────┼────────────────────────────────────────────────────────────┤
│ scatter         │ Scatter files between folders or disks                     │
├─────────────────┼────────────────────────────────────────────────────────────┤
│ mv-list         │ Find specific folders to move to different disks           │
├─────────────────┼────────────────────────────────────────────────────────────┤
│ mount-stats     │ Show some relative mount stats                             │
├─────────────────┼────────────────────────────────────────────────────────────┤
│ similar-folders │ Find similar folders based on folder name, size, and count │
╰─────────────────┴────────────────────────────────────────────────────────────╯

File subcommands:
╭────────────────┬─────────────────────────────────────────────────────╮
│ christen       │ Clean file paths                                    │
├────────────────┼─────────────────────────────────────────────────────┤
│ sample-hash    │ Calculate a hash based on small file segments       │
├────────────────┼─────────────────────────────────────────────────────┤
│ sample-compare │ Compare files using sample-hash and other shortcuts │
├────────────────┼─────────────────────────────────────────────────────┤
│ similar-files  │ Find similar files based on filename and size       │
╰────────────────┴─────────────────────────────────────────────────────╯

Tabular data subcommands:
╭──────────────────┬───────────────────────────────────────────────╮
│ eda              │ Exploratory Data Analysis on table-like files │
├──────────────────┼───────────────────────────────────────────────┤
│ mcda             │ Multi-criteria Ranking for Decision Support   │
├──────────────────┼───────────────────────────────────────────────┤
│ markdown-tables  │ Print markdown tables from table-like files   │
├──────────────────┼───────────────────────────────────────────────┤
│ incremental-diff │ Diff large table-like files in chunks         │
╰──────────────────┴───────────────────────────────────────────────╯

Media File subcommands:
╭────────────────┬────────────────────────────────────────────────────────╮
│ media-check    │ Check video and audio files for corruption via ffmpeg  │
├────────────────┼────────────────────────────────────────────────────────┤
│ process-ffmpeg │ Shrink video/audio to AV1/Opus format (.mkv, .mka)     │
├────────────────┼────────────────────────────────────────────────────────┤
│ process-image  │ Shrink images by resizing and AV1 image format (.avif) │
╰────────────────┴────────────────────────────────────────────────────────╯

Multi-database subcommands:
╭──────────────────┬────────────────────────╮
│ merge-dbs        │ Merge SQLITE databases │
├──────────────────┼────────────────────────┤
│ copy-play-counts │ Copy play history      │
╰──────────────────┴────────────────────────╯

Filesystem Database subcommands:
╭────────────┬──────────────────────────╮
│ disk-usage │ Show disk usage          │
├────────────┼──────────────────────────┤
│ big-dirs   │ Show large folders       │
├────────────┼──────────────────────────┤
│ search-db  │ Search a SQLITE database │
╰────────────┴──────────────────────────╯

Media Database subcommands:
╭─────────────────┬─────────────────────────────────────────────────────────────╮
│ block           │ Block a channel                                             │
├─────────────────┼─────────────────────────────────────────────────────────────┤
│ playlists       │ List stored playlists                                       │
├─────────────────┼─────────────────────────────────────────────────────────────┤
│ download        │ Download media                                              │
├─────────────────┼─────────────────────────────────────────────────────────────┤
│ download-status │ Show download status                                        │
├─────────────────┼─────────────────────────────────────────────────────────────┤
│ redownload      │ Re-download deleted/lost media                              │
├─────────────────┼─────────────────────────────────────────────────────────────┤
│ history         │ Show and manage playback history                            │
├─────────────────┼─────────────────────────────────────────────────────────────┤
│ history-add     │ Add history from paths                                      │
├─────────────────┼─────────────────────────────────────────────────────────────┤
│ stats           │ Show some event statistics (created, deleted, watched, etc) │
├─────────────────┼─────────────────────────────────────────────────────────────┤
│ search          │ Search captions / subtitles                                 │
├─────────────────┼─────────────────────────────────────────────────────────────┤
│ optimize        │ Re-optimize database                                        │
╰─────────────────┴─────────────────────────────────────────────────────────────╯

Playback subcommands:
╭────────────┬───────────────────────────────────────────────────╮
│ watch      │ Watch / Listen                                    │
├────────────┼───────────────────────────────────────────────────┤
│ now        │ Show what is currently playing                    │
├────────────┼───────────────────────────────────────────────────┤
│ next       │ Play next file and optionally delete current file │
├────────────┼───────────────────────────────────────────────────┤
│ stop       │ Stop all playback                                 │
├────────────┼───────────────────────────────────────────────────┤
│ pause      │ Pause all playback                                │
├────────────┼───────────────────────────────────────────────────┤
│ tabs-open  │ Open your tabs for the day                        │
├────────────┼───────────────────────────────────────────────────┤
│ links-open │ Open links from link dbs                          │
├────────────┼───────────────────────────────────────────────────┤
│ surf       │ Auto-load browser tabs in a streaming way (stdin) │
╰────────────┴───────────────────────────────────────────────────╯

Database enrichment subcommands:
╭────────────────────┬────────────────────────────────────────────────────╮
│ dedupe-db          │ Dedupe SQLITE tables                               │
├────────────────────┼────────────────────────────────────────────────────┤
│ dedupe-media       │ Dedupe similar media                               │
├────────────────────┼────────────────────────────────────────────────────┤
│ merge-online-local │ Merge online and local data                        │
├────────────────────┼────────────────────────────────────────────────────┤
│ mpv-watchlater     │ Import mpv watchlater files to history             │
├────────────────────┼────────────────────────────────────────────────────┤
│ reddit-selftext    │ Copy selftext links to media table                 │
├────────────────────┼────────────────────────────────────────────────────┤
│ tabs-shuffle       │ Randomize tabs.db a bit                            │
├────────────────────┼────────────────────────────────────────────────────┤
│ pushshift          │ Convert pushshift data to reddit.db format (stdin) │
╰────────────────────┴────────────────────────────────────────────────────╯

Update database subcommands:
╭────────────────┬─────────────────────────────────╮
│ fs-update      │ Update local media              │
├────────────────┼─────────────────────────────────┤
│ tube-update    │ Update online video media       │
├────────────────┼─────────────────────────────────┤
│ web-update     │ Update open-directory media     │
├────────────────┼─────────────────────────────────┤
│ gallery-update │ Update online gallery media     │
├────────────────┼─────────────────────────────────┤
│ links-update   │ Update a link-scraping database │
├────────────────┼─────────────────────────────────┤
│ reddit-update  │ Update reddit media             │
╰────────────────┴─────────────────────────────────╯

Misc subcommands:
╭────────────────┬─────────────────────────────────────────╮
│ export-text    │ Export HTML files from SQLite databases │
├────────────────┼─────────────────────────────────────────┤
│ dedupe-czkawka │ Process czkawka diff output             │
╰────────────────┴─────────────────────────────────────────╯
trimechee commented 4 months ago

Awesome amazing ! Thank you so much Mr @chapmanjacobd :) 💯 🥇