StefanLobbenmeier / youtube-dl-gui

A cross-platform GUI for youtube-dl made in Electron and node.js
GNU Affero General Public License v3.0
1.24k stars 46 forks source link

Add m3u8 support with new awesome rare powerful downloaders engines to compensate possible censorship or bugs of yt-dlp #120

Open trimechee opened 2 months ago

trimechee commented 2 months ago

Hello, thank you so much for this great amazing downloader ! šŸ„‡

I know the integration of yt-dlp is already very complex and complicated but I would like to suggest my discoveries of new download engines because perhaps yt-dlp will once again undergo censorship or deletion from github....

thus the support of other download engines would make it possible to circumvent the possible problems and censorship of yt-dlp and make the download eat even stronger and support new sites....of course we know it is technically impossible to add the support for all these machines, so we hope to please select only one or 2 download engines to add and strengthen support for the m3u8 protocol for example in order to download from even more web sites and possibly overcome eventual yt-dlp bugs and even more speed up downloads , thank you very much !

https://github.com/emarsden/dash-mpd-cli

this download engine can download media content from a DASH-MPEG or DASH-WebM MPD manifest !

"This application is able to download content from certain streams that do not work with other applications (for example xHE-AAC streams which are currently unsupported by ffmpeg, streamlink, VLC, gstreamer)."

DASH features supported VOD (static) stream manifests Multi-period content XLink elements (only with actuate=onLoad semantics), including resolve-to-zero All forms of segment index info: SegmentBase@indexRange, SegmentTimeline, SegmentTemplate@duration, SegmentTemplate@index, SegmentList Media containers of types supported by mkvmerge, ffmpeg or VLC (this includes ISO-BMFF / CMAF / MP4, WebM, MPEG-2 TS) Subtitles: preliminary download support for WebVTT, TTML and SMIL streams, as well as some support for the wvtt format

hlsdl : C program to download VoD HLS (.m3u8) files, it seems that some people said ffmpeg could have some problems with hls streams...

https://github.com/selsta/hlsdl

and this software : python m3u8 Parser for HTTP Live Streaming (HLS) Transmissions :

https://github.com/globocom/m3u8

https://github.com/nilaoda/N_m3u8DL-CLI

https://github.com/nilaoda/N_m3u8DL-RE

https://github.com/soimort/you-get

https://github.com/iawia002/lux

https://github.com/nilaoda/BBDown

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

https://github.com/streamlink/streamlink

https://github.com/zaidka/cliget

https://github.com/globocom/m3u8

https://github.com/HeiSir2014/M3U8-Downloader

https://github.com/hestyle/m3u8_downloader

https://github.com/kz26/gohls

https://github.com/Last-Order/Minyami

https://github.com/Momo707577045/m3u8-downloader

https://github.com/Momo707577045/media-source-extract

https://github.com/nilaoda/N_m3u8DL-RE

https://github.com/puemos/hls-downloader

https://github.com/Spark-NF/hls-downloader

https://github.com/Momo707577045/m3u8-downloader/blob/master/README-EN.md https://github.com/Momo707577045/media-source-extract

https://github.com/mikf/gallery-dl

https://aria2.github.io/

https://www.gnu.org/software/wget/

https://github.com/hoothin/UserScripts

https://github.com/acolwell/mse-tools

https://github.com/zhw2590582/live-video-study-notes

https://github.com/dabaisuv/Tampermonkey-Script https://greasyfork.org/fr/users/901788-dabaisuv Unlimited_downloader by dabaisuv https://greasyfork.org/fr/scripts/445751-unlimited-downloader https://www.v2ex.com/t/856510

https://greasyfork.org/en/scripts/25068-downloadallcontent

https://greasyfork.org/en/scripts/7362-true-url-downloads

https://greasyfork.org/en/scripts/22590-easy-offline

https://github.com/dodying/UserJs/tree/master/novel/novelDownloader

https://greasyfork.org/en/users/8227-hoothin

https://greasyfork.org/en/scripts/446385-download-any-thing

https://greasyfork.org/fr/scripts/445751-unlimited-downloader

https://github.com/Momo707577045/m3u8-downloader/blob/master/README-EN.md

https://greasyfork.org/en/scripts/18671-inject2download

ArtPlayer.js is a modern and full featured HTML5 video player

https://github.com/zhw2590582/ArtPlayer

https://artplayer.org/

https://www.v2ex.com/t/856510

https://github.com/zhw2590582/bilibili-live-recorder

dabaisuv/Tampermonkey-Script@d109782

https://segmentfault.com/a/1190000025182822

Girdplayer has integrated this software streamlink : https://github.com/vzhd1701/gridplayer#features https://github.com/streamlink/streamlink

https://github.com/zhw2590582/FlvPlayer

https://flvplayer.js.org/

extensions web browsers downloaders

https://github.com/chandler-stimson/live-stream-downloader https://webextension.org/listing/hls-downloader.html

https://github.com/puemos/hls-downloader https://puemos.gitbook.io/hls-downloader/

rowrawer https://github.com/54ac/stream-detector https://github.com/rowrawer/stream-detector https://54ac.bio/

https://github.com/ray-lothian/Easy-Video-Downloader https://webextension.org/listing/easy-video-downloader.html

https://github.com/inbasic/bulk-media-downloader https://github.com/inbasic/turbo-download-manager-v2

https://www.downthemall.org/

https://github.com/rowrawer/stream-detector/

https://github.com/meowcateatrat/elephant

https://github.com/FreeDownloadManagerTeam/fdm-addons-docs

https://github.com/inbasic/bulk-media-downloader/

https://github.com/downthemall/downthemall

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

https://chrome.google.com/webstore/detail/m3u8-finder-and-hls-playe/gijhpnmjcpbddpedmmdihijogkkejfgj?hl=en

https://www.hlsloader.com/

https://github.com/rowrawer/stream-detector

StefanLobbenmeier commented 2 months ago

Hmm I do not see yt-dlp being deleted - there was an attempt to censor youtube-dl based on them using copyrighted material in their unit tests. But that lost its foundation when they deleted that test, and I have not heard anything since.

So if this happens again, I will gladly switch to another downloader.

Regarding bugs in yt-dlp, I would rather fix those bugs there than switching to a complete new engine. The power of yt-dlp is not just its core code, but the vast number of websites with dedicated support and the huge community maintaining support for those websites. I do not see other applications catching up to that.

I would be open to making sure that we have the yt-dlp wrapper abstracted in some way so other engines can be supported by implementating the same interface, but I do not want to spend my time implementing those other engines until that need arises

trimechee commented 2 months ago

Ohh thank you very much Mr @StefanLobbenmeier for keeping this issue open in case yt-dlp is censored in the future!

Yes we understand perfectly, you have right :) šŸ‘ the goal was not to tire you out by asking you to integrate all these many downlad engines but just to offer a wide choice of tools and cli softwares in order to find the easiest and simplest tool to integrate in our beloved Youtube-dl-gui if yt-dlp is banned :)

in my opinion, "you-get" and " lux "cli softwares seem to be the most ideal candidates to have a graphical interface because they support a lot of websites, and they are frequently updated....and they seem to be chinese softwares so cannot endure the western sanctions because criminal chinese communist party seems not to fear western threats, pressure, legal decisions....

I think we cannot ignore the possibility that youtube's revenues will drop because people download videos instead of watching the ads and google may decide to file a complaint to ban yt-dlp....we don't like to affect youtube's revenues. so ti support some good youtubers , I sometimes try to watch YouTube videos with advertising, but sometimes I have to download the video for offline use because the mobile internet plan is very very expensive....

and even youtube itself allows us to download youtube videos but not in an audio format and apparently you have to connect to the internet every 2 days otherwise the downloaded video will be deleted....

StefanLobbenmeier commented 2 months ago

I took another look at youget and lux, youget seems to be another YouTube-dl fork. It might not support all the settings though, since yt-dlp added several new settings like cookies from browser, so it might not work out of the box but if we had to switch to it it would be fairly easy.

Lux seems to be a complete rewrite, from the folder structure it looks like they just took inspiration from YouTube-do, and the CLI seems to be too different so it would require more changes

trimechee commented 1 month ago

Ohh very interesting and instructive ! Thank you very much for having looking and examined these softwares which looks promising.... šŸ„‡ šŸ’Æ šŸ‘