Alex Shnitman
de7e1418b5
add a missed substitution
2026-02-12 22:16:59 +02:00
Ivan Barsukov
f47e5db284
Refactor output template field substitution logic
2026-02-09 14:49:50 +03:00
Alex Shnitman
76bdb376c3
cont. fix channel / playlist detection logic ( closes #894 )
2026-02-08 18:11:56 +02:00
Alex Shnitman
9896ce6820
fix channel / playlist detection logic ( closes #894 )
2026-02-08 12:14:35 +02:00
Alex Shnitman
79d0c3895e
consolidate adding logic
2026-02-07 17:33:48 +02:00
Adam Fendley
ffe1112dc6
Fix __add_entry parameters; remove duplicated code between channel and playlist processing
2026-02-07 17:30:40 +02:00
Adam Fendley
393add34b1
Add support for downloading an entire channel
2026-02-07 17:30:40 +02:00
Alex Shnitman
9be0781c7f
remove unnecessary DOWNLOAD_MODE config; always run concurrently (can limit to 1 for sequential mode)
2026-01-09 14:33:12 +02:00
Alex Shnitman
e378179e05
remove playlist strict mode (make it always true)
2026-01-09 14:26:50 +02:00
Alex
a74b201ed8
Merge pull request #862 from AlvinRamoutar/task/repair-persistentqueues
...
feature/repair-persistent-queues
2026-01-08 21:29:23 +02:00
AlvinRamoutar
191f17ee38
syntax changes + null logic update for dbm repair
2026-01-05 18:13:42 -05:00
AlvinRamoutar
d799a4a8eb
feature/repair-persistent-queues
2025-12-31 04:25:51 -05:00
Igor Katkov
02480afddf
feat: Use OUTPUT_TEMPLATE_CHAPTER default setting
2025-12-31 00:13:55 -08:00
Igor Katkov
d51f2ce628
feat: Undo bogus formatting changes
2025-12-30 23:33:01 -08:00
Igor Katkov
962929d42d
feat: Implement chapter splitting functionality with UI controls, yt-dlp integration, and chapter file tracking.
2025-12-30 22:07:49 -08:00
Igor Katkov
09a2e95515
fix: Root logger aligns with config.LOGLEVEL
2025-12-30 10:19:30 -08:00
Igor Katkov
d947876a71
fix: pass DEBUG log level to ytdl
2025-12-30 10:01:43 -08:00
Igor Katkov
6ba681a3cd
fix: Moved code to respect loggin level in main.py
2025-12-30 08:45:54 -08:00
Lemon Lam
dae710a339
Suppress download progress update
...
...by sending them to debug
2025-12-26 19:42:09 +08:00
Lemon Lam
318f4f9f21
Convert to LF
2025-12-26 19:30:26 +08:00
Alex Shnitman
ef5a63e599
fix download entry pickle ( closes #827 )
2025-11-16 10:37:38 +02:00
copilot-swe-agent[bot]
ecfc188388
Make ObjectSerializer handle all iterables including generators
...
Co-authored-by: alexta69 <7450369+alexta69@users.noreply.github.com>
2025-10-01 05:59:48 +00:00
copilot-swe-agent[bot]
916ed330dd
Fix AttributeError in ObjectSerializer by checking for __dict__ attribute
...
Co-authored-by: alexta69 <7450369+alexta69@users.noreply.github.com>
2025-10-01 05:46:23 +00:00
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
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
Abdulmohsen
a1e143a5a6
Added support for loading YTDL_OPTIONS from file.
2023-08-13 19:14:58 +03:00
guahki
45ed4c3385
Fix #264 : calculate download dir correctly when deleting files
2023-06-24 20:27:40 +02:00
guahki
3a8bf001dd
Fix issues with deleting files with DELETE_FILE_ON_TRASHCAN
...
Not being able to delete the file should not stop the clearance from the download list.
One error I encountered, is when failed downloads have no dl.info.filename attribute. It was impossible to delete these entries from the "Completed" section.
2023-06-22 22:36:24 +02:00
Rithas K
eead6acbf5
Add default theme option
...
Dark mode can be set as the default theme by setting 'DARK_MODE' environment variable to 'true' in the docker compose file
2023-06-19 16:30:13 +05:30
Alex Shnitman
2a7cf3e775
formatting
2023-05-27 19:14:52 +03:00
breakid
c30173cdc0
Reverted all formatting changes
2023-05-14 00:37:09 -04:00