Commit Graph

140 Commits

Author SHA1 Message Date
rdiaz738 92f5d34ce2 Refactored with feedback 2025-03-04 16:16:19 -08:00
rdiaz738 8d70ed9d36 Updated ui and backend
Added Sequential, limited and concurrent downloading and import export buttons
2025-03-01 17:43:48 -08:00
rdiaz738 4acb48b12a Merge remote-tracking branch 'upstream/master' 2025-03-01 14:07:31 -08:00
PikuZheng a77f10541a add "worst" format 2025-01-15 07:55:38 +08:00
Will Smart 6255e490c7
Adds 'pending' to response for GET /history
Allows for some additional integration opportunities by including "pending" items in the json reponse to /history.
2025-01-11 17:12:06 -05:00
admapop bec65c3705 chore: PR suggestion 2024-12-28 20:41:22 +02:00
admapop 0916c22c06 fix: impersonate property needs to be of the right type and not as it is being passed now via JSON 2024-12-28 17:03:59 +02:00
Peter Copeland 818847a37a fix: provide default value for title when absent 2024-10-01 22:46:56 -06:00
Jean-Francois Simoneau bde077d23a Add the ability to specify a robots.txt file, with a default disallowing the download links 2024-09-22 02:10:36 -04:00
Alex Shnitman 07b0b9caed documentation fixes and HTTPS boolean fix 2024-09-11 19:40:45 +03:00
VergilGao 84ed2c5f00 Add the ability to be configured as an HTTPS service 2024-08-29 14:54:36 +08:00
VergilGao 04e82533c7 Add a supports_reuse_port method to check if the operating system supports reuse port. 2024-08-29 14:21:15 +08:00
Pawel Derehajlo 9675cbe988 fixed: Regression causing playlist output format to be applied to every video 2024-08-21 23:52:38 +02:00
Pawel Derehajlo 301ff92b58 added OUTPUT_TEMPLATE_PLAYLIST variable 2024-08-19 16:31:25 +02:00
Pawel Derehajlo 5b64f2f615 fixed: urls with a video in a playlist were incorrectly downloaded as a whole playlist as single item instead of split by each video 2024-08-18 11:27:15 +02:00
Pawel Derehajlo c675db1ae5 Added Playlist Strict mode and Item limits 2024-08-18 11:07:59 +02:00
evilmonkeydiaz e4fa9723ba Update main.py 2024-08-17 18:02:48 -07:00
evilmonkeydiaz 2097a7adfa Added concurrent and limited modes 2024-08-17 16:09:42 -07:00
evilmonkeydiaz 8552faf9c5 Concurrent downloads 2024-08-17 15:15:53 -07:00
evilmonkeydiaz d2bf4bd385 update class 2024-08-17 14:22:03 -07:00
evilmonkeydiaz 50e67e1459 Update ytdl.py 2024-08-17 13:27:35 -07:00
evilmonkeydiaz 07a2315703 Updated to cocurrent downloads attempt 1 2024-08-17 12:25:12 -07:00
Joel Goguen 41da9fdadd
Add separate quality entry for iOS compatibility
The iOS-compatible video may not be the best quality. Add a separate quality option to accommodate people who want the best available versus the best compatible with iOS's strict requirements.

Testing with https://www.youtube.com/watch?v=YiRMs5ZhcH4 where the best quality video is 2160p and not iOS-compatible.

With best quality, the VP9 video format is used (better quality but not iOS-compatible):

```
% ffprobe -hide_banner Who\ Can\ Find\ the\ Weirdest\ PC\ Parts\ on\ AliExpress?.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Who Can Find the Weirdest PC Parts on AliExpress?.mp4':
Metadata:
major_brand     : isom
minor_version   : 512
compatible_brands: isomiso2mp41
encoder         : Lavf60.16.100
Duration: 00:19:02.72, start: 0.000000, bitrate: 10941 kb/s
Stream #0:0[0x1](und): Video: vp9 (Profile 0) (vp09 / 0x39307076), yuv420p(tv, bt709), 3840x1920, 10805 kb/s, 29.97 fps, 29.97 tbr, 16k tbn (default)
Metadata:
handler_name    : ISO Media file produced by Google Inc. Created on: 06/15/2024.
vendor_id       : [0][0][0][0]
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name    : ISO Media file produced by Google Inc.
vendor_id       : [0][0][0][0]
```

With "Best (iOS)" quality, the H264 video (lower quality but iOS-compatible) is used:

```
% ffprobe -hide_banner Who\ Can\ Find\ the\ Weirdest\ PC\ Parts\ on\ AliExpress?.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Who Can Find the Weirdest PC Parts on AliExpress?.mp4':
Metadata:
major_brand     : isom
minor_version   : 512
compatible_brands: isomiso2avc1mp41
encoder         : Lavf60.16.100
Duration: 00:19:02.72, start: 0.000000, bitrate: 1846 kb/s
Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x960 [SAR 1:1 DAR 2:1], 1710 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)
Metadata:
handler_name    : ISO Media file produced by Google Inc.
vendor_id       : [0][0][0][0]
Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name    : ISO Media file produced by Google Inc.
vendor_id       : [0][0][0][0]
```

Included a README note about the new quality option.
2024-06-15 13:36:04 -04:00
PikuZheng 69c2f310c2 add flac format for audio 2024-06-07 10:35:04 +08:00
Joel Goguen ebbe0ac7aa
Update MP4 format string for iOS compatibility
iOS has strict requirements for video files, requiring h264 or h265 video codec and aac audio codec in MP4 container. This update to the MP4 format string tries to get a fully compatible file first, followed by the right video codec and any M4A audio (audio is much faster to convert if needed), and then falls back to the original behaviour of getting the best available MP4 video and M4A audio.
2024-05-21 08:36:27 -04:00
Alex 63f11fb1ea
Merge pull request #431 from jfsimoneau/no-audio-convert
Don't convert audio if unnecessary
2024-05-02 21:26:27 +03:00
vaaski 3440d0adeb
add `PUBLIC_HOST_AUDIO_URL` 2024-05-02 13:10:41 +02:00
vaaski e89da396cd
add `PUBLIC_HOST_URL` config key 2024-05-02 12:56:52 +02:00
Jean-Francois Simoneau 2142e759aa Don't convert audio if necessary 2024-04-30 14:10:55 -04:00
Alex 06606c7b40
Merge pull request #385 from vkartk/fix-cancel-nonstarted-downloads-383
Fix cancellation & deletion for non-started downloads (#383)
2024-01-26 10:51:48 +02:00
vkartk f9a2a697df Prevent crash on missing filename (status.get) 2024-01-26 14:04:47 +05:30
vkartk 9e9112f7ef Fix cancelling non-started downloads (#383) 2024-01-26 11:06:54 +05:30
vkartk d5e6c8bf98 Backend: Integrate file size calculation and API endpoint (#322) 2024-01-26 09:38:38 +05:30
Jonas Reeb 2f7f72a553 metube-363 Pass paths also when extracting metadata
In some cases, such as when writing thumbnails this call can still cause creation of non-temporary files on disk which should then also be placed in DOWNLOAD_DIR
2024-01-02 11:05:51 +01:00
Philipp Hutterer c90057edc1 chore: move icons to frontend assets 2023-12-30 04:18:46 +01:00
Qiao Wang ab189f8533 Fix the behavior when auto-start option is not explicitly passed 2023-12-13 21:06:39 +08:00
Qiao Wang fcc7a4808e Merge branch 'master' of https://github.com/nodew/metube into auto-start 2023-12-09 12:49:41 +08:00
Qiao Wang 60e810450d Fix 2023-12-09 12:43:10 +08:00
Qiao Wang d12fc37a50 Add auto start option for metube 2023-12-09 12:35:31 +08:00
ArabCoders 2a57447018 Removed default param for error 2023-11-16 20:50:02 +03:00
ArabCoders 9552fb3ca0 report date time correctly. 2023-11-16 16:16:00 +03:00
ArabCoders 74d07f5cb2 Added support for showing when live stream starts as error message. 2023-11-16 15:54:36 +03:00
ArabCoders 72b7447c78 use serializer.encode instead of json.dumps 2023-11-03 15:57:15 +03:00
ArabCoders caca271e19 Fixed code style 2023-11-03 15:23:02 +03:00
ArabCoders fead1f99c7 reverted CRLF to LF changes 2023-11-03 14:16:11 +03:00
ArabCoders 25c44b4da9 Expose done/queue list as json endpoint 2023-11-03 14:02:37 +03:00
Robert Smits c64dda8ca7 Fix theme handling and auto theme
This commit fixes the client side theme selection being overwritten by the backend and adds a selectable auto theming option.
2023-10-01 18:23:11 +02:00
Alex 27def1f670 separated YTDL_OPTIONS_FILE 2023-08-19 21:03:08 +00:00
ArabCoders 207f8fe916 switched logging to DEBUG instead of info. 2023-08-14 05:04:39 +03:00
ArabCoders 01aafe3854 Fixed typo and removed unused import 2023-08-14 04:53:16 +03:00