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

New format option named mp4 (fast), option "best video" always visible and limit best video preset to 720p or 1080p #310

Closed trimechee closed 1 year ago

trimechee commented 1 year ago

Hello, of course our beloved Media-downloader is my one and only downloader and it corresponds to my needs and it is super powerful with many options not present in many other programs, Media-Downloader has changed my life and my has made life much more comfortable and happy because before the discovery of Media-downloder, it was a torment to download a lot of video and audio from youtube with the desired quality, thank you very much :)

I often consult the videohelp site to find out about new software updates and I see that one of the Media-downloader contributors has added a new option:

"Added a new format option named mp4 (fast), this option will download videos as fast as possible and disregard all codecs (this is extremely useful for downloading long videos if you plan on just viewing them, some video editors may not accept this format )"

The exceptional Media-Downlaoder already has the presets for youtube and it's magnificent!

and I think one of the big improvements is to add a preset to download the video faster because the analysis and the fetch of the video can take a lot of time and there can be a lot of video and audio formats and quality and we may be confused and so one of the best improvements to download files outside of youtube quickly is to add option the "fast mp4" for even more fast and easy downloading, and also add opion "best video" for download automatically the best quality and these options given their paramount importance and I think will be used a lot by users, it will be great to always have 2 buttons always visible in basic dowloader and batch downloader , and these 2 buttons will be named "fast download" and "best quality download", or add in the settings an option "always make visible the buttons "fast download" and "best quality donwload", thank you very much!

it will also be great to add option in the settings "limit the best quality to 720p or 1080p to avoid downloading 4k video because our graphics cards and the screens of our laptops do not have the screen resolution necessary to display 4k, Thanks a lot !

mhogomchungu commented 1 year ago

It is not practical to have a button for specific maximum video resolutions because each user has their own preferred values and personally, a button with values of 720p or 1080p will have no use for me because i do not download videos with resolutions above 480p and my preferred value is 360p and i suspect this value will be too low for you.

I think current functionality of having customizable preferred videos resolutions as a menu works best because it can accommodate all users' use cases.

If you preferred to download videos with maximum resolution of 720p for example then add an option with download options of

-f bestvideo[height<=720][ext=mp4]+bestaudio[ext=m4a]/bestvideo[height<=720]+bestaudio

I tried the tool you mention to learn more above this "fast" feature and the "fast" part is not in downloading but in playback and all it does is adding -movflags +faststart options to ffmpeg and you can add this options here too.

A complete log of a download using this tool is below and it shows downloading part does not show anything "fast".

[debug] Command-line config: ['-v', '--ffmpeg-location', 'MediaDownloader\\redis
t\\ffmpeg\\ffmpeg.exe', '-o', 'MediaDownloader\\working\\raw', 'https://www.yout
ube.com/watch?v=KjWaEPOK-1U']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8,
 screen utf-8
[debug] yt-dlp version stable@2023.07.06 [b532a3481] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.18362 (OpenSSL 1.1
.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 6.0-essentials_build-www.gyan.dev (setts), ffprobe
6.0-essentials_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.05.07,
 mutagen-1.46.0, sqlite3-2.6.0, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1855 extractors
[youtube] Extracting URL: https://www.youtube.com/watch?v=KjWaEPOK-1U
[youtube] KjWaEPOK-1U: Downloading webpage
[youtube] KjWaEPOK-1U: Downloading ios player API JSON
[youtube] KjWaEPOK-1U: Downloading android player API JSON
[debug] Loading youtube-nsig.f980f2a9 from cache
[debug] [youtube] Decrypted nsig 2nEDVOZuq-XcQE3OVs => dJDmINsiHH-Hxg
[youtube] KjWaEPOK-1U: Downloading m3u8 information
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec
:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source
, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, ha
saud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] KjWaEPOK-1U: Downloading 1 format(s): 302+251
[debug] Invoking http downloader on "https://rr1---sn-8vq5jvhu1-q5ge.googlevideo
.com/videoplayback?expire=1692654067&ei=k4XjZOi8NbWJhcIP1o2bSA&ip=197.250.197.29
&id=o-ACC2rrwK0d-wUFGlfzIlQy18YOHvG4bTstBcKU7EnG7f&itag=302&source=youtube&requi
ressl=yes&mh=JE&mm=31%2C29&mn=sn-8vq5jvhu1-q5ge%2Csn-hgn7rne7&ms=au%2Crdu&mv=m&m
vi=1&pl=18&initcwndbps=168750&vprv=1&svpuc=1&mime=video%2Fwebm&gir=yes&clen=2772
0524&dur=109.859&lmt=1692630476486124&mt=1692632019&fvip=2&keepalive=yes&fexp=24
007246%2C51000011&c=IOS&txp=6319224&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csourc
e%2Crequiressl%2Cvprv%2Csvpuc%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wQwIfAJ
IkR0oboVbu2TpfebHLVrVRFQbjfJZrZg3YzaJ7awIgQV31XRABAceRqugJuMZXxchAPl7ctAxTepyfiD
v25SI%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwQ
wIfW2vwC7Ljc17ROQ3Gme1uW1NyrJN2LCufNnp9imOIfwIgTNQWREdd7gZvbMr6m_-mrLjOl8WPILfLS
kWujkXed1k%3D"
[debug] File locking is not supported. Proceeding without locking
[download] Destination: MediaDownloader\working\raw.f302.webm
[download]   0.0% of   26.44MiB at  249.99KiB/s ETA [0
[download]   0.0% of   26.44MiB at  599.99KiB/s ETA [0
[download]   0.0% of   26.44MiB at    1.14MiB/s ETA [0
[download]   0.1% of   26.44MiB at    2.09MiB/s ETA [0
[download]   0.1% of   26.44MiB at    1.04MiB/s ETA [0
[download]   0.2% of   26.44MiB at    1.08MiB/s ETA [0
[download]   0.5% of   26.44MiB at  940.73KiB/s ETA [0
[download]   0.9% of   26.44MiB at  858.57KiB/s ETA [0
[download]   1.9% of   26.44MiB at    1.06MiB/s ETA [0
[download]   3.8% of   26.44MiB at    1.21MiB/s ETA [0
[download]   7.6% of   26.44MiB at    1.36MiB/s ETA [0
[download]  13.5% of   26.44MiB at    1.28MiB/s ETA [0
[download]  18.0% of   26.44MiB at    1.13MiB/s ETA [0
[download]  21.1% of   26.44MiB at    1.10MiB/s ETA [0
[download]  24.8% of   26.44MiB at    1.16MiB/s ETA [0
[download]  31.1% of   26.44MiB at    1.19MiB/s ETA [0
[download]  36.2% of   26.44MiB at    1.25MiB/s ETA [0
[download]  36.4% of   26.44MiB at    1.26MiB/s ETA [0
[download]  36.4% of   26.44MiB at   76.92KiB/s ETA [0
[download]  36.4% of   26.44MiB at  200.00KiB/s ETA [0
[download]  36.4% of   26.44MiB at  437.50KiB/s ETA [0
[download]  36.4% of   26.44MiB at  882.34KiB/s ETA [0
[download]  36.5% of   26.44MiB at  704.54KiB/s ETA [0
[download]  36.6% of   26.44MiB at  984.37KiB/s ETA [0
[download]  36.8% of   26.44MiB at    1.23MiB/s ETA [0
[download]  37.3% of   26.44MiB at    1.57MiB/s ETA [0
[download]  38.3% of   26.44MiB at    1.74MiB/s ETA [0
[download]  40.1% of   26.44MiB at    1.83MiB/s ETA [0
[download]  43.9% of   26.44MiB at    1.90MiB/s ETA [0
[download]  51.5% of   26.44MiB at    1.93MiB/s ETA [0
[download]  58.9% of   26.44MiB at    1.77MiB/s ETA [0
[download]  64.6% of   26.44MiB at    1.77MiB/s ETA [0
[download]  71.2% of   26.44MiB at    1.70MiB/s ETA [0
[download]  72.5% of   26.44MiB at    1.70MiB/s ETA [0
[download]  72.5% of   26.44MiB at   76.92KiB/s ETA [0
[download]  72.5% of   26.44MiB at  200.00KiB/s ETA [0
[download]  72.5% of   26.44MiB at  437.50KiB/s ETA [0
[download]  72.5% of   26.44MiB at  833.33KiB/s ETA [0
[download]  72.6% of   26.44MiB at    1.08MiB/s ETA [0
[download]  72.7% of   26.44MiB at 1016.11KiB/s ETA [0
[download]  72.9% of   26.44MiB at    1.28MiB/s ETA [0
[download]  73.4% of   26.44MiB at    1.66MiB/s ETA [0
[download]  74.4% of   26.44MiB at    1.79MiB/s ETA [0
[download]  76.3% of   26.44MiB at    1.85MiB/s ETA [0
[download]  80.0% of   26.44MiB at    1.99MiB/s ETA [0
[download]  87.6% of   26.44MiB at    1.96MiB/s ETA [0
[download]  94.9% of   26.44MiB at    2.03MiB/s ETA [0
[download] 100.0% of   26.44MiB at    2.03MiB/s ETA [0
[download] 100% of   26.44MiB in 00:00:18 at 1.42MiB/s
[debug] Invoking http downloader on "https://rr1---sn-8vq5jvhu1-q5ge.googlevideo
.com/videoplayback?expire=1692654069&ei=lYXjZJ2RDJTlxN8P9aSYsA4&ip=197.250.197.2
9&id=o-AM0qjC91eYCU39Y9dP3-2AG1yhHvLKcvTubYF1NmJhBd&itag=251&source=youtube&requ
iressl=yes&mh=JE&mm=31%2C29&mn=sn-8vq5jvhu1-q5ge%2Csn-hgn7rne7&ms=au%2Crdu&mv=m&
mvi=1&pl=18&initcwndbps=168750&spc=UWF9fwzNca9dH2_trGFaSfvVF20wLKE&vprv=1&svpuc=
1&mime=audio%2Fwebm&gir=yes&clen=1494455&dur=109.901&lmt=1692630670016557&mt=169
2632019&fvip=2&keepalive=yes&fexp=24007246&c=ANDROID&txp=6318224&sparams=expire%
2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cgir%2C
clen%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAMb6kK8MyF-7V2AwL4O43kC3NNiCXiluOm3k7c-Om8pQAiE
AiFWy5HQuwGTVgdn_EbJ9b5kXL1JREipOKIwsHb2Q8FQ%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%
2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgeHhtH2SiYIAw0Nj2vl5-cOlrq0-s3x6vTcSVy0
mixHECIQDR40s0CGDAVc1KTNe19Pu5d28iplIGnTDqMCtKMKGGJw%3D%3D"
[download] Destination: MediaDownloader\working\raw.f251.webm
[download]   0.1% of    1.43MiB at  142.86KiB/s ETA [0
[download]   0.2% of    1.43MiB at  333.33KiB/s ETA [0
[download]   0.5% of    1.43MiB at  700.00KiB/s ETA [0
[download]   1.0% of    1.43MiB at    1.33MiB/s ETA [0
[download]   2.1% of    1.43MiB at  999.98KiB/s ETA [0
[download]   4.3% of    1.43MiB at  999.99KiB/s ETA [0
[download]   8.7% of    1.43MiB at    1.14MiB/s ETA [0
[download]  17.5% of    1.43MiB at    1.64MiB/s ETA [0
[download]  35.0% of    1.43MiB at    1.85MiB/s ETA [0
[download]  70.1% of    1.43MiB at    1.78MiB/s ETA [0
[download] 100.0% of    1.43MiB at    1.82MiB/s ETA [0
[download] 100% of    1.43MiB in 00:00:01 at 1.11MiB/s
[Merger] Merging formats into "MediaDownloader\working\raw.webm"
[debug] ffmpeg command line: "MediaDownloader\redist\ffmpeg\ffmpeg.exe" -y -logl
evel "repeat+info" -i "file:MediaDownloader\working\raw.f302.webm" -i "file:Medi
aDownloader\working\raw.f251.webm" -c copy -map "0:v:0" -map "1:a:0" -movflags "
+faststart" "file:MediaDownloader\working\raw.temp.webm"
Deleting original file MediaDownloader\working\raw.f251.webm (pass -k to keep)
Deleting original file MediaDownloader\working\raw.f302.webm (pass -k to keep)
trimechee commented 1 year ago

Oh very very interesting ! You are absolutely right! sorry and for the delay in answering and thank you so much for your precious help :) 🥇