Commit Graph

161 Commits

Author SHA1 Message Date
Sean Ellingham 27aa865c37 Improve performance of restoring queues on restart 2025-09-27 14:08:19 +01:00
Sean Ellingham cfd464f7be Include auto_start status in add info log 2025-09-26 14:07:08 +01:00
Sean Ellingham 991a0c523a Restore pending downloads on start 2025-09-26 13:28:33 +01:00
xerdream d744f73552 Fix file watching not working due to relative paths 2025-08-13 15:25:07 +08:00
Alex Shnitman 8f36ca910a simplified some logic and improved error handling 2025-07-27 10:03:51 +03:00
xerdream 7f28f17d77 change the reload options file logic 2025-07-25 13:12:32 +08:00
xerdream 91aaa9f425 remove the reload file option and consolidate code 2025-07-22 08:33:11 +08:00
xerdream afbf8b07d6 add the ability to reload 'YTDL_OPTIONS' when file is modified 2025-07-21 11:20:53 +08:00
Alex Shnitman 2a687c92b4 change log level defaults 2025-06-28 12:00:55 +03:00
nixielectra 03be4c6329
add LOGLEVEL and ENABLE_ACCESSLOG env variables 2025-06-28 16:40:38 +08:00
Alex Shnitman d74e8df408 add metube version. closes #83 2025-06-05 20:47:49 +03:00
Alex Shnitman f494c4f6be fix download folder selection dropdown. closes #678 2025-06-05 18:45:36 +03:00
Alex Shnitman b7ef408d5d upgrade to angular 19 2025-06-02 23:16:32 +03:00
backbonemedia 46ed0167cb Exclude custom directories by regex 2025-05-30 20:48:38 +02:00
you-cant-see-me 6f2a6b94e4
Fix download with impersonate 2025-05-27 16:16:37 +01:00
you-cant-see-me cdcb6691b0
Fix impersonate option 2025-05-27 15:56:48 +01:00
Alex cc5f22abf0
Merge pull request #608 from rdiaz738/master
Fixed MAX_CONCURRENT_DOWNLOADS and button styling
2025-03-07 09:47:18 +02:00
rdiaz738 8ea3359730 Fix for 605 and 607 2025-03-06 18:29:06 -08:00
thar c89aa44628
Fix: Restore queue when container restarted
In case the user tries to restart the container with an updated container but an old queue file, the system checks if the object contains the attributes playlist_strict_mode and playlist_item_limit. If they are not present, it sets them to False and 0, respectively.
2025-03-05 17:34:53 -06:00
Alex e281d61773
Merge branch 'master' into master 2025-03-05 19:12:29 +02:00
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 8daa59b61f add yt-dlp version on web 2025-01-24 18:40:58 +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